loop-benchmarking

Controlled experiments across agentic coding configurations. Same task, one variable, what actually works.
git clone https://git.shiptheloop.com/loop-benchmarking.git
Log | Files | Refs | README

commit 8d0ed726f6c4b41847e16603556b64e3d7482bda
parent c83477982174d7a2e8f28ff283b3710b64dc5707
Author: Brian Graham <brian@buildingbetterteams.de>
Date:   Sat,  4 Apr 2026 07:06:39 +0200

Clean 26 more bad runs (timeouts + null cost), 67 good remain

Most sonnet runs hit the 600s timeout. May need higher timeout for
larger models. 54 haiku, 10 sonnet, 3 opus remain.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Diffstat:
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json | 951-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json | 18------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json | 951-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json | 18------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json | 951-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json | 18------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json | 920-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json | 19-------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json | 920-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json | 19-------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json | 920-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json | 19-------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json | 20--------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json | 984-------------------------------------------------------------------------------
Ddashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json | 20--------------------
Mresults/index.jsonl | 26--------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl | 10----------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl | 7-------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/transcript.jsonl | 8--------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl | 4----
Dresults/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json | 2--
Dresults/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log | 0
Dresults/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json | 46----------------------------------------------
Dresults/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json | 31-------------------------------
Dresults/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl | 4----
183 files changed, 0 insertions(+), 28001 deletions(-)

diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json @@ -1,951 +0,0 @@ -{ - "name": "loop-bench-u95nhqka", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-u95nhqka", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "eslint": "^10.2.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json @@ -1,18 +0,0 @@ -{ - "name": "loop-bench-u95nhqka", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "eslint": "^10.2.0" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json @@ -1,951 +0,0 @@ -{ - "name": "loop-bench-dpqltrq1", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-dpqltrq1", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "eslint": "^10.2.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json @@ -1,18 +0,0 @@ -{ - "name": "loop-bench-dpqltrq1", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "eslint": "^10.2.0" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json @@ -1,951 +0,0 @@ -{ - "name": "loop-bench-tz0nkerr", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-tz0nkerr", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "eslint": "^10.2.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json @@ -1,18 +0,0 @@ -{ - "name": "loop-bench-tz0nkerr", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "eslint": "^10.2.0" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-s5qf4111", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-s5qf4111", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-s5qf4111", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-b2ydasef", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-b2ydasef", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-b2ydasef", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json @@ -1,920 +0,0 @@ -{ - "name": "loop-bench-tocz7fbo", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-tocz7fbo", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json @@ -1,19 +0,0 @@ -{ - "name": "loop-bench-tocz7fbo", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json @@ -1,920 +0,0 @@ -{ - "name": "loop-bench-hdjudlgn", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-hdjudlgn", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json @@ -1,19 +0,0 @@ -{ - "name": "loop-bench-hdjudlgn", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json @@ -1,920 +0,0 @@ -{ - "name": "loop-bench-jczkdhl7", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-jczkdhl7", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json @@ -1,19 +0,0 @@ -{ - "name": "loop-bench-jczkdhl7", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-q166vcmi", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-q166vcmi", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-q166vcmi", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-0rfl4qr4", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-0rfl4qr4", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-0rfl4qr4", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-2fkp8xky", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-2fkp8xky", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-2fkp8xky", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-wqm0casj", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-wqm0casj", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-wqm0casj", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-7h1kp93n", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-7h1kp93n", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-7h1kp93n", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-5xg4xitj", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-5xg4xitj", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-5xg4xitj", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-fzndjvgb", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-fzndjvgb", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-fzndjvgb", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-q9v5p087", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-q9v5p087", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-q9v5p087", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-jws1b2du", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-jws1b2du", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-jws1b2du", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-g82l3q6_", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-g82l3q6_", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-g82l3q6_", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-ibfz5vun", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-ibfz5vun", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-ibfz5vun", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-vcqnhbj_", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-vcqnhbj_", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-vcqnhbj_", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-t8g9c9gl", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-t8g9c9gl", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-t8g9c9gl", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-8hgrn2w1", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-8hgrn2w1", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.1.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.3", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.3.tgz", - "integrity": "sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.3", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.3.tgz", - "integrity": "sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.1.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.1.1.tgz", - "integrity": "sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.3.tgz", - "integrity": "sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.6.1.tgz", - "integrity": "sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.1.1", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.1.0.tgz", - "integrity": "sha512-S9jlY/ELKEUwwQnqWDO+f+m6sercqOPSqXM5Go94l7DOmxHVDgmSFGWEzeE/gwgTAr0W103BWt0QLe/7mabIvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.3", - "@eslint/config-helpers": "^0.5.3", - "@eslint/core": "^1.1.1", - "@eslint/plugin-kit": "^0.6.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-8hgrn2w1", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.1.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-d5an9mg6", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-d5an9mg6", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.1.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.3", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.3.tgz", - "integrity": "sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.3", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.3.tgz", - "integrity": "sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.1.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.1.1.tgz", - "integrity": "sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.3.tgz", - "integrity": "sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.6.1.tgz", - "integrity": "sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.1.1", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.1.0.tgz", - "integrity": "sha512-S9jlY/ELKEUwwQnqWDO+f+m6sercqOPSqXM5Go94l7DOmxHVDgmSFGWEzeE/gwgTAr0W103BWt0QLe/7mabIvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.3", - "@eslint/config-helpers": "^0.5.3", - "@eslint/core": "^1.1.1", - "@eslint/plugin-kit": "^0.6.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-d5an9mg6", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.1.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-fp5393e8", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-fp5393e8", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-fp5393e8", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-2orr26l3", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-2orr26l3", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-2orr26l3", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json b/dashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package-lock.json @@ -1,984 +0,0 @@ -{ - "name": "loop-bench-rgwj6aig", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "loop-bench-rgwj6aig", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.4", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/dashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json b/dashboard/public/artifacts/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/package.json @@ -1,20 +0,0 @@ -{ - "name": "loop-bench-rgwj6aig", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.59.1", - "@types/node": "^25.5.2", - "eslint": "^10.2.0", - "typescript": "^6.0.2" - } -} diff --git a/results/index.jsonl b/results/index.jsonl @@ -1,17 +1,12 @@ {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:59:11.076296+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:59:32.351290+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:59:55.659323+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:01:22.960435+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:01:38.211194+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:02:20.474376+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=off_prompt_style=simple_sub_agents=off_tool_edit=off_tool_glob=off_tool_grep=off_tool_read=off_tool_write=off_web_search=off_run1","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=off_prompt_style=simple_sub_agents=off_tool_edit=off_tool_glob=off_tool_grep=off_tool_read=off_tool_write=off_web_search=off","completed_at":"2026-04-03T18:37:03.014208+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=off_prompt_style=simple_sub_agents=off_tool_edit=off_tool_glob=off_tool_grep=off_tool_read=off_tool_write=off_web_search=off_run2","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=off_prompt_style=simple_sub_agents=off_tool_edit=off_tool_glob=off_tool_grep=off_tool_read=off_tool_write=off_web_search=off","completed_at":"2026-04-03T18:37:23.108082+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=off_prompt_style=simple_sub_agents=off_tool_edit=off_tool_glob=off_tool_grep=off_tool_read=off_tool_write=off_web_search=off_run3","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=off_prompt_style=simple_sub_agents=off_tool_edit=off_tool_glob=off_tool_grep=off_tool_read=off_tool_write=off_web_search=off","completed_at":"2026-04-03T18:41:13.333121+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:37:10.970114+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:37:09.900301+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:35:10.729588+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:31:35.705261+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:32:02.085722+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:31:35.009646+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=high_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=high_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:46:26.400041+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=high_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=high_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:44:48.686432+00:00"} @@ -49,41 +44,20 @@ {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=opus_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"opus","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=opus_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:24:54.853923+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=opus_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"opus","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=opus_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:46:58.211270+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=opus_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"opus","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=opus_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:45:56.829277+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:36:57.965293+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:38:36.614615+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:39:18.256711+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=detailed_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=detailed_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:51:19.154372+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=detailed_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=detailed_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:51:31.823472+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=detailed_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=detailed_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:54:35.253518+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:20:23.911991+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:21:26.670398+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:21:32.082037+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:18:27.572349+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:21:57.888292+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:26:54.133900+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:28:34.152770+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:26:24.350727+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:29:16.067530+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on","completed_at":"2026-04-03T21:10:19.697934+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on","completed_at":"2026-04-03T21:11:22.363143+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on","completed_at":"2026-04-03T21:11:27.432923+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on","completed_at":"2026-04-03T21:11:44.033905+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on","completed_at":"2026-04-03T21:11:53.416864+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on","completed_at":"2026-04-03T21:16:47.978494+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:22:43.329250+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:24:34.794844+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:26:49.884606+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:03:41.571216+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:05:07.170256+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:09:11.887288+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:00:13.805001+00:00"} {"run_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:01:15.715313+00:00"} -{"run_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T21:06:41.324051+00:00"} {"run_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:50:12.863462+00:00"} {"run_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:52:07.304632+00:00"} {"run_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"haiku","cell_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T19:54:56.953646+00:00"} -{"run_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:56:35.380863+00:00"} -{"run_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:56:35.910351+00:00"} {"run_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3","task":"tetris","model":"sonnet","cell_id":"tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T20:52:15.455125+00:00"} {"run_id":"tetris_context_file=provided_effort=high_human_language=en_language=typescript_linter=on_max_budget=high_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1","task":"tetris","model":"haiku","cell_id":"tetris_context_file=provided_effort=high_human_language=en_language=typescript_linter=on_max_budget=high_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T18:49:38.321463+00:00"} {"run_id":"tetris_context_file=provided_effort=high_human_language=en_language=typescript_linter=on_max_budget=high_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2","task":"tetris","model":"haiku","cell_id":"tetris_context_file=provided_effort=high_human_language=en_language=typescript_linter=on_max_budget=high_model=haiku_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on","completed_at":"2026-04-03T18:49:48.529132+00:00"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_019ggpJ4WMFXaCfgrvkDr3R4","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in a browser using JavaScript. I'll create a complete, self-contained HTML file with all the Tetris mechanics. Let me plan the implementation:\n\n1. **Game Board**: 10x20 grid (standard Tetris)\n2. **Pieces (Tetrominoes)**: I, O, T, S, Z, J, L pieces\n3. **Mechanics**:\n - Piece rotation (with wall kicks)\n - Line clearing\n - Scoring (standard Tetris scoring)\n - Increasing speed (faster as levels increase)\n\n\n4. **Controls**: Arrow keys for movement and rotation, space for hard drop\n5. **Features**: Next piece preview, score/level/lines display, game over screen, start/pause functionality\n\nNow I'm building the complete HTML file with a dark background, colorful pieces, clean UI, and ghost piece visualization.\n\nI'm defining the standard Tetris pieces with their colors and shapes, then setting up the scoring system where clearing lines gives points multiplied by the current level, with speed increasing every 10 lines cleared.\n\nWriting the game implementation... Writing the full Tetris implementation... Still writing styles... Writing the sidebar panels... Writing the Tetris game code... I'm refining the architecture—I'll use a single numeric grid where each cell stores a color index, with the current piece tracking its shape, position, and color separately. My implementation will handle rotation with wall kicks for collision recovery, use requestAnimationFrame for smooth gameplay, calculate ghost pieces to show where pieces will land, clear completed lines and drop remaining rows, and apply standard Tetris scoring with difficulty increasing every 10 lines.\n\nWriting the complete implementation...\n\nImplementing rotation and collision detection logic...\n\nNow I'm thinking about wall kicks—those offset adjustments that let pieces slide into position when they'd normally collide. I could use the standard SRS (Super Rotation System) kicks with different patterns for I-pieces versus other pieces, but for a simpler implementation I'll just stick with basic rotation without the fancy kick mechanics.\n\nLet me put together the complete HTML file now with all the features: a dark neon-styled interface, ghost piece preview, hold and next piece displays, score tracking, smooth animations, start and game over screens, pause functionality, and full keyboard controls.\n\nWriting the complete Tetris game... Writing game mechanics... Defining the piece shapes... Writing the complete HTML and CSS... Still writing styles... Still writing styles... Building the Tetris game interface... Building the game interface... Defining the piece shapes and colors... Still writing game constants... Setting up the game state variables to track the board, current and next pieces, score, level, and game status, then defining a piece factory function that creates tetromino objects with their shape, color, and starting position...\n\nFinishing the piece creation logic and adding a random piece generator, then implementing a matrix rotation function that handles piece rotations by transposing and flipping the shape array.\n\nNow I'm working on the rotation handler that takes a piece and applies either clockwise or counterclockwise rotation...","signature":"EvauAQpbCAwYAipA8y01ZQdjnR+3WppKhDyxEJ5oTPBFR5djVBBDOiaiv03ODj+Ao0cPSiX+x3rPJu1qjOHA77fRlgk3TlsB++44rDIRY2xhdWRlLXNvbm5ldC00LTY4ABIMrdZl34yHt3iLOitXGgwl9+KjfPyxlVfYqXEiMC++72F3fDSVW4lK0NneCifG45IYDQkliQnK6KDPR77AP/B/0eET/RNxm3ROhFWhGSrHrQGSzElyIb8kTcQ30ApR3ip6rPV5jj2Q0SVFAcmf1g+02ZoAN7x7Gc8u/yS9bNyzcJDFuBXNewvAdkqPcb3sNxRW49gZ8ZfsAZZJ1yaQFQBB0sTtEqpahzeea8gO01aiAytBAceUvCBkfgSIimp6VV3uVb6e+a1Flr6LHabkXzxNOv0irwH0NbxuZgXV8NMuXrmM0IOnR+nA3mnS1PVQSEhvhLzR4Bb1YtWjgECo2b0MNOJtvcCnbYqNrPej4mPWHZC15uEKTyHMTaDYDFROjC6lgJWjiE78qQqwPAMsWZYybnBvV8SaJB2U/0k5rC7Cg6q4ZwxucW0g7J4o7I+idrxCypCpzERMJED8LikRabWTwTPg//k5mSFQBdHQBjwJsQro42ThKAot3UDk1YoGDVvgWCh0eddNxwcxj+kZzli/3NuLqngBce+DjYntiXRG70aM3jDVT1actZ/UBDzLYhF335YmmPF86j8SLAuuXF4BDO3lsBrFTBkRFn9oDX5jUvfWPp5xdQc88WNrORh4Y33YBX0kzh9sYJwcrdPGrYcKjC9KR6x/bIIbMgtsMQF72ziSOovgxVUx4OSVzsEouw5wqJ0CZX6j0hWRD28ShO/rlDi5Kerr6wPzVJswOSQtZWnhc2AFmAOsLR347j7XWgkWkdcOIbFcK1mVT2JuuoFI+btfmStdf8cuTdVSXlp8AiNgpCUsW++FUNVT3bFAJaG38sdXTnF8f3DPZ6BJqUhhXrf0ffHIjj7741kDMPVcXfYmXyQU3cLh1kMvbJCmfMXibDXb1IK+q+xDKRKy+xouxhl64OWapQcQ1EkJuQ8sDX1qi6lIZ01woHpmUiFdLgB1E64e9ZuNhsDVaIbKAcsfVeAXxkUMFstmAJi6M56RfqjV9Scb7AT9EXkVnYoaeXgN44UkdUaeJLpakWdJN4x1bxpK2iOI9vUvrAh/+ShU9yjKMswf90uUE5IHwJfJbGRRmdxAnqULlf0EdTHETUuVurgOYfjPubRPrL/5nxXn2bxvRSwlsLD3M4+OSYSOaVgNxi53VxMJjXfiBL6aePAg3nZacEwEBdLhDbEAnF/rmih3qrnAwmmflbV4HRk94jdgsItaPZUhyv0eKpC7nJOgN1LMkkTfuyuDTOH4qVqrfsoyuZIZUwDlap6VhzfLceI5J0LUFy0x6Dd+CSOMDiIQDywj74tUnG1tuD67u+Vcjr12AHqL7dIgBPwFExICSRKdB9b4A1q+6YQH4Sk5Jv3WeiHyDsRVNCmEb7Lqykrp2wtSdwVl0dcBthTwINNOJLCrnrPiBMHf986QyKuD1avEgmLWOtYst+HVmc5HVVZB/9Y/0czr6tkoTCK4k+Uh/BbyGz/WfT5xIdjrt6xaepQqpa+LkLuLXFHyQi3dKyhx+1YNo7b7T3XyHtoG2jiOWJEen9RDfp8xkkCDFM4kZ9KGQiMqS7juqtPgEbCiF99+wyuLJdc2GcL9gjucJrpCMORsuTZWHChamxK4LWy2ES/JSBe9ucJZ08xJjoM+l2PkqacowQfLIIf6N7fPqFzAQOZE6GWmxoKiU6gP4ComdNq64H+sDrKWXe/HCBQ/ZMMDjUk3EMw8FdYZPeaiV33EYAnZcT3SztErU4Uokg+0SY7dQBwLLsr7zauuUBKw92eEPdoyebjEe6vQQYbKoM3e0j7CEF8T9v7UVPauhnCNN+hjCcVJhf5EQpu7p5hYEHom7gk372nAlET6BSeQuoRcOEbSvNfMSyq3cFrEgDhD3lZzgOXbEAXCaEUpF7bGXEfEXmhmpEjZXHzRfk52VRUPmZqAZAD41+CMDQbd0rHhhOPR9aBy1k9pLUewRVnfDzyNvplt169SGgvPz6vCIbHjXe8WiQyyX49L29qbUywnd90tb9hTuDvlC9Hgk7ii2TYZPvWFP7s3++5SxrzFcACioazfUAqZLJxLVOwSKR8yYgVIPUYzXfQaVPJ2T+1ph0/MHqmDCQYve1uABkOkHT5gvyGg8/TqnDk1laQLcmbD2t25xLWwpJt8Xlhg6w64M4KHBlE2JlK4+upfX1kQkqTNIssWr721GuhOm+EKXvw7XICdvLvskuvXJj2GC/lChKsccTFxNsjE2fUCjT7MBON41h84RrnVC4uSG2sQaEgD5/wL5EzYWfV8jELNbWYUxtJkKP4I397pvfLF6ITQFmaXuo8KW5XpfsZ7bov8vJYZnJwFVfnLvZa8mXzZJ19LsH9CAbgKTizbB2hVfTi3zk0EIeFRXW5mplonkiabQX1gyJtou0wBiiPHDNZBvZcCai67oYO5kTjgVLIuIrqbloyWi3XaoAI2f4y7wCi3Et47a5ytofCkKiEQAVz/G04RxY3vabWerTBIDZZ91iQ1oqJ45qrDTdz/kSzKlStjvMAVj/POx9Mbp6wn3QMEAQwHhCeyecbQx4q1ICF9HSLVYECmEBVn1Kgl2CJGgDTiJpBeGG3VcIttfAGBvQ/kYaiyryyL3/fum7MdRbfFGUeD0ZdLCvMg+AuxIYoyrtEk3zROzjMfNkUqn4t05ZSqDzSv1V4WU1gP8nS4FR+TCaMRzAlSp5EezC+6q2eNI+FRKMGPQ/fl2l8D9ucgAX2xr2k6AxrrSd6stjrnUlNeWKWEiHjH1kPKMwK0PLn9H9hE96EoMPONUy3hJ4oGPz0sx44TG7eht8xa07kAZQNsxkN/IxiuQQEGPEK67eIPdfJnx1cEsEVca//hC1qUPtCLtgnd3ZQ/HVhMuffW0qULGlMQmPq2Lgti/N42V/PA3h5OEQiPHMqnenuTs0Qlw3EtBZhS8NLhpSJA9+CTc0zno41pcDl48Se9+rSkyVwkWXHDfjFsxSQf/V4v2T974OvuAnEz+PQr9DMauRo8k4bKUKiHbeNt1zf8jTht1AKlxuNn8P9pyHvWFhqB8Bi1B/skxzxU1XZajdflAxvfzY2oKTD3wAMGnbNz6PemwsT8RX4uesuhvlFSrh2/K8fUYWd0FUHgI0XrODg+A08p28kyciOAYgHz8/TmNhmgMfbmYOp+UhdDh3IvE1OoZ/jPmM5Ik7NYpRpcVB6pYZrdUbIyTx/kOTGeOJDl5A+tCRiE1YG7nFJJgtm23VeijFuEM65jKSQVywzicVeaG4U2DyQROEAwdkrRYnCP6H+K35PuGasA/+hK9VGL2+IcpsxJ50GanpfN9ZhnMFe/Gwt48PyfBiy4HtWP4UrpUty9qu1rEVRDlbHG2hLQGm6wRs49UsCcVQjQjeya5XoQzraNtnFpt+sQEzz3V7yVJ/08A/DNTuVwWbPDy9s/+89Se0LnUYbiK3bz6QCyw0i5AXGRvlw84VMYNk2CkeT1fazeUkLZQ2JO9ktE+4XW4gOGtvNVaegHmpMmy64xaYmQeDeULozvfh7I2G96ghbHQbuH+CtdsE4SY8MdzKQp7nHGFTTZzkwQh09jz4ontmu7Mzkpva7SgvE17Ihz0KhUHu2j2EwMzLJG2UT+kjy6lgbLkGy22WHiu0uhcqfc+O4wclWJZTYz3xSUUOQvSACFLdwX84K7FvTbVWcNnvtp0huASZ20DdpkXMHAELOV/kYd5EYx2f+j2jf44Tkfpa7em7shS3UWhRTy2gjjFOAyaiTHwPkcEngKRjXjzycflzONqcyqHXsDcPXde+SWxajo1Zgiu8LvUIgwvD8ILomN0zPWRjgE9x/QOUMhY4yosbn5WisyIDR/gAcd8iUda6SOZVylCSABLcxxiHfv6KsRxWzZc0MRWwDVKmeazn+hctfQh1jk66WHPHBnaKPFrJXsQUIFEsRrPfEKZiqvpvRrgvaxTWmRbmHdIQN2pwZDGhmlOBlcjyNrvB0kO0bT/UeH0TDZxgu4rNG7t1oKJHQnJsLlAj62WHIIWInl3p1xRBoWwnebX2vJ1i7D2aKsCJGgyt+KDbL6aTu9Iu7MfmDkT2cI7zTnqBWlbt8m5qv6yONPvr2+pT6M5Be28B8nDkKrdQO3J2Ygyc5T2yEbT+bv4MeiPEoFQ9Qa7H/0ppnGPERiFXG8S1JtThQs9uC/ILOZRHagRwGdw6ghu00xZ3IVWB0uV4p3ev1aYKDrgdKp1cJgbafL1pQYWmOvWFH/ehUwjKJNDqt5AZnZZlFrKzt5FxygA3y4TClR2SXK8AbzIEC0lxp0c4z0mz4ebKhgQVTYYJ/MMZdQ2yEQghUzwWZb+T/hMfvCGBXo3yazvGVMC60Aofm+kcfOFiOT1wwdqBeYSD2v5yZ9DFnZm2MpuP9upUNms9ATfEk5o2v5PRLkAKgdLIOKYbNYvuQS40FY1pGCSo2bskKIYdlOxxxQ6Uit72f1/QO+MxvHcwuxraevbJ8eh++rg5m5XqLswdhQ01Vxz4nRn9YlYYYDKxQwJaQGWcWe5GG1qkpkF8XSGfqhbpANMowWIqBmg8zs498OtWJtaf0wvlC0H7hSCsIA5ARRHY7VMBfDk5PyGJ32hgC5N7/uBfKzEFRC66Qk2IS4OWwov3QZ+8GVUBG0PGDipYfraBLPvkbvNoQl8SSPK29RWcwTLgNChAPCIySeE+5pTSIuQ/hrRRWcVNhGWnZ4EuLXjBwsI1fzIj2fagICFavowm77XtsWEv0f46Xg6mPCu5hJ6PLXsUCd955XYKquDYQnFAdY5u2YxIzSv/8/3debs1qR7Jm80g/YojCgCsp7nn57inDEzeuTVXZfe8YhN6Rh/Gd5q4/WxRnukHuBuYpj2QtN1661kS4yFDi11BK9vf1gYfAsCQsYMuobCdqqpN7QBSGCCdj19Fpiwyfd7MQdcnLUN2hKYKuFa11g2vBcPg8cdOmmfXqRZ0KWpGSPhmM1bk5wOojjYIlJoCmrG3NhekFv2fbKdMjKH6zjSLgjROUX3m7fHtVvP3CcHeaiv10nx1iipE/LKTuYXkqWoJn5xDx6sy+Awz4zyClmOUgTrjRzoRQ5dCK8GvMnYnWd6eH6gW05AH21ihJG2m5rnYDnNb/3bFFi1awMQJTGACg8UYlte6qmL8pVTzagauRam1kdPfPkPHJCIdqVKHlPOIOsXtSVD+zdicyDofW93rX75QzUsikg174V7GMpsI27bBaLOMTyuyDLCWJjV6C26GOoaxUHG/+xJgrMU66Lb6KAmy1RkMVcG8tv1+6ApF+ccSWsZEMxFTy57YUzHi2Ryi4jRJZxONhmFKdonAoYp4ctelquz0XFQ1cAcMgU8Up7uYUAcl6CQV+VD8IZmXrMToZwwXvtv8da6ZEblUCE43A1zrct2HGXy6Bqaxf72sXOmHVJo+B1OnGwVFA4X+RiKa+QujGxbWH+LE7m9+aq/T3YOHmLGE8g9lkPaQXZuNL2bXchBvvE3YLkf35lJZ8WX6aRJWe7Ug1SeENXuZNlQESifEVe4VkxJrSr9zNLkCJf8UDsCKw67haVi4PTtVJAuPQVHjOLLBoQTtO0EtRP0J4WpVjhb3Ek4QgGbI816ZH+I+DLhEyE7u9CyhCwnmt8gLfWAxvdIlUou71iWmcCCxq2B2NCj3e+NTi8F9hj3qe1Tp1+PsgkoqkUPX7r0Qrkvbf085tQwx1IcftrHB0EnQn5oExW94Q4mPPSSmuNQbiLp04bWzlN5e8WlsPBtRQrTgAoDC/zNZi5Kl07oQsRa1FvRXiS5Cp+r8w6OEbvdDJbvQRhNj+oDGa4EgIEMnIyqlWzJ7wt4zkxq79K3plJ2fkbtSQ7xoYzLeF5V9BxsUO+xQu6mIrXL7DiV+eYahWexa/DyPFah1zxZHAwexPQjScyiXeK0ijvrjm712RDHdUGBvedtkeUNRLKIN8lGfe2MhSAXVLpuSqu8gzDT0/lg+AO/Tqq12Ux+7V2pWRWLutN6vGu/EjcChL3gaw9JBb9CNTPTWu62i9gQVI18hjEf9sDiP8yV3HYoKv3TRIGqKZDcE2yfUr1ysiAyiEOEAaqsvzwS+XCf7qG/QSP8eZkJjpcuoeB1MN6D5hG0OxCkT+QsRhpU/5/OQEhs3YUEm72b7oIvO+TBnXOumONf/qhmkeuoON3Krllq/U4lc2A+p+zKjcfoHcls7VNa3evyoSScyMIVxQxLfE4KNZFEZLzGOd/piYbFureV8uxrAysmKMizqEqqkIUjTPKEuPG2MQyUHsQPgaVw3e22RqmERk8qQiMBq74KtKE9cDJcgyxEWgKR5/DONXvYeK8FNDo3dfAfyaiXGWQgAgq4LDXNWGqSPDAyO9s6MoVi1XhTlUXSXBb5Alzd1b6ou3fYZy6zMH1w3mRaQZ+2oTI9HFaFyCWS4EjoBsx67mqrbigzcvXXMNJBbki4xwHXjbptMfo4eXLRJ5AnRwjTkuTTNP1tLdUEkjcWsAMpTX4+/RvXmvCbi0BykzyZiiLThm/E750xv6XKnsf3DqecyUEEU4nxF3VkpM8lF7pLhpvEP0xERUb/SIhURB4BndtYNIfKexHmHAQ9h4YbuTCkN/nqxvASYdDZHriREY8N/dLI+IRMDTxownPvo5L84BG8AqKCrkeL4fJb8MibqyctWbLlWWooU9+mT9CLMtaV7r9NMwA7lLWi9Vh5IoAaUsgtdyrA9n/WfuMQodvcTrOUhVvzmLLE5KFSRISSISjB+sFKAcv0SzqnEH0FAepaydOqFHamOeg3dVztzBflwgJ4jp1H635BYI+nqSpo88tlPoH3ReErX+uh+AipPWSQbPEkiS+EPCMwDIMSWkx1w7JQ9YWxIN7r13kzqxm5qZJVcuNLM13FI7EuRgmqOdfZa3lgvhJubkn5+qJFZl7FM4+8vONJB2Eg939jaEUvaM9HPLWf05bA2+LOru0w/23k+Ce0MVYKk0Wjt/Mi4xYePkuKJTIW5sHXkVeABox4OjFvcaoGJCshazqITt6njiy1Cex9SZ7Y6x//zLT0sqTW8eYMShNqwJAEpEEA8/kwYPaKq5jUDMXimGP05XdRTqeBTf9fxM5yPYQLxdnH8JT64t3Cu6hix7Pg9BqYvyB5g457FHjKOcXgWxQKAfWH0dKdQ3gN6kJqnR3BbXu9GuWG370SKpWDRfKy63tEgEC3g/LNJn+Q2waBqcYiVhUValfhMZFIEQpA10cMqumjnRBGSPF5YPRvXDtazpVGWnbmrDuop+fxs6EBeFaezKLxLC9w9xuuIxZu3ip1xFVKw0QF1UuOCXt3Q43cHfhx5l4LHrq9m7EwAM5RObkkd9gcTDP9kQ0bZc/WljyQb+29dRhdyYvy8EQQfzEP8VV8nxXx19xZYCADMYPPBNBiX0YiSXbTdTDhBgy8R0piFGkNRQo1Fyt7V92uw3yjEYwOYWsHeShys+kLFnKQy5U82tq8vr55qGBKMEJvhjmElYXpTlaf7MnW9VFgH7j5s1FKJl3wxB8F8B8UBJm7O9fpOsRGSBfvdQA204SlBpcgyB+nKQQmRA0B3YGXW22Rz7SumMNVig2fZJDTWSe4VmIolsd/j47lYwJMy+i16nQc9OlqaRqHQV7nC3QzGYo4yUcI9UyJS+g0RmWFVYV0IHhnjqrZgIv7M+cYFFEb597bl97FsodWFONomRGcf8BfaFrvwlGShQCJM3oZh3Srvk4ZzqxF8f0HeJJpt+AQhfV2Ku1Nd70U2SEFYvAy/xDkcAgnq2ktRUNTrRPWjdXhFbX/l81kq1L7OSchoRv+/ZPMQlKW/5RDxZl6JMBiAsYqTI/Mj9IGuVGe9oTgDeWcL/6dFmxBSfRyEu+Vss12AXDS+T2LWi7ik3YiDi0usnlbX86cUUzl2D5kP3ir8B9jWFJp4IN3WQGi6FCgyjxNKVo8jzjZw0iLhb2sPI5Slj9h98zvy0VsP+APiS2JUa4U6s+RTlzzFlyCWNKP4FLK2Gbyr8NoO1BJ6gLyutkmzFE7j9euXu4RPNv2e9WD8HGN9AUcINecBJmUEVDCbDh+x1JXb/93zrDBhXfRZvY75Eg7avfMRSBNzrhc3P7lHlR2K9mWwvSSUPKRo1+YueOHz/UQ9VEO9IXfkwNH3gT+iOZ1o8fGwp5J1d2N+UKO6wgex3/CVvE7vz8/P4f5vb1Kkf4X4UpzLYmlYpj+pvLndIjFtpJ+jRnJhEzyGiquNbNpWABfYqUB9pPfsaql5+Xq22gxfSSlS5PdtsFbDZSjDg9qO2xm8ZlQTXKa612LK5zVUmFxUZ+d8xSKkp4YgYPOp+wxPixXEiuWPYJu/s/R3hdlW5H1fSeVEBxATsysfBK95vIho/RgDE+BEb9M4I5wLGdefNJo6vXgud1Ut2VURxSeIb4aPEXOXh+l+J/zr1qMZ4c5+PuoypCs88u6heifvuagEYAj0I6nS+ROw8kU7e+qHZE0z1xOJpTfD9xZigdjyK4FNaXvIrjwPdd6Tp1CQhfPvpRZr64oU8hEyPegytlSV7od9IwrO4/FZX6L1+KE6IzO/oHT/h/lj+/4WfygbNq4iImYF9ByrE7V3VaJ60Ds1UCu7ZN2bzxZXfcFaA4iu/D8zp0NA3BMgGhdZyGGfiSO0v2qGvmoD74Sh6zowyai1X4JYn5MCyp+aNfyBpMP5DAXqFJpSiO9ulCPBwCfhyOzwIKreJmwU1aCqcA7w67mxF46CPzJ1mv0nDrQ9lirpTai4LbgtU7ABxhrGBz7u+vRpt/3WJ0Ym0Qzj2bolpbAQFisyAQ7h4P2vtHxUsotNcSq4LzaHsolmFl2cLHjTaIxk37j8hSJZE5gJpY1iVdV4VZjFFBT7U/+lcoV9PSc381kDh410BVWpXPXpZMC/iQ0leRvEuJg6GdAXYCO4bWUO0NbEutXc0/b9wNyvLhJxpHfw/2S0m74y+1dFdVKuw70M45qyh8iZxyw1SACTQ9jMA388YFFeyjlc+0Y9M6v5+5x55HvSAGb0kOa/MupQVeJWntPjXzcVy7pWZWNKcJxUBlYLEcC5RLBSncdi2EyFjbykC2moeI+4urBIKQPt98hqbsXibaANV9H9jm+tgGPLasj49C3FnKkr6Kh9HQUbNHDdYXURalofx2mm7DBhkyZioafrXCTUK31i9URPgN4uMOUkE4xKVRT9fXqmGLeZGcQd+23mr59rDlnQXDIgaMcnyk6kCCAKiq5TpS3uUrZcHP47iWqjlfxXvKjmhmsG0ke5wAVmD4ohahsXf3FHIddNzKZ4VLjqDIcWhPLMYPJ/h699/7XT0AQ1aAjuDljdXadilIfVDewOn9JT3A6qV6nU5PvYPXUEwPkB5L/ZrBARt8xW6Ig3UCsnf/kYmJTvwf8DDXqfpddiDSSpQ0MEfQ2vhTBf/tBUaKLpqAKcDpTTw4h4Ot+hF7+z/r38RMFXKgaxR0ti0QDhx3YA8MwOXMsA3kHNvwRP2ilDbqlxrZhlBcWLBns31nIQXjpl2x0jEFsxNmTvBxfStcJ/Z7Mo7/mi1FKtgBksYexMX7i1eDOE74lqlBtL+KVyFW4upCxqdrgyHNOFQ59ntLFq9Bs9k84z928qGUK43lgAEwhCB3EUzxZDBiZA5Dh0cLhTqJ863yuDhXWv//QyDjFGKUKw/AjL2p/QhNEWHdGTVK7h4V3Fl89zRFy1ZVN5opJn7Aun+dTTUgW8GiB8Nlb5pdw/m+zkiFYfuNF1crmuvlO7IVLah+7klZ4ar4+dO8db/OZOkKmRdyWkLLdPnWZmtqMmrtG6OYZfMP0GKZZxvEDUAaWZEUh85K1AKaG0UBNvaJRyVy6j63OYytnCcpTJTh7YLcjxns4LprCgzyN8vkWsRF78Ct5db5TOjNOSWq1pfRgxAuN/tgKoNBjbrW4R7+LlUv4nY6xFM87no2dwJcdp+OooW6iZ2Ze3aPOA3k7E+C2A6ufnO5R8qynowWEDZvhqBSGcCBT9ZUi1lRrcZB0XjiwttADnLo4vZB1oWeK11ylaHMMoDYf0/LANqx8XtYmCvIoP0t2EqZ6dCmx/UawZTTGYZC+t/Pd1fmxDKuh8/TriJsN1pEtNcn5GlnFl3fe/8xp77y4/v0eNiFyzugnMXyn40a3EaHqEhhhJFbfnF/0M1fpfICBlRy+PJs10biQJhfYPQgD3+qu8wZv0wgrPXA32hKNOnA4MQrAy/xe0KFNKYWQ01bGWuVW2OoXJ1ywQWe7F8kS5j1fUfq/7C84e/WEKJ6v4Jm5Pw7OvsDMXVi/tDJ5vx101urux0bKA8y6kWauTsRT80N5bKCPL6aS2Y5ds2ZXKrLwStnSn6Ok8HmxPiateJkdtJTlKIOIfaII7BdCJlhwOY29bRIE+IXfjsPVCYYax1GCgmMNGFF84D7ggE/mWQaR21B7atH75DoVod/y/Y1oWrTXyriQY2EoPli2Xp+tbmlKBDTOIZKM5YN59xwbK+pPRlg1QpT2a7vMIngfOIVpQS/MrC510vssH48cfONIMc907zm6dF2O5DhcZZAcoUz3piNE/0utbZENPHve4zF/7fCKa+XSH8Yy2k17WwHH91pgTX679syWP0hE0FXefFdDMf4b5uu7kS0Wh6luRtlnfT1SMnTmaZ0CGoNJ5DsEY3VQ8xN98l0eJNJad0N1qIv/eLnK2tSn4rucWgM2S092yeriljWpQf3wp84aNj2v1/G31+oGULc9EfTH6CO8rT9ECj+3UNbLcIi3UbOVza1nuC3mo/XJjOdUrhcpY6jy342x5+nGSMncFnWwsOr59np2cmYEFHs6g33pLxoMI9dmYMqBBrZRD6mlS+osWjePCdzx0+2xdrM7I/6JN/qtAg6FW5Jqi9H0GvG11bjXNqP644ndFeoengWsrL4FqTwxxEE4SHNGu1A5DqcsppuGzPraEO+MkgNXzxq0xSZjoltrJmN/1kXZIP9m/meh2Hd7U92RmH4ygsE6P4sAr20M+0SfAGmDH6mHLJoqcPErv1YWGdq+GyaGRGUMuQ3Q3EJaHcMElLr5OsSoYwKq1z22iQNGR2gxgnUg/6is72/i1STgUQgrpQbyBkqzJQcWqLcBUL7G4zOI3xXnDeSV8Cac6MB8d51zK8NKBuk2e+ODxjbX3dLQjbAVhyxmXWxwniapOJsDnGKQm19gJ/QadnQZ2DqoKm71t/OtzeC3GKqHEiWl9lVIOK6Cfszs8kxUPXGNooP6nL03ANqK94BLylZ3HTwSP1Lt3aiTTyOyL8a1kPDGZyC02jlbfSQ8e/o5V2reOdZCTKXjucPpcdDDt+C1AOb+ECDWzMC4QkSfkwoaaC8wkRiKiAhVuWaq+rWMBAMbYgH8qbUKvyblaexOrzIb1zBFXnrCih4dlP8MGvHdHRc08UL5ThZdwwr9e7H0sIbHQMMAWFQnEebLzJV0QH2SnKmeXmedlAzIBLkH4vb2Hcu1dQGsUoJLpAmxJKT5vv180plIhKIE61ZeCJChrFbQ7VMB1Wwy37zgu7Y2ns/ohuS8jEQGPg86aLWucyOyFDXsVviBtbF1KZp7Ctp5G5WK1Z2LiWmJL6EwOiFdGXrHnh8mFiR0/DmPOpIoZlEBJdwb2WW8WX6T16pu2yop46I8b0reyQPOecSeD+0Js6mA3mKGDzVZXxqxetYaW4kANF2mQL0msy4MbwVYdZOHTdGqSEsHNHRpEjyqA//jGioDNWfsqQqszIcSRHSLfdeZJfm5RXio/OtsdIEcs/GAkCAscqMuC2VFBaZURJCSgYAlWfI/I3h/BBYFcYo65PLiYOPQOic7lrXtwkBnmxI+sFOrabHYqkAsiqCmzCgtJnGMmKr7X8/8fus1nDbLS8rCAC7MBuJiT0JdRl1Xetdyr9C2EspV7RjEjIaddQhOh8MdtQEWYESuishyHQoiOimcb3oRjsjUdTqk4j/xpQktijpwyE+VFes0SJO0eAa2nXTkfj17T5Kelh7RzDU6SF5n+Bm3MTm+NH85lhhVgTFWWMxCna9Dfk3z3cnz9GOuCJ214ODcwLRh4Csf6N7s3jIesTXuvirO91fFEoEx8pZYXmyXYE3zgiPslEqp1yVTTY1zZBxE4pfyYjB1Mt5WGbt+wcFBe5Hq79Utltu1DwtpDCYJnAuveb/qx/FgqKih0fqOeaje5LSdug9yqjM08ZLvLqPAtH0Gh5fkD779OVh/a1y25EJn64utcNra4JGj60wT7H55MLCOtLMQ24n6vR1A4gb3CR017KoWN05rWaIhihc/BoBqr2ZCaxFHQYZJKZqzMtP0ZjhXSvZP0lgrCz2mVlnbQwYOuQBoTUw/oFIcaKrR/mlT98QG/8ty2NYhx6qTzxdkm3J/aMtd5uIzzojmV/hDd21Ea0S82VclJc0ivMPSCN2lGs8nAsFHddhMKGbNx33/Q6rbA2IIsNq9IG+uRCqm4LGTD9zydwbrcK/9ty8D6+RXMRfSPWx/53Mk5uxFe4cxxooHn9i4WqhhZuI+98h0B7aPQRQvJbNBalpJgsYLfpAGanuZUxPLIeZT2ixxoQd1XZOVD4uEHGqHVve2VVJZETEPMogysiejxK36JJEG2dmxCbA8zV4a6SrJK96d1Kl3DZkze4xhLU3kyqmpF9crdGGJs+bXRD9X0G40vMYkjp5gBQvjuhed+GrLqmUapAhO+n023m8hfIAkQ8cU3RYl0Zq3vvlf0Yq/W/ma0cfEmYtwyVfs6OBrr5fmYQ98JbZxjwSIy9pv9GqdwAfT+dJnLjJ2cpgx85VMOvWNyuJl9jU0zCtIApIOtutbwKJGvh14S9bsB53JXeyQBv4JRZryqqOZaC3muyXfSgndmqRxhcFxnkgLrOSmwZUtXSBC6LvnR5KHApayv4uKX5pzY7sl7hag6UZGUnVUada8bJBI3eWljKncvyjk2MY3fA67GpfQcaruJ9jn/ZR8rJlZY78x+AKgb3ZDhtsPUTOw/FrpHIA3QLw9yGuC6b5DHe1ooSaCRxK4crpx2o3yGT1ozk1JOAkK1vnkpGUOUMI3Iq7uC4yFLi1RVY133Zo0olBHjC6CszLS5Syb1OEUWoSCKYvk0zVtp6TqeItBjrl4qcngL9Dz/Oe29fHDbkJSxzaKWbXhdXMfXefwBdrmvnppH8kujwkyd6BwdAoOi/+7ls14k3d98Bk+YBx6ldvh9YtN7IvlmQ7Ag6wpeB85n02xrqEXRVS1HY97HWm7l/Dr3Lc+GusCVgCETFd4wOmo43Q4thLNulx1A75oxtl4GkK03yQZ3rU1HRzDUZdIPuOz5mol32cX/v023wnfzrE7J+ZzeLUiKA2f+keeV3YtL/O+Fw0zl0iRUTacy9cJ6PmmrXjBSN8PRtMWL8LIFq+TyrRVcNyzPCvCQjvdXKEWcNrZg1b8HzVv3UUyrO2rVkuPpYBcqvvD547RcYzCGqYGM7mO4lhBogC3HOwJZ7WxweHgIAUO3qtmQD8kWUcw3JnqRE/6waxQlG9GJ5o2/PlGbPswG3ZQd6mK1Id7/Dc17UZSxXlDZ4Ow3oGATt/3ImJHDiCu4/sFyY1IchagxwfpnzxVvXEzvXPgrPoYEo1jg2bpXOYCGTQq5Ztwc/H79IYoilPUhWu0Zqc8sk6d2VczIgwW7aierNtwIYzqMp29R+UqSW8t3edqaseM57uaYeer/gjNGCbIaFydqqwwIje22v2lEBcnOSq99LtwHvRuMxusmw+EOswenhfw0X2UerLnkuthOwQw/QUUh9rDAJ4LbePmMIOoCIdUsFLpLglbK1j9WYl5ymLYgI8pSzlM44iu/2KxLHkxZDquma5CJoJ765LNhxmhJUVBjq3kJAsNnIxCJyX74Te1BgBbkxT6AZNrydKpK3QjjlIwYmpNrlrt1bab87zKl7L9XUHF/WYE9mpaC5Rdu7V0d/8bHmpziTwA/NWabay3AWXjinS9V+rdbLr/VY9ySqC8oe3VH8O4qu0AuDPhXTTJRG+rHUm5a9kbPt9iRjoawFhGqxFQ80EFYVlBmTgb6YYnlnay3I8SA8MWmAU4H1WZkepe8vFmqS1Dk6jZf2bs7VA/1vfDCIAWmMjfdH6hqbDw1ko3BWNOFhQBqo1f16EHN+N3YRMAy0QX1iYJA1lokAcljXSNxna79Lui0BOA/LDb4sWG2saBc3m1jV6GkuhGOxPXoa9tS3KDKFoi6LeHQRBWEXjV8Bg9E4Fj8VVaiXovs7uzDFObzxstozwTGKYTDwBF3SWuW5BEDTpffOpFGHJ+Uq8s9ixZbeKMJsiW8Q1lROIIRy+CHjoue5ZF4iNAP5+6RroM51kAkUTkF8rWWvvjxVDZjjhC8rPFKjt2IulWXhVkb0qjkhqY7Y7gjl5LPyr1fktLia/bIhzDuy/1zPMatjQkCWzrxfECJQOZ54WZLpr2SFOfwOg4ZFE5SQTG1lZc4obWprTMPWIo852QlnuYvwn8JNOhY0iCN4Wp9eGFHYQOnAlo0Q4qeTTMZYJODjC5XjIkUE1cLWJjKtG8VotAplQ2Z8nPL3qw1kDV7aA9m3fbg+vlxoEmjBT8jAqGXtDIl24b6sJe/o7U/5moNn+s9tD+ye2ImYN1rZE95fBrleZP0aXe7crCiRLLAaXPyYvMfv9v0D8lnE+I47HiZTTSlHCs1y9LdUJIR3nTrgQ7U6umcOgwsrvnvk21O1Fqzhox4bfNlLWOFq3pbr9ZwfwJp+9hJ0sFW3ZMZY9afp/3WS9oYi8FAuKzNHQ/rl75Ha3e49HIV54SCyXPrwAkswTjB0L4L1F0axpr55PPoy31znAppT3sB8qxVlWceJ0bGOOxQkYwKeY5ADAbDRNvMw/f9m+lA7qL6uWURFW1kZSwIgDVmPbpWqDkBpcyCr5oSsvfiBwdKIkvDTJgvRDx9UoKtOgIdQ9PhW1p974lCOi1IN5XfvCYuXKkBvSMRwltevszQZgtIyunfcPuWLZG7svfNlKwKlQBAovRFknk8mCtjFL3DQ/lnRO5BdKpZ/jEQsbzvaCx9u5C6l+kpcivQytkWQHeHKeO/5lHSzv3zB+Ak/lNV7GEJynvAf7zBLw1X+UDIlK84PA4ZwUIRq1q3TCVlDDjlASKFLfBlI9W3UPRfTrdueot88sTbi536mD+IJJKib3Ynb3xFOsUbmtKxGhgDNVxYAsw8JoZ27o85+XLCicBcCsFl8++hnK180xR9PXfdUk0EFFdN8+HxUtmAaGNYKlbJQkn9uuBISie7yvYLWsx5JaBc8DbTyV6Gc8KpjMNumzE3JMkhF9Bj9K8VuGBuyfCnVgZOCgVxMte9zTPgJONooIJB4NJVDury48N6xIQyaQxaliwchn3WqRLZCmwxsF6BQ2FZrm1hNYpbojDx+E0e9xJqXpTrkyu817xKkoB+CCvTxmIkxE63tBETs8jTfkiyTRZxZF6uJPPSR4tABOCC8A0wwRQMsXLwyAn43hRE+nT/Y/chaPUckwv8HLiD9tKJJ0/oHRPHF0LhL08mkMuuQPAwR6LF/pLK1bbF9K4Raz1yX6skpN3K1p84RPxYqoAh+IthfxYUFxeoqgEc+bMrb5zoDTUCyRt3ZZHqbyMgo8SGVcs8P9yupzm3pe1ClOmb8791VUW+AcG1tsyX+PXhTDkcitfP0vw9q9XkXTEur0ax7GyHh6rgzNrSexuNFfnPXWLIrFU7ng8GsXpxYnWoYql+Bh49mjg/s5nIhYRKxaMQ31SHtF1xV0InvEz+nifxlmje0YS5q8D/0l7bdxZC19ssuXyS/bh5uW31bu44J1gl3gO8wNo9NnXqbfhgdJHC6awzu9cSkLbuXK1zjytl+1WDunCHS41j5a0A+CccrfK253v3HyclQ7PFE5eRiY8+vDiRC7mxYCOdR6e2SFRc969vRJQH1zcxREnu5off3+N/NkgbQbtavpgjud33ITYee6l/DKToZbW4oy1tVxdcW3P0ZPUZ1ZaLdiLYShjVLFCg0F7kN/3rkXP2rvUwN0Ine+oxt0yoWQub6lBaeNEw3FIzXF8AFj5gwTWvl5mvinzfZpuGT48AzrrDq/NKTMXHXaBNq63SbDmYTwl+NJQKNtigxZV2LV0aWhVFF5AotkCGB/CQff7PUShY+ABf5psyP6UP07tud/nZL5p6ycsfvNqak2a3PW5JnB6IPADvIuat39g4QmTI0P7gRks8oI/c998gvPC8W56T4A5VfDxiUim6dg0DvIYVDwfztr3q0Qdv8YnQZ9ZlzirPBZyReiXaZ4ZbUfdjJDETpK3EXDQCkr3xGamyLUkUjJqMVFEVeg/GPf17182UWsj9t4xlDU3DvjMtu+Xpn+vZCzL5HrrA9SVietpyK6Ck5IXkygkD7NxK274sBayibS97zbKbR6pkp+cIFuRSVrMWlhiX8MUB+2FMzuVjooCjFE4gWaFwQghhXlJAxNyKiEYjq8xzqbQoYQp4lo9Wfq02D+poHyj+uUNyqVkTEhtYxeF7FNwLSo/UvBqs4AQlaHhWgBS3hS3i9iDwwaA10BvU0BwQjHvFP99uOkyz9wSQ1YJz/fa6rU31KFEpr9IxsZtYPwgEXnhjqEn/48DdwACjQ3Hp16BWWyN3ZRZB3x4zBCg9zv80IuToYTs/7z8m+2oUzyjhfK5pxJzQw3m89ELbCCtAHOuSX7vge2fg6Dqv4KUsxFlD23Qa02GC/kvf1KemdPDzYQZMDvRE8E2hAbZDw5FdI+5M/uFvojc2ZmVhkUCKf0l3/WX9lmxPjRXFrXG9A7jRLxarfhgOLQDV7lpQDp1vQlqwm6rrY7V2uShMKg/Nqo2n4J6tyaIRmNdiceC2R9wveJ6JYsVwFWD8J4MiP3jY0W15iarlHJgQkoECMTDeucfGKb8NzCrygbRWE6jeM9vFmuQDR8pGet7EIFJT4neTDuhUFOaaMRqru/+klII2/hGHXh2naDO0MpNtEB7bhcON68Agf09TMmmu7iOkM33hvg/iv/1/1W9DcXWf9EFMgROqG4krXNlDvQBzkFA7+TD3ME13pwfiqcmHe+S+/xEO/YFydKrYSGhgaLLi1GYAIALE7HlpruT/Hs1Eg6sMoX4KRq2roB0dB1byXaRWfjMUZDaYxEbWicFmWvL9cFkBRvRffjETWj3LJLydN9Xf4+qEe58mb8imxnufIVrhHgqeD9jvkFSo1vW64TRGg9Unwls5vdCnZ9JfmK6XtVmNXK6BP3/19HLZx5ygx44GjsJF1WFwVpyGYFaGVCYqoUkqzqOY6jL1FxRgGgsLhUolEkeLpAs3yMbXnjqvMAdyLMJJYYUlsyGIgwC56Mrch/tpyNi1tt9L7CVMFGkhM/w4g1iDqAGd8kKoqorQeV0feMjdltR9TIeu0+4aqKllDs3wGDsnrrMlMwTVxYVKpn2ReNf20w/BAbwK8rUYLx4zbUe9Vk/2ob9RDzy29w7BEagR/3pleK0ZTJ4K8r5pmWRdItcTvBDFBLosSFmwGKKLURiWddE+sZcZecmEfWrvkeoixPPpt8TlSpLNw4MKpvUHcn0vllF0Dw9QqqUtLQ5yHAxDOzOAKt/FW+DQPEcS4Ac4t6brqWcwLxfZya3bhvkqf6oAfwhobU4k09M02mnH4DQN7/m3rAEyUPtBSugsxkIJpUoyNhh5neaGHJpxtHJiCRuNxJDf7X3Rz7GDWEFG9Scibp7hSWlvnCaOGmeWQAvZfEP1OeJkYu2qLWM5zGMA3NlQSr4vybZEb/W+3Pyotr4yxFqAEXAZLcMamyWsVPJElzrHtBqm2hH0UEx31UblR1BD2+r/OZBdUCQ3HqBgOWlSk63jF1TM0LiOFB/F2ZpgylGZBhiIreYxmDClZbJ53ROwff1MVvXsIRWGoRDYaFXaQE1VbUksS2L8hAsMV6SotedREyX6QPST/sa8ckgS6tr/Ao4iCYAbiaHtHbUMCVxKuAuvHCKBqniR/Kc9bsQ88my+D5w/SaEbB+rFeZCj4erTAYUj4eOXCfYfg9HxIqRS088Bj2czrkGM9QnjwuZ4NtQB6vnx2zMh+Q5fdoBoE5QHQl/jTT3Cz1n94EnWEOz7nKL0AJf0Js5Emu8j9TXzZz0p2QQOJsV0XB758y+Lp1qRBPxEVF8HEkkXjot6YE4jr25Cn9ISwuQX1kM+GmqyK0j3bberSVrC87EFUed0XaLZgEP6hX6Q+Ee+i01jTLJ5XhtLVPbWiEpE0YdyCETDKW1GzpISOBs+8s17AcDJ7hZK+/MBnoOVrGHgSJ2b99hIirosr7QU88hC9gZNmaD2OJqM4/WZhdYG6N9LMzSUQRS8hj4hTtoFgHuWj4j1kOGtK9rwXv0u8x/BiLgrBSJ3sBYPYJEH33IlD6PYvsyuseiPnV08juBE4dNCUG4a1GFsDWN97VKgSQvZbf3oV0vGgFIaggoySJRNUfA+uk5j4nNKrRxwvoosQSQ68HyIua1lf0YBjhX0DJHDXrsd2INt+6YnxeircGS81zzGy0BCcBllkOQZUsGYWWMaC91WW5L04bVTRNPZKAG0T7tRCje1CO4LhyHMNelSx9ueBddPLpARpOIAn9WEg0LkenX5QWGf3AoM3OKsqsZo4EJHzsG5bEdapFjTHENyk1CRp0EDrv72FheokWPOLMisPirBWVbAtaKSh2Moc6uAHPSEN8eed6sJNkGZbjR/3YJe41BlsXnPv8oafGVdCHQduXk+S6PIBg+bODx+mB84QGe61x7YsD+GJuMjXf8RQGm35rywJCq3lURSkVmY5EjY6py4NrDvvKMjKShCy96oHrH/iKgNP688704Zaw3ye2dj6LKGlLZpkBT9/7JgLCZw9grc+mHnlI4bj2K6V33cEicHabpfrK30s1kT4e3zKbG64oM6bi14JB/v/IH7AbxsIU0WrtY5V5V2oFTPED+nXotcyZ+szfmilTIxOxBVXcyde+zHXklPdAEBdux4xUyoIRUasud2+ORhJBVQphXAs5/mVErO0aTM0kf7Wm+sbmw4v+sGElfJV2HWKqhhXnMZBnXz5quTtiFIXoDI3kdy/tAO5GcGe8+diynfbSmKUl4NPKyqVHTbdlUo21SIIxMwSPnqjXcy8/yFFONlUM3u6J1YRoqopRy8VErpQs+YtgbhDbpA1oOZ77IzCKGW3e+ZMod62EB52oXPlIlyQb/xbWuDtcPltXNbnJ8ba+jN2UZnAKTVwDOn3jzQf2gUGmrsun2VxIoO0iOEzCxgELflwV9jnX2KdDKi+thVLou+yfCRAw1IJLpE/YAKPSNmrqmSP9vuNZJN/qfrBoaZV8zKpg7V88JShPR2JK4Umiv5esX6wrdIWwPB0+OExp+nd4nB+qFcmTNYUwKE+LsFMv68507LGdPxWiWmKoGEo6uFvmzmx5LOMl7clmAxjIYMH7inY4CpG9tojtv2CG7rcBB3VIjq2SvIz5BvlzWjzPrG4WDNUKoeGs3/SLJ0ovaaKT5zLh/NsIBoLKibUBsbP8peNICQbQ9kDE85vQXIFSH8RW/b1j3FBu56wDdH3cTVoQ3BqvjmKiA8fsyzhb9sj14Qh0fYpz6wlPTyNC2p1sA1SjzKh7MKdfEmhKvSxOYtjavtZAoOE8D+NB51nSOECqt3FEnfcRr9qZlaw07H067zVoFOyTroh2dh1LcXeedBH8RTnY/HflgCZe6GE0yRj6HF8Rwf+shPEqzbOFlMNOMI3AL+5sa/h3mL5zTS25M/5nYzqnxsJ3Onpl4sK0NJYGzfa0+DImpUtC86Cv/eXzU8k49u4sf2+ZKG0E0aJs11aZJMs9+cz6ij99EW8PC6wt217yqui/k58+jtUGZi97KaUvU0xLewL4ZuqeXTvu7bXS0kiinXG4vF/GE0VREGwuzViYUDGa0MQRTIF/DIuI5AlDKORW8s51Xx226hrXjSwkJpMQXjQi5gpHBJrd45X04MQXMuXEHYbQDZED92odaNk26tREl4PE5CWxPXYb2+WNztjoB2Dtvqo6wX5K+GmQxteC164AyoF+JeTbDCQh0S1eM/CjwkZ46RH89u3Z++sNcYuatNBhAax8X7Axkq//1VT201kjSmbFLAg1E289bdkj+jnLsrJp4LG+/QgchO4WvaQRwgLsi95tSlx5aTfh6Bw1XGLNa3q4YMPxAdpTgqcsljmEZTPVUBh0grekiZxVwOwEZXpphY56LT9y+F1X+dTCPSt9v+qZpH+UNs9E43/IbnKQUJMoyU/wmCLN1OqAu1cx4gThjxtYy+3kRQBo/Fo1iceNYwbmhdyC8HJomupUkeME5SiUNdAalDw0kUDGugP500UiABrb9mTrMkLE+7APffjV9Qz7X4Sj3/biXt1JjgyVWko5shCbEnzh2TUhQBWhM2/Jvn/tjVIebDjZawG1OLNT6FWIPMdA/PPAaP3ph/kuX4OWHlPSuWJ7myPCnbWrXIJ9dJWYuM5XF1l8Kum3CqgYYuFoDdvw58ZO66cz5ZseI62qlVsp+uPqnJpDUk/3aR+7ZybDhiY4BWNPgg2Dz0RaYZqULU3jGzB1VRHLxZJyhgM15pxEAOqQZlVjTLSMKZ/kM6TVt9JzG2zqeh8HUC6kTy/qbhhUiNiNz/enRSgV8tg/W9JKveI8ubmI0FojV88FtKUU6HPqTwJ1N363SbvuUgrvhONp6cvIHKVV4KtO24oToEIFjoJ7bePaayk0CkEE8zA4nqPH9qKBsjdq10cO5uv46wV+YX16jb5o/rEKUCGa3hUwCoMPuxQ7B6JHRb84BsWX6GK1Zo+wMru9j9mi6twJ4ErJkTSFhF73+Nzhvq95sbPwCNs3ow9vlN4pkbayE3rvH4ODNtvJ7/tqihDfAFFmJRjWKW60+srwjRCWT0q+OujsqWm2lojCKgsFrgIsZDTh70piMt8KM54ouAknk6hLkX/SVz33arYcO1buI4b77jKSbMdMteW3pq+IWeaf/9gvWnEoOM9wiq5U3rkNIIpF9GvGuVUV0INy6NEIjaVFfTPISFtzgDGvGdUuaXoVRoECJD7AlKdWdQNcKFmutCT1aH67WBHxljenusHEIF0b+QsK57yRZo63ttd7RX+IiqQa7cEcldxuw84gsFaCL2asaOo4ssKAeZdPeG6lxH9YdqUYqTVLbP6ny3VLnZIgntAQvAWQ9IrKwEZl0IYO/Vi76mV5cvyshR4DaVAnNjUPVz3+9gbW8dPsEj9ILzSqIjqVsdSyagD/E6bBEk9D5CZcYbtIU1jj9Ihhw7wsTJA0eBCSq7Z5mZMKXnoQ1d7BFXaWsp6ZqLH6x0sX3FnNLFQqpJtxYMwjoAuRDYm6mh1+w58igLkhZE3e/uXt0dr9Z2+bMow39oU9qIB//5QsxuEpj7UCbgWSNA4mo+bxg+psvaGNxQS9fz276XQovDKVNpjWw1R7gd9khiBIBntwp5pOJTR2rt/dAMR99bLHv8fKmKao0ikalvJFqQImjuRH2cKr6kNBDIqlQY+Ut0vNYAQ37QtNg0YEEBZxRZ+cxIWmR8TsmsP9XnPuW1Ah/3aCJpjsDbaEFRiHUPuNHIJXHMRQSFbA1v5Q6DuhUtADJL6V1D221W/Ch3RiWsmz4TvfLdKr8RuLhWHOU9NJw0HYgTewtlGfDu/nIuXjCbfdQwCQ+7NZSHu05twlpD1GKSs03btc3fPRsQDb36jLxqoxbRUeLDxVjz07W5rDfhs3gcyLJ7zV8qcmMGYdf/v13u+PB7QDfKrPr1PVgc8iVSIoYeYXTu14DSs+q0WyhcRBn3MOhbAJZO39ojjjpw8VZd6F7bazjnk25D4QYHVmtzv7UYPAWxSsIUmqv2csOxC3EYx/58zhQ73QFLHX0HF2WNVXcuCINqpdexC2j322nOef0JTIAXuY2ICJ0GGWRoSSn3qTrIPce1dvu/zzHtN1gBgkFJ0Iadt2/beju57Pgrx2KDU12hFvhdaGUVZOT8wsfwSfpKAxMDEDemuwJmIy5OsUsJZHib8WwZVexU7GIHbB34nHnUYqszWhwhRUsAdY+EABNNDhRDvchk63QzrMrxJZRYt7BYrFCbLqqhp/6tM20OIGJISN+meWBE0L8/03H2L+L982eBJPRxrUKshx7bgyynfSQRGaBQlrNCHvd9+ewNm6ipAPHY6dCOCjrREy14GohSytUsQnasqiu8UmExZ7Ycd8YaRTg3v2/lZsF7XwD7yrNzjm/Un05VCh+flvK7CUBQ2y7dbz60hKquFrODq9C0jCZ6HM+iNj2PbHD7njfXZHBLOfhP+uUnzDWq1j+ph07jxYBgy6nVquy6YN5rRD6WWgjQh+hYJD/FV8fTQMBBmBFVLd8amhfZplgWQgU9tY20TqfY3hs/d0NjNpHeIIHzWc+NfXm4ZuXicVjsInRidX++eH0q/enBGMv4jAixLx5NrOvzNTVtrHl9mf2FczqaF4Fzlz8THk15ici/gHDzwbKEKTmQ4ZMmAcpeLDeACk8jpNijidwDzb0pJBNasWCedibQewKmZcl+n3dUhti8kBFDUHnufh3s5Nb9rnkqvf2OheVKbMP3WcYINNQm2G94ZxtXgCp1fQXenmEGy47oFspQ8qSNuR84/UpOHgF6WraEzkyg11fU/3zBRp4sp3z+RHXRS4bjqeNkdqWCG9wBB/uBSsRc7ijQzUhRLBFVgvXz208ZHhaFSskkQSzJKV3vLM8l74WAkU5QaqMTmuhw/ZxIpOtdqXyJDnioDzn1utfCHi1+8lm8cd0ywbc/mDMaZRemFxCZ2ckEupNLnjnK9GnH9xXtQBxMYK9AMthXgW6BdUHr3LxnPU9h3g/zQKJaU0Iy7VkiZoVbMN6qMF2sLhqoXyy581jcXbqoLRKnsrbkP7FIQxEeNSKew+rff+w3rcLnLDwOYpbj9qkqIq6hY+W3B+Jtx7yPmQTQK/oAK/NAYvQsqk1B3+iUzd3x/mdVysX9UPawWDUc7k/1ddVwhh37y9Rx5NzUutiz9PdBABRo7B8Nglqz3Tb7Bn1uyeiIBAg+pgmsq7T4MXNSe2VU3aID5OOlDlwtjgFal+7wIIsmp3SXchmFcPfvD5jLvHzT1aN7MtybJ0jVtguH45P/auSXJQ/weRYrV6Ncg8hKtaD42OK4DKwDIQHQNInbZgHsEcfOxyuLL66zs2mSXt67xRK5bI2oPdYzCjisRbz0VJ7Z3qBlniQh4JnUtDVa7ToW18tjbeR+E7p6/XkXiDW3Cx3rZWN+SdNuHIAJsO1iNS6G5yTp7fc9iO84i9JziuGOWO9OAJ6vBv/CGMwwD1djfMtYSbZ9xp0BNpkXu3CaKSxuHlSfI0Lzxg8gmtmJ3FgkFZVPQuxvHDxcAlvu6geGCtynpFsTVttucUfJAIlAp+Nm/di/oLuilK9iXDDssh4zHwbySGc/c+wVjr74NIHnFhsNlhX2TUZhNuHmoQEPnoBWQw7UJv5UecMe3cJjhb9bxXFq7kqQabIKFvRSXp5RJbXoAy/GQy/jkG3Bz73Hhc4uiib1902lXF77GTXBTdmcESVbbwWUhUXKPKrBtFiIlqbE5cFtd3Ww0CdQc1QyJx1bdL9EM1wBY7J7qhlf+mL2QWr+6aDxYlq52LDeamFS0OGrkSeOh/5vBrZjs4o+33Txhy/lwksljSYm8N/vBSj1oTMUxmshbS8re7p+r9EJDBxbY6Ex4p3wH0kk8SiwEOYkG4YAYPEZBQfTxGalMpTfJlBMZLe9uOmslEcPF+CpGQhly41e/LVLqtfpoUb2bgErrJPDl9ZwT4HgG7dGhlkeE6x3MyNMJOUPXknxWndNM5gNyV2do0RyTg0PoatPkzQXMLqO/cib6sPFGRNCA6D5Qt7lJCvTIRAgkb4DyfjfMaJOZJfBqb9bJmK26+CJwt+O2trFQcXCyxxGw611Rc+bT66C69aVRi51TIcwxxvJH3k3HB1uPEUrxImClLpLvLlc1oYVUxlYgVVevue2oB9FuZghwj5HhTAWSeyswku2GFJvgDeHhp903OLgcZTAHtkc1FUpEVVD8QKtQ5BcWlT/IcOfeCuohfUSul74XWBAeXJABuErf4YFkY+DDhpJbtn++kR2bSt9CsO8wuAv5jgVcSNf3lRzmAE2HdvlFX7EBh8GkQ3g7XG9o7JkxWQM93V38CBclSkxzlb6OCbdiSmM9PoRkWQVGKvV/4muTcnseGqqYh6l7QkoxuHGFq9A17ag/dUovgK2EKHA4LbFb3XJvPtybRZ1KRD3GahVeQWW5daVR2hGCPf9OTCL5EWFGxaRVsxAm3oCbuPeSubm2ImZG0tiEibkWc+3EuOPUA/uHxlP+wu52hCvXatySqDgwBhN6NG9ACsoaiVyDMZKVkiaOE0rejbTwd8MhWHEnhVNpMdlOBkB9MgIBNeuA4cUq5q7P9EqAeIj+hfVl1OgiP1ULaVQVtlu71mRLMr9K2l1b6WPBDhe0LnTqdHlc3ZaImq5tndSi8bO+VHznaeoBY+1wJfxOawQ0LthcZRBPKE0F6QU0v0q5sya9upQW+LDl+yvLVDHOnwZBuslMlfO/xpSZBN9gLPMuILCF9HijmHXsLt8wnkDA+rFDYO1N/BKOkHweVpLR/DdYupmTd7pXyzJw3g66UOoc9Eqz/C0H1kYmb0mNxvowIUoI9B/eRRTU7KjZIr4q6AFH0eSLntMN7bq/vY186NU3e61312XfP9E/KRtkAweaxakKIm+OSVZKJQWAUl0pMl5TELa6oBVkaDLgi8MFF6/qRRh9ygazw7yojuMYYb/iDzwrVsKyCq/tQZKfR0vsFrl9Khvcy9GPc1bO0tEusel/3IrOa+uHPDDuxkr/a5vs7pl8I9mX68Zjd/E/bS9gDIi3N95rui6bqfrzp02D/TBCyab8XAb/8Q6tJsIFPCfcqyXKrLIoHzCl3RTnyU7MOHQA6JKu3DVUwI4LUehx77A9i7D7KXVm9g/qQXMb279VuzPqe9P1t/gw2fpfqRm1KvusaSEug15cCAOE8h4O5VWWhJjhJjF5j3PbvMxi7ihPOLTR0vFnF7tI9gRI/dZiCbpe7noe++YZkovw0Mmc84VsFhppgCgR3zib+ub6EuhdXqd0RQj+G3hRh8hflnet1wAUVD1hQG3q0oB5hlMZE0rE14U6gHkZ5LNjR3BfoLPXBccBc+RE09LSGrwQfF1/kEDFhLx2bGjZ14jIlCGmLQQHV61r8ng/VJztGSGXvrzFj1VGez6bfNkwIcFfZWIkGKxliu54ezHZU9qHVOpqhG7x8dSwEawmoRvIbs2xEjmFWMmDXt52b1gMGL+JKj5P1Ivpz8pD2z8UqlcRPNJ4uYuK8WvvE5Lwq/9ya4LK2oeyy1A49uEQ33iEj5TIN1zn02wjIJuZWwSmdsT5aRulBnxWrB8A8K56EkwAEfgkQGn4uxKlinTrV3uU4IHaUprYxtsHnlaiVPsYXhffLgZ7Qk5RUm2VJ2ta1c7qmZOD4hJuXmEwDon4n5qErMyLhOp06e6NdVddKC1apJ3NUSabSePEE5liXGGGcYzuMIbp2IlwVvZwyRKhhvD5lGzDPb9X9zRqab6qnR7x3cEwxT4cIE438KWtoyEoNPkcy9o1IqzJmoB9QzntbUrQbvR902gfO1RSkNycJ9K6g+WI79RPh9+zewGK6DQk29qyd9eNx5FkfWhc8fLtVAOX6GQ7oC4ancwQVlJIBDSoB3uYYRB0sa4YtWeB5achAsh5k4pXQErXXBF7Xei/zLw9u76cJxv3l/bCc8HmYDnn7cVP90nA/+gJ4HYqFTDaXCDGUzRP/CKwtjytMqBBGDFPRkpsjEeBd1fzWtHI+Mf/JOLy9OPkNm/rQ6LbXzOIZaVn6o/rLKGxlvYI2zWHkFUCTilHygWm8ibCbKzj854CuYdrHgnfLpJVvAJIaeBe8OoA5R91/3pfemUDVdlQ58j7gTZI1RwdWtdKWbt/IwdnhMWpwpceWKb4MS/YI9BM/g1caWj1Lsj2pL7D7PYRx3cfWDUETN2WxJ+/U8R6imN6jUr9w/tLy87XI99gNkaRItSpibOOqAJ9JhNhizMKqa2xHfvumo95oi9Q0T2vbsONy9bZyamM9yctZEAya2mKTgGG0gnkp4TFYwYOaoK7C35pZ/JiddhXdZgjmNXr+Gprl94CA7YXHL6+sLdjsUqyJsdRz225/CYE2B7C+m/8CmXwyLRIRrfK1RZ0aFuZsUklqce9PSQ7n90R6KiTf3JWgaC/TekizhsL9uQr2DZu8KONBdmAL49zQ7ZaDy1W7uyOU7/+GCFfcyl3ITAwXzK6qXiVUlEyw8zN1ZrWscMxQen6hFWPQynvukHtRzSrmay4mWipl9f0Y4HCpKC1qAk4JO4jd3w49IItBH5ia4VV6N4N1sdjCWRE59JqsuFciUhtn2meH3NCDOlbm2tcdf8btq9ApSVRkIn8QkYobhTPlj1SjaVTP4skTPHxPR27JRINf9hFeyxk6lk6EM/am9EmDBEK8ZZNPU7CXvlQWckvVCk0MUblqpiStclqgWGCURi/rdC9sXCmgQLm9dX6uSApdKf0iqCKBMjfSWnDqrpc8HnXyAXfZTwgQkzkVsFGEdwLWQxxXXEQvk0hIHk6rz9iKS+6OmsCT7LZkBcYmxA7JDS1jpgdCUIzlnxpElY9mp1OJICCnpv7uqHDAW5ej0qp0gwohGjA9qR1633gd0iesnQCGLbOSH79tBAGTpvudEpBcBIv1ihQGb+kcH0A9NdXJWGQpUHDuMz+p+onh0gX21VhA28ATYl7hIsQmZpp3Zp8yFkOv/NG/jOkkBbWL+VRupdvEdeKqhR8zbb0SmVo9GD4SsQiy4+oatOVjJbkZ5TDeZgT5axoPfogbUE18mcF+yVSlGeZ+7gLtu/sgV5nOAxJl2Tgbkd+2qrX8SmKVly22d/TqbCVCpUsV473O6nChLxhtIGrfgcAN9tOA0+Ek4BsBdmDcwGAvrTDlnweVslvsMNca8dckK3K36MeYq7UkkCcnc6H6HSOfYLjhdv/O4WY9tR70Dh9q10wkWXY0o2pkMt/YeRfM4UxEV0mXQ+Ik84yEYe1bkrb3X7JFHNFgd/JM1mq/mSWnN8qMplBo58d8DmWo8pxaSdhEkj4jCnJrvXBDgi0FAvAI0iORlQTrhdRWMmpLyzfR6qhXXdS4T3+ztkMa3X0JtNZkIbNl/6DCiN2E1uYESM6ua8ITnSNmlmPf8e9wuuvLlfP8m2IFvvjSp58Cg/Z/6xGQ8BVXbqTWQHLm+V+tHtuOKU4r3wwMfUJxPC5McOH6sa2rxmv9C0X1Kalnm8QqfSTaFmmrippn7I1QG0R/iGanWaM5N4pj7ZBzag6uL0Fin/wuguokJ8PTU4dEpMQ6i4j51dXWmKYLHXqxh1xi8z0VRMCWvD3Pn/8uQhMxuqnE2Niq0vwnjHOR06U45DHHeGZbTn3HEa11n9kbQyvVvju2pL9hmdt8etbwndP6gs5MTaYdrB9llDviZl7SK/J5FiUfAOqPe7AFxBptyNC27761jfiOacAfwkvx/oFQ5pQNRcfWZcavraU1A4uS0NBE73YyNU1HXuXnQhHv5VhBQKmjUdpQ6nl61Dbz+6StI4AJgddNdjveN1Bz2XrYVB+nh3CvrqvyuiVQuzhmN1KZHkqK5UpawqdvkaAqEdfYJKNsv8DzRtu0NPshsERvST/En/7h0h3VUkUdMdzOLvwaolJ4uv+UeuflL45b4PtsBKu71vEr3NC/6xz+dt/OZPhXDlnLHKmKODFduECIgpwIVcitDcVuAGRLN8rNX9tAHcTw3uDIkjh0FTZQ5v3c/HYY5DioYksS60MB5n04OE2VM7l0okgTrI7C2FkDVwTUwoRW/6GFdxaabBD6nhALA/XQitgwfWS1H35eSud0nn7xo4D3Y7/T76ts09O9xtwaPLOUv8D807DHiOyYlL7k9eiSovVATBlaeThnlYUJaNbip3Hp4IYc8ewSQUxkXldfN3zHSq6JM1GC2Q0xXpTBh29DElxFvwQ/vBoZIVNwLAYuYd0fAX+5cQxtvmemC6EhHl2rBqLIDd2BXVNfWC3XX7jHNPlp/nGh42QHxxWNRAVav+bGH8d6N1qNxTEB7JVBa64jDEU+MjmuEjM2Kh1oSgNnPxfc8YeU6KghY+BZXfeWU17VuGqkT7ohXycSAMBhvRkJ9F+7Lk//jGpToATUmxtJ58+TC6IXz3u2TcPVp4w/wXtDuTBP9H42FhMyBXuIlXQz70ekxJ9MJoiB62Jznr/aHRhiu3KmKNbg0pjcMN7AIrj4vqm0SsEVOGLUIegIS2QUiU5d4ymdRaK64nzrQO26CBFJIZOcK2iazTGbz/SpfnzqLJpCpE6fFcdRdJ5K8A/odPePBwv0laa/5FMKRICLobG4RvTJe3wYKKp/Ee3zPdhSj6v1yH+bXubKp7Of+ysluBL7PfvCYTHaTSFH0TBb7P8aXeADMbx0vwNtT/eAnfVfqAXrnVxeXFuKWAso1m6P4ZX/plmr5XCEvOaWut+5GnPSs85xRWL7AMdQoXl/NFaLaNrsSE5bwjxlKViFlNRyW2en+LONkuwXoRALB4p4//in4QnQpphrMm6uL5iAD17Ug8KtB2LJv25t1oxZ/MR7q4SoJ2uadiJGixQNYmjIJrHveZ1mFO0iF/xcYUNbDNblpCDJEnqfN+Q3xMjJ26jDTYdn+Enjbz3MXo8SNM3I7vU2roklNiPlNFocRoRB2NAt38WNf5whx5cUYbYJI2FkFnFjgSPHnXnnxELBx+HER1GTVzWdlfERauTnZc0L9pS2vdYBFD67eDHwZQ8pZVEbx8u+NE1fVi73oo2ezfxuhawgBTH5KJXccIWQzD3mvcT3cNJT6YpoTicc71yQHimayZHuC/Tzt5gG6wnjZ/ZnBiE3nCzLkwA//zUoWvHRFdVkzOH0SfHCyptOKqM37h+ZAE+2pSZKu8y/GqooocRAouUTGkDSGRkxu6IitYRDNpW/Z2ONlVLeWwnIOxIIClBoZlbIhYOZryBmbyPTK7t+DpWHJDc5koJy3tSzMNPlFeJeHDUbinitB+hEj/+pEniqWsOvcy9PnxArC1c1mJ6cgLiStmkRxVi2H8Se+o3/K2lXc5XGQsgGkT0p2cM4OjulBDQ4irtHDvzQ9zH7UlnU8HAiatmZxC1IyLd8OlSRkPMTaqwv8gCI4k+o9qoG8MewwszgBAD0s6rhAPPb04q5UwT2rT1Kx6mXlOrZ7vzoHS0NA4RzBcQHKUz8ceuXoPVEoIRffPeBFlVQe0KY2VFsB9neRcqQem4/ZniuMt3ixhFen5FhK+EqGdGMuGd+lvKwKfhGSfmTKctYEpLnd8uDtt/7zTyDUt4StovcMNwNGhiLpEYdpcLcqyCWnbKOWuzNces5RHhMALKIX868oJ2rcKgvJ+kzvKzHz8/crRYyFusRb9gluqSmddgPfmQPVEXtTvjBdAIrgvy/jcAH6CFr2dRRZQM1m48QLYLYNYtGIVTlOA3oH7QNXcKeiI26EjUfl/mgJDIlIZlCwOjj0T7mi+llbukbdYG2ZJSddiAC4JtSUHAFr4sFJPvYtyqBKRvTmVgQmIdmlj7sh7k6mvE6H+JNNqvkuyZdxicnVd4R4qAcv1PSCHD7zivdENx5nx9zH0g/+Spxr+cY29BHZAGGsx7m/LVjCm9/+x2lfY+Dcvmlc6McRAqoFvW4xbG3gWcQfOGf9yuhr3q4zY++40o8yDJC9kHsuWq3uPSsZIrK7dpe67Zhs7sRNIG/hI4fGlF18rAYAQ=="}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":489,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":489,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"2dc2e6b6-f2ad-488a-bed7-8174206a4b94","uuid":"3361bb39-9470-4779-86a7-3add7f1e7a35"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": true, - "note": "not applicable for javascript" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.67 - }, - "score": 0.335 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "javascript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1", - "run_number": 1, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T20:51:19.975466+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:01:22.960435+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "javascript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse JavaScript (no TypeScript)."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-u95nhqka","session_id":"2dc2e6b6-f2ad-488a-bed7-8174206a4b94","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"545833fd-6c5c-45d0-8344-8472a202ecf2","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_019ggpJ4WMFXaCfgrvkDr3R4","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in a browser using JavaScript. I'll create a complete, self-contained HTML file with all the Tetris mechanics. Let me plan the implementation:\n\n1. **Game Board**: 10x20 grid (standard Tetris)\n2. **Pieces (Tetrominoes)**: I, O, T, S, Z, J, L pieces\n3. **Mechanics**:\n - Piece rotation (with wall kicks)\n - Line clearing\n - Scoring (standard Tetris scoring)\n - Increasing speed (faster as levels increase)\n\n\n4. **Controls**: Arrow keys for movement and rotation, space for hard drop\n5. **Features**: Next piece preview, score/level/lines display, game over screen, start/pause functionality\n\nNow I'm building the complete HTML file with a dark background, colorful pieces, clean UI, and ghost piece visualization.\n\nI'm defining the standard Tetris pieces with their colors and shapes, then setting up the scoring system where clearing lines gives points multiplied by the current level, with speed increasing every 10 lines cleared.\n\nWriting the game implementation... Writing the full Tetris implementation... Still writing styles... Writing the sidebar panels... Writing the Tetris game code... I'm refining the architecture—I'll use a single numeric grid where each cell stores a color index, with the current piece tracking its shape, position, and color separately. My implementation will handle rotation with wall kicks for collision recovery, use requestAnimationFrame for smooth gameplay, calculate ghost pieces to show where pieces will land, clear completed lines and drop remaining rows, and apply standard Tetris scoring with difficulty increasing every 10 lines.\n\nWriting the complete implementation...\n\nImplementing rotation and collision detection logic...\n\nNow I'm thinking about wall kicks—those offset adjustments that let pieces slide into position when they'd normally collide. I could use the standard SRS (Super Rotation System) kicks with different patterns for I-pieces versus other pieces, but for a simpler implementation I'll just stick with basic rotation without the fancy kick mechanics.\n\nLet me put together the complete HTML file now with all the features: a dark neon-styled interface, ghost piece preview, hold and next piece displays, score tracking, smooth animations, start and game over screens, pause functionality, and full keyboard controls.\n\nWriting the complete Tetris game... Writing game mechanics... Defining the piece shapes... Writing the complete HTML and CSS... Still writing styles... Still writing styles... Building the Tetris game interface... Building the game interface... Defining the piece shapes and colors... Still writing game constants... Setting up the game state variables to track the board, current and next pieces, score, level, and game status, then defining a piece factory function that creates tetromino objects with their shape, color, and starting position...\n\nFinishing the piece creation logic and adding a random piece generator, then implementing a matrix rotation function that handles piece rotations by transposing and flipping the shape array.\n\nNow I'm working on the rotation handler that takes a piece and applies either clockwise or counterclockwise rotation...","signature":"EvauAQpbCAwYAipA8y01ZQdjnR+3WppKhDyxEJ5oTPBFR5djVBBDOiaiv03ODj+Ao0cPSiX+x3rPJu1qjOHA77fRlgk3TlsB++44rDIRY2xhdWRlLXNvbm5ldC00LTY4ABIMrdZl34yHt3iLOitXGgwl9+KjfPyxlVfYqXEiMC++72F3fDSVW4lK0NneCifG45IYDQkliQnK6KDPR77AP/B/0eET/RNxm3ROhFWhGSrHrQGSzElyIb8kTcQ30ApR3ip6rPV5jj2Q0SVFAcmf1g+02ZoAN7x7Gc8u/yS9bNyzcJDFuBXNewvAdkqPcb3sNxRW49gZ8ZfsAZZJ1yaQFQBB0sTtEqpahzeea8gO01aiAytBAceUvCBkfgSIimp6VV3uVb6e+a1Flr6LHabkXzxNOv0irwH0NbxuZgXV8NMuXrmM0IOnR+nA3mnS1PVQSEhvhLzR4Bb1YtWjgECo2b0MNOJtvcCnbYqNrPej4mPWHZC15uEKTyHMTaDYDFROjC6lgJWjiE78qQqwPAMsWZYybnBvV8SaJB2U/0k5rC7Cg6q4ZwxucW0g7J4o7I+idrxCypCpzERMJED8LikRabWTwTPg//k5mSFQBdHQBjwJsQro42ThKAot3UDk1YoGDVvgWCh0eddNxwcxj+kZzli/3NuLqngBce+DjYntiXRG70aM3jDVT1actZ/UBDzLYhF335YmmPF86j8SLAuuXF4BDO3lsBrFTBkRFn9oDX5jUvfWPp5xdQc88WNrORh4Y33YBX0kzh9sYJwcrdPGrYcKjC9KR6x/bIIbMgtsMQF72ziSOovgxVUx4OSVzsEouw5wqJ0CZX6j0hWRD28ShO/rlDi5Kerr6wPzVJswOSQtZWnhc2AFmAOsLR347j7XWgkWkdcOIbFcK1mVT2JuuoFI+btfmStdf8cuTdVSXlp8AiNgpCUsW++FUNVT3bFAJaG38sdXTnF8f3DPZ6BJqUhhXrf0ffHIjj7741kDMPVcXfYmXyQU3cLh1kMvbJCmfMXibDXb1IK+q+xDKRKy+xouxhl64OWapQcQ1EkJuQ8sDX1qi6lIZ01woHpmUiFdLgB1E64e9ZuNhsDVaIbKAcsfVeAXxkUMFstmAJi6M56RfqjV9Scb7AT9EXkVnYoaeXgN44UkdUaeJLpakWdJN4x1bxpK2iOI9vUvrAh/+ShU9yjKMswf90uUE5IHwJfJbGRRmdxAnqULlf0EdTHETUuVurgOYfjPubRPrL/5nxXn2bxvRSwlsLD3M4+OSYSOaVgNxi53VxMJjXfiBL6aePAg3nZacEwEBdLhDbEAnF/rmih3qrnAwmmflbV4HRk94jdgsItaPZUhyv0eKpC7nJOgN1LMkkTfuyuDTOH4qVqrfsoyuZIZUwDlap6VhzfLceI5J0LUFy0x6Dd+CSOMDiIQDywj74tUnG1tuD67u+Vcjr12AHqL7dIgBPwFExICSRKdB9b4A1q+6YQH4Sk5Jv3WeiHyDsRVNCmEb7Lqykrp2wtSdwVl0dcBthTwINNOJLCrnrPiBMHf986QyKuD1avEgmLWOtYst+HVmc5HVVZB/9Y/0czr6tkoTCK4k+Uh/BbyGz/WfT5xIdjrt6xaepQqpa+LkLuLXFHyQi3dKyhx+1YNo7b7T3XyHtoG2jiOWJEen9RDfp8xkkCDFM4kZ9KGQiMqS7juqtPgEbCiF99+wyuLJdc2GcL9gjucJrpCMORsuTZWHChamxK4LWy2ES/JSBe9ucJZ08xJjoM+l2PkqacowQfLIIf6N7fPqFzAQOZE6GWmxoKiU6gP4ComdNq64H+sDrKWXe/HCBQ/ZMMDjUk3EMw8FdYZPeaiV33EYAnZcT3SztErU4Uokg+0SY7dQBwLLsr7zauuUBKw92eEPdoyebjEe6vQQYbKoM3e0j7CEF8T9v7UVPauhnCNN+hjCcVJhf5EQpu7p5hYEHom7gk372nAlET6BSeQuoRcOEbSvNfMSyq3cFrEgDhD3lZzgOXbEAXCaEUpF7bGXEfEXmhmpEjZXHzRfk52VRUPmZqAZAD41+CMDQbd0rHhhOPR9aBy1k9pLUewRVnfDzyNvplt169SGgvPz6vCIbHjXe8WiQyyX49L29qbUywnd90tb9hTuDvlC9Hgk7ii2TYZPvWFP7s3++5SxrzFcACioazfUAqZLJxLVOwSKR8yYgVIPUYzXfQaVPJ2T+1ph0/MHqmDCQYve1uABkOkHT5gvyGg8/TqnDk1laQLcmbD2t25xLWwpJt8Xlhg6w64M4KHBlE2JlK4+upfX1kQkqTNIssWr721GuhOm+EKXvw7XICdvLvskuvXJj2GC/lChKsccTFxNsjE2fUCjT7MBON41h84RrnVC4uSG2sQaEgD5/wL5EzYWfV8jELNbWYUxtJkKP4I397pvfLF6ITQFmaXuo8KW5XpfsZ7bov8vJYZnJwFVfnLvZa8mXzZJ19LsH9CAbgKTizbB2hVfTi3zk0EIeFRXW5mplonkiabQX1gyJtou0wBiiPHDNZBvZcCai67oYO5kTjgVLIuIrqbloyWi3XaoAI2f4y7wCi3Et47a5ytofCkKiEQAVz/G04RxY3vabWerTBIDZZ91iQ1oqJ45qrDTdz/kSzKlStjvMAVj/POx9Mbp6wn3QMEAQwHhCeyecbQx4q1ICF9HSLVYECmEBVn1Kgl2CJGgDTiJpBeGG3VcIttfAGBvQ/kYaiyryyL3/fum7MdRbfFGUeD0ZdLCvMg+AuxIYoyrtEk3zROzjMfNkUqn4t05ZSqDzSv1V4WU1gP8nS4FR+TCaMRzAlSp5EezC+6q2eNI+FRKMGPQ/fl2l8D9ucgAX2xr2k6AxrrSd6stjrnUlNeWKWEiHjH1kPKMwK0PLn9H9hE96EoMPONUy3hJ4oGPz0sx44TG7eht8xa07kAZQNsxkN/IxiuQQEGPEK67eIPdfJnx1cEsEVca//hC1qUPtCLtgnd3ZQ/HVhMuffW0qULGlMQmPq2Lgti/N42V/PA3h5OEQiPHMqnenuTs0Qlw3EtBZhS8NLhpSJA9+CTc0zno41pcDl48Se9+rSkyVwkWXHDfjFsxSQf/V4v2T974OvuAnEz+PQr9DMauRo8k4bKUKiHbeNt1zf8jTht1AKlxuNn8P9pyHvWFhqB8Bi1B/skxzxU1XZajdflAxvfzY2oKTD3wAMGnbNz6PemwsT8RX4uesuhvlFSrh2/K8fUYWd0FUHgI0XrODg+A08p28kyciOAYgHz8/TmNhmgMfbmYOp+UhdDh3IvE1OoZ/jPmM5Ik7NYpRpcVB6pYZrdUbIyTx/kOTGeOJDl5A+tCRiE1YG7nFJJgtm23VeijFuEM65jKSQVywzicVeaG4U2DyQROEAwdkrRYnCP6H+K35PuGasA/+hK9VGL2+IcpsxJ50GanpfN9ZhnMFe/Gwt48PyfBiy4HtWP4UrpUty9qu1rEVRDlbHG2hLQGm6wRs49UsCcVQjQjeya5XoQzraNtnFpt+sQEzz3V7yVJ/08A/DNTuVwWbPDy9s/+89Se0LnUYbiK3bz6QCyw0i5AXGRvlw84VMYNk2CkeT1fazeUkLZQ2JO9ktE+4XW4gOGtvNVaegHmpMmy64xaYmQeDeULozvfh7I2G96ghbHQbuH+CtdsE4SY8MdzKQp7nHGFTTZzkwQh09jz4ontmu7Mzkpva7SgvE17Ihz0KhUHu2j2EwMzLJG2UT+kjy6lgbLkGy22WHiu0uhcqfc+O4wclWJZTYz3xSUUOQvSACFLdwX84K7FvTbVWcNnvtp0huASZ20DdpkXMHAELOV/kYd5EYx2f+j2jf44Tkfpa7em7shS3UWhRTy2gjjFOAyaiTHwPkcEngKRjXjzycflzONqcyqHXsDcPXde+SWxajo1Zgiu8LvUIgwvD8ILomN0zPWRjgE9x/QOUMhY4yosbn5WisyIDR/gAcd8iUda6SOZVylCSABLcxxiHfv6KsRxWzZc0MRWwDVKmeazn+hctfQh1jk66WHPHBnaKPFrJXsQUIFEsRrPfEKZiqvpvRrgvaxTWmRbmHdIQN2pwZDGhmlOBlcjyNrvB0kO0bT/UeH0TDZxgu4rNG7t1oKJHQnJsLlAj62WHIIWInl3p1xRBoWwnebX2vJ1i7D2aKsCJGgyt+KDbL6aTu9Iu7MfmDkT2cI7zTnqBWlbt8m5qv6yONPvr2+pT6M5Be28B8nDkKrdQO3J2Ygyc5T2yEbT+bv4MeiPEoFQ9Qa7H/0ppnGPERiFXG8S1JtThQs9uC/ILOZRHagRwGdw6ghu00xZ3IVWB0uV4p3ev1aYKDrgdKp1cJgbafL1pQYWmOvWFH/ehUwjKJNDqt5AZnZZlFrKzt5FxygA3y4TClR2SXK8AbzIEC0lxp0c4z0mz4ebKhgQVTYYJ/MMZdQ2yEQghUzwWZb+T/hMfvCGBXo3yazvGVMC60Aofm+kcfOFiOT1wwdqBeYSD2v5yZ9DFnZm2MpuP9upUNms9ATfEk5o2v5PRLkAKgdLIOKYbNYvuQS40FY1pGCSo2bskKIYdlOxxxQ6Uit72f1/QO+MxvHcwuxraevbJ8eh++rg5m5XqLswdhQ01Vxz4nRn9YlYYYDKxQwJaQGWcWe5GG1qkpkF8XSGfqhbpANMowWIqBmg8zs498OtWJtaf0wvlC0H7hSCsIA5ARRHY7VMBfDk5PyGJ32hgC5N7/uBfKzEFRC66Qk2IS4OWwov3QZ+8GVUBG0PGDipYfraBLPvkbvNoQl8SSPK29RWcwTLgNChAPCIySeE+5pTSIuQ/hrRRWcVNhGWnZ4EuLXjBwsI1fzIj2fagICFavowm77XtsWEv0f46Xg6mPCu5hJ6PLXsUCd955XYKquDYQnFAdY5u2YxIzSv/8/3debs1qR7Jm80g/YojCgCsp7nn57inDEzeuTVXZfe8YhN6Rh/Gd5q4/WxRnukHuBuYpj2QtN1661kS4yFDi11BK9vf1gYfAsCQsYMuobCdqqpN7QBSGCCdj19Fpiwyfd7MQdcnLUN2hKYKuFa11g2vBcPg8cdOmmfXqRZ0KWpGSPhmM1bk5wOojjYIlJoCmrG3NhekFv2fbKdMjKH6zjSLgjROUX3m7fHtVvP3CcHeaiv10nx1iipE/LKTuYXkqWoJn5xDx6sy+Awz4zyClmOUgTrjRzoRQ5dCK8GvMnYnWd6eH6gW05AH21ihJG2m5rnYDnNb/3bFFi1awMQJTGACg8UYlte6qmL8pVTzagauRam1kdPfPkPHJCIdqVKHlPOIOsXtSVD+zdicyDofW93rX75QzUsikg174V7GMpsI27bBaLOMTyuyDLCWJjV6C26GOoaxUHG/+xJgrMU66Lb6KAmy1RkMVcG8tv1+6ApF+ccSWsZEMxFTy57YUzHi2Ryi4jRJZxONhmFKdonAoYp4ctelquz0XFQ1cAcMgU8Up7uYUAcl6CQV+VD8IZmXrMToZwwXvtv8da6ZEblUCE43A1zrct2HGXy6Bqaxf72sXOmHVJo+B1OnGwVFA4X+RiKa+QujGxbWH+LE7m9+aq/T3YOHmLGE8g9lkPaQXZuNL2bXchBvvE3YLkf35lJZ8WX6aRJWe7Ug1SeENXuZNlQESifEVe4VkxJrSr9zNLkCJf8UDsCKw67haVi4PTtVJAuPQVHjOLLBoQTtO0EtRP0J4WpVjhb3Ek4QgGbI816ZH+I+DLhEyE7u9CyhCwnmt8gLfWAxvdIlUou71iWmcCCxq2B2NCj3e+NTi8F9hj3qe1Tp1+PsgkoqkUPX7r0Qrkvbf085tQwx1IcftrHB0EnQn5oExW94Q4mPPSSmuNQbiLp04bWzlN5e8WlsPBtRQrTgAoDC/zNZi5Kl07oQsRa1FvRXiS5Cp+r8w6OEbvdDJbvQRhNj+oDGa4EgIEMnIyqlWzJ7wt4zkxq79K3plJ2fkbtSQ7xoYzLeF5V9BxsUO+xQu6mIrXL7DiV+eYahWexa/DyPFah1zxZHAwexPQjScyiXeK0ijvrjm712RDHdUGBvedtkeUNRLKIN8lGfe2MhSAXVLpuSqu8gzDT0/lg+AO/Tqq12Ux+7V2pWRWLutN6vGu/EjcChL3gaw9JBb9CNTPTWu62i9gQVI18hjEf9sDiP8yV3HYoKv3TRIGqKZDcE2yfUr1ysiAyiEOEAaqsvzwS+XCf7qG/QSP8eZkJjpcuoeB1MN6D5hG0OxCkT+QsRhpU/5/OQEhs3YUEm72b7oIvO+TBnXOumONf/qhmkeuoON3Krllq/U4lc2A+p+zKjcfoHcls7VNa3evyoSScyMIVxQxLfE4KNZFEZLzGOd/piYbFureV8uxrAysmKMizqEqqkIUjTPKEuPG2MQyUHsQPgaVw3e22RqmERk8qQiMBq74KtKE9cDJcgyxEWgKR5/DONXvYeK8FNDo3dfAfyaiXGWQgAgq4LDXNWGqSPDAyO9s6MoVi1XhTlUXSXBb5Alzd1b6ou3fYZy6zMH1w3mRaQZ+2oTI9HFaFyCWS4EjoBsx67mqrbigzcvXXMNJBbki4xwHXjbptMfo4eXLRJ5AnRwjTkuTTNP1tLdUEkjcWsAMpTX4+/RvXmvCbi0BykzyZiiLThm/E750xv6XKnsf3DqecyUEEU4nxF3VkpM8lF7pLhpvEP0xERUb/SIhURB4BndtYNIfKexHmHAQ9h4YbuTCkN/nqxvASYdDZHriREY8N/dLI+IRMDTxownPvo5L84BG8AqKCrkeL4fJb8MibqyctWbLlWWooU9+mT9CLMtaV7r9NMwA7lLWi9Vh5IoAaUsgtdyrA9n/WfuMQodvcTrOUhVvzmLLE5KFSRISSISjB+sFKAcv0SzqnEH0FAepaydOqFHamOeg3dVztzBflwgJ4jp1H635BYI+nqSpo88tlPoH3ReErX+uh+AipPWSQbPEkiS+EPCMwDIMSWkx1w7JQ9YWxIN7r13kzqxm5qZJVcuNLM13FI7EuRgmqOdfZa3lgvhJubkn5+qJFZl7FM4+8vONJB2Eg939jaEUvaM9HPLWf05bA2+LOru0w/23k+Ce0MVYKk0Wjt/Mi4xYePkuKJTIW5sHXkVeABox4OjFvcaoGJCshazqITt6njiy1Cex9SZ7Y6x//zLT0sqTW8eYMShNqwJAEpEEA8/kwYPaKq5jUDMXimGP05XdRTqeBTf9fxM5yPYQLxdnH8JT64t3Cu6hix7Pg9BqYvyB5g457FHjKOcXgWxQKAfWH0dKdQ3gN6kJqnR3BbXu9GuWG370SKpWDRfKy63tEgEC3g/LNJn+Q2waBqcYiVhUValfhMZFIEQpA10cMqumjnRBGSPF5YPRvXDtazpVGWnbmrDuop+fxs6EBeFaezKLxLC9w9xuuIxZu3ip1xFVKw0QF1UuOCXt3Q43cHfhx5l4LHrq9m7EwAM5RObkkd9gcTDP9kQ0bZc/WljyQb+29dRhdyYvy8EQQfzEP8VV8nxXx19xZYCADMYPPBNBiX0YiSXbTdTDhBgy8R0piFGkNRQo1Fyt7V92uw3yjEYwOYWsHeShys+kLFnKQy5U82tq8vr55qGBKMEJvhjmElYXpTlaf7MnW9VFgH7j5s1FKJl3wxB8F8B8UBJm7O9fpOsRGSBfvdQA204SlBpcgyB+nKQQmRA0B3YGXW22Rz7SumMNVig2fZJDTWSe4VmIolsd/j47lYwJMy+i16nQc9OlqaRqHQV7nC3QzGYo4yUcI9UyJS+g0RmWFVYV0IHhnjqrZgIv7M+cYFFEb597bl97FsodWFONomRGcf8BfaFrvwlGShQCJM3oZh3Srvk4ZzqxF8f0HeJJpt+AQhfV2Ku1Nd70U2SEFYvAy/xDkcAgnq2ktRUNTrRPWjdXhFbX/l81kq1L7OSchoRv+/ZPMQlKW/5RDxZl6JMBiAsYqTI/Mj9IGuVGe9oTgDeWcL/6dFmxBSfRyEu+Vss12AXDS+T2LWi7ik3YiDi0usnlbX86cUUzl2D5kP3ir8B9jWFJp4IN3WQGi6FCgyjxNKVo8jzjZw0iLhb2sPI5Slj9h98zvy0VsP+APiS2JUa4U6s+RTlzzFlyCWNKP4FLK2Gbyr8NoO1BJ6gLyutkmzFE7j9euXu4RPNv2e9WD8HGN9AUcINecBJmUEVDCbDh+x1JXb/93zrDBhXfRZvY75Eg7avfMRSBNzrhc3P7lHlR2K9mWwvSSUPKRo1+YueOHz/UQ9VEO9IXfkwNH3gT+iOZ1o8fGwp5J1d2N+UKO6wgex3/CVvE7vz8/P4f5vb1Kkf4X4UpzLYmlYpj+pvLndIjFtpJ+jRnJhEzyGiquNbNpWABfYqUB9pPfsaql5+Xq22gxfSSlS5PdtsFbDZSjDg9qO2xm8ZlQTXKa612LK5zVUmFxUZ+d8xSKkp4YgYPOp+wxPixXEiuWPYJu/s/R3hdlW5H1fSeVEBxATsysfBK95vIho/RgDE+BEb9M4I5wLGdefNJo6vXgud1Ut2VURxSeIb4aPEXOXh+l+J/zr1qMZ4c5+PuoypCs88u6heifvuagEYAj0I6nS+ROw8kU7e+qHZE0z1xOJpTfD9xZigdjyK4FNaXvIrjwPdd6Tp1CQhfPvpRZr64oU8hEyPegytlSV7od9IwrO4/FZX6L1+KE6IzO/oHT/h/lj+/4WfygbNq4iImYF9ByrE7V3VaJ60Ds1UCu7ZN2bzxZXfcFaA4iu/D8zp0NA3BMgGhdZyGGfiSO0v2qGvmoD74Sh6zowyai1X4JYn5MCyp+aNfyBpMP5DAXqFJpSiO9ulCPBwCfhyOzwIKreJmwU1aCqcA7w67mxF46CPzJ1mv0nDrQ9lirpTai4LbgtU7ABxhrGBz7u+vRpt/3WJ0Ym0Qzj2bolpbAQFisyAQ7h4P2vtHxUsotNcSq4LzaHsolmFl2cLHjTaIxk37j8hSJZE5gJpY1iVdV4VZjFFBT7U/+lcoV9PSc381kDh410BVWpXPXpZMC/iQ0leRvEuJg6GdAXYCO4bWUO0NbEutXc0/b9wNyvLhJxpHfw/2S0m74y+1dFdVKuw70M45qyh8iZxyw1SACTQ9jMA388YFFeyjlc+0Y9M6v5+5x55HvSAGb0kOa/MupQVeJWntPjXzcVy7pWZWNKcJxUBlYLEcC5RLBSncdi2EyFjbykC2moeI+4urBIKQPt98hqbsXibaANV9H9jm+tgGPLasj49C3FnKkr6Kh9HQUbNHDdYXURalofx2mm7DBhkyZioafrXCTUK31i9URPgN4uMOUkE4xKVRT9fXqmGLeZGcQd+23mr59rDlnQXDIgaMcnyk6kCCAKiq5TpS3uUrZcHP47iWqjlfxXvKjmhmsG0ke5wAVmD4ohahsXf3FHIddNzKZ4VLjqDIcWhPLMYPJ/h699/7XT0AQ1aAjuDljdXadilIfVDewOn9JT3A6qV6nU5PvYPXUEwPkB5L/ZrBARt8xW6Ig3UCsnf/kYmJTvwf8DDXqfpddiDSSpQ0MEfQ2vhTBf/tBUaKLpqAKcDpTTw4h4Ot+hF7+z/r38RMFXKgaxR0ti0QDhx3YA8MwOXMsA3kHNvwRP2ilDbqlxrZhlBcWLBns31nIQXjpl2x0jEFsxNmTvBxfStcJ/Z7Mo7/mi1FKtgBksYexMX7i1eDOE74lqlBtL+KVyFW4upCxqdrgyHNOFQ59ntLFq9Bs9k84z928qGUK43lgAEwhCB3EUzxZDBiZA5Dh0cLhTqJ863yuDhXWv//QyDjFGKUKw/AjL2p/QhNEWHdGTVK7h4V3Fl89zRFy1ZVN5opJn7Aun+dTTUgW8GiB8Nlb5pdw/m+zkiFYfuNF1crmuvlO7IVLah+7klZ4ar4+dO8db/OZOkKmRdyWkLLdPnWZmtqMmrtG6OYZfMP0GKZZxvEDUAaWZEUh85K1AKaG0UBNvaJRyVy6j63OYytnCcpTJTh7YLcjxns4LprCgzyN8vkWsRF78Ct5db5TOjNOSWq1pfRgxAuN/tgKoNBjbrW4R7+LlUv4nY6xFM87no2dwJcdp+OooW6iZ2Ze3aPOA3k7E+C2A6ufnO5R8qynowWEDZvhqBSGcCBT9ZUi1lRrcZB0XjiwttADnLo4vZB1oWeK11ylaHMMoDYf0/LANqx8XtYmCvIoP0t2EqZ6dCmx/UawZTTGYZC+t/Pd1fmxDKuh8/TriJsN1pEtNcn5GlnFl3fe/8xp77y4/v0eNiFyzugnMXyn40a3EaHqEhhhJFbfnF/0M1fpfICBlRy+PJs10biQJhfYPQgD3+qu8wZv0wgrPXA32hKNOnA4MQrAy/xe0KFNKYWQ01bGWuVW2OoXJ1ywQWe7F8kS5j1fUfq/7C84e/WEKJ6v4Jm5Pw7OvsDMXVi/tDJ5vx101urux0bKA8y6kWauTsRT80N5bKCPL6aS2Y5ds2ZXKrLwStnSn6Ok8HmxPiateJkdtJTlKIOIfaII7BdCJlhwOY29bRIE+IXfjsPVCYYax1GCgmMNGFF84D7ggE/mWQaR21B7atH75DoVod/y/Y1oWrTXyriQY2EoPli2Xp+tbmlKBDTOIZKM5YN59xwbK+pPRlg1QpT2a7vMIngfOIVpQS/MrC510vssH48cfONIMc907zm6dF2O5DhcZZAcoUz3piNE/0utbZENPHve4zF/7fCKa+XSH8Yy2k17WwHH91pgTX679syWP0hE0FXefFdDMf4b5uu7kS0Wh6luRtlnfT1SMnTmaZ0CGoNJ5DsEY3VQ8xN98l0eJNJad0N1qIv/eLnK2tSn4rucWgM2S092yeriljWpQf3wp84aNj2v1/G31+oGULc9EfTH6CO8rT9ECj+3UNbLcIi3UbOVza1nuC3mo/XJjOdUrhcpY6jy342x5+nGSMncFnWwsOr59np2cmYEFHs6g33pLxoMI9dmYMqBBrZRD6mlS+osWjePCdzx0+2xdrM7I/6JN/qtAg6FW5Jqi9H0GvG11bjXNqP644ndFeoengWsrL4FqTwxxEE4SHNGu1A5DqcsppuGzPraEO+MkgNXzxq0xSZjoltrJmN/1kXZIP9m/meh2Hd7U92RmH4ygsE6P4sAr20M+0SfAGmDH6mHLJoqcPErv1YWGdq+GyaGRGUMuQ3Q3EJaHcMElLr5OsSoYwKq1z22iQNGR2gxgnUg/6is72/i1STgUQgrpQbyBkqzJQcWqLcBUL7G4zOI3xXnDeSV8Cac6MB8d51zK8NKBuk2e+ODxjbX3dLQjbAVhyxmXWxwniapOJsDnGKQm19gJ/QadnQZ2DqoKm71t/OtzeC3GKqHEiWl9lVIOK6Cfszs8kxUPXGNooP6nL03ANqK94BLylZ3HTwSP1Lt3aiTTyOyL8a1kPDGZyC02jlbfSQ8e/o5V2reOdZCTKXjucPpcdDDt+C1AOb+ECDWzMC4QkSfkwoaaC8wkRiKiAhVuWaq+rWMBAMbYgH8qbUKvyblaexOrzIb1zBFXnrCih4dlP8MGvHdHRc08UL5ThZdwwr9e7H0sIbHQMMAWFQnEebLzJV0QH2SnKmeXmedlAzIBLkH4vb2Hcu1dQGsUoJLpAmxJKT5vv180plIhKIE61ZeCJChrFbQ7VMB1Wwy37zgu7Y2ns/ohuS8jEQGPg86aLWucyOyFDXsVviBtbF1KZp7Ctp5G5WK1Z2LiWmJL6EwOiFdGXrHnh8mFiR0/DmPOpIoZlEBJdwb2WW8WX6T16pu2yop46I8b0reyQPOecSeD+0Js6mA3mKGDzVZXxqxetYaW4kANF2mQL0msy4MbwVYdZOHTdGqSEsHNHRpEjyqA//jGioDNWfsqQqszIcSRHSLfdeZJfm5RXio/OtsdIEcs/GAkCAscqMuC2VFBaZURJCSgYAlWfI/I3h/BBYFcYo65PLiYOPQOic7lrXtwkBnmxI+sFOrabHYqkAsiqCmzCgtJnGMmKr7X8/8fus1nDbLS8rCAC7MBuJiT0JdRl1Xetdyr9C2EspV7RjEjIaddQhOh8MdtQEWYESuishyHQoiOimcb3oRjsjUdTqk4j/xpQktijpwyE+VFes0SJO0eAa2nXTkfj17T5Kelh7RzDU6SF5n+Bm3MTm+NH85lhhVgTFWWMxCna9Dfk3z3cnz9GOuCJ214ODcwLRh4Csf6N7s3jIesTXuvirO91fFEoEx8pZYXmyXYE3zgiPslEqp1yVTTY1zZBxE4pfyYjB1Mt5WGbt+wcFBe5Hq79Utltu1DwtpDCYJnAuveb/qx/FgqKih0fqOeaje5LSdug9yqjM08ZLvLqPAtH0Gh5fkD779OVh/a1y25EJn64utcNra4JGj60wT7H55MLCOtLMQ24n6vR1A4gb3CR017KoWN05rWaIhihc/BoBqr2ZCaxFHQYZJKZqzMtP0ZjhXSvZP0lgrCz2mVlnbQwYOuQBoTUw/oFIcaKrR/mlT98QG/8ty2NYhx6qTzxdkm3J/aMtd5uIzzojmV/hDd21Ea0S82VclJc0ivMPSCN2lGs8nAsFHddhMKGbNx33/Q6rbA2IIsNq9IG+uRCqm4LGTD9zydwbrcK/9ty8D6+RXMRfSPWx/53Mk5uxFe4cxxooHn9i4WqhhZuI+98h0B7aPQRQvJbNBalpJgsYLfpAGanuZUxPLIeZT2ixxoQd1XZOVD4uEHGqHVve2VVJZETEPMogysiejxK36JJEG2dmxCbA8zV4a6SrJK96d1Kl3DZkze4xhLU3kyqmpF9crdGGJs+bXRD9X0G40vMYkjp5gBQvjuhed+GrLqmUapAhO+n023m8hfIAkQ8cU3RYl0Zq3vvlf0Yq/W/ma0cfEmYtwyVfs6OBrr5fmYQ98JbZxjwSIy9pv9GqdwAfT+dJnLjJ2cpgx85VMOvWNyuJl9jU0zCtIApIOtutbwKJGvh14S9bsB53JXeyQBv4JRZryqqOZaC3muyXfSgndmqRxhcFxnkgLrOSmwZUtXSBC6LvnR5KHApayv4uKX5pzY7sl7hag6UZGUnVUada8bJBI3eWljKncvyjk2MY3fA67GpfQcaruJ9jn/ZR8rJlZY78x+AKgb3ZDhtsPUTOw/FrpHIA3QLw9yGuC6b5DHe1ooSaCRxK4crpx2o3yGT1ozk1JOAkK1vnkpGUOUMI3Iq7uC4yFLi1RVY133Zo0olBHjC6CszLS5Syb1OEUWoSCKYvk0zVtp6TqeItBjrl4qcngL9Dz/Oe29fHDbkJSxzaKWbXhdXMfXefwBdrmvnppH8kujwkyd6BwdAoOi/+7ls14k3d98Bk+YBx6ldvh9YtN7IvlmQ7Ag6wpeB85n02xrqEXRVS1HY97HWm7l/Dr3Lc+GusCVgCETFd4wOmo43Q4thLNulx1A75oxtl4GkK03yQZ3rU1HRzDUZdIPuOz5mol32cX/v023wnfzrE7J+ZzeLUiKA2f+keeV3YtL/O+Fw0zl0iRUTacy9cJ6PmmrXjBSN8PRtMWL8LIFq+TyrRVcNyzPCvCQjvdXKEWcNrZg1b8HzVv3UUyrO2rVkuPpYBcqvvD547RcYzCGqYGM7mO4lhBogC3HOwJZ7WxweHgIAUO3qtmQD8kWUcw3JnqRE/6waxQlG9GJ5o2/PlGbPswG3ZQd6mK1Id7/Dc17UZSxXlDZ4Ow3oGATt/3ImJHDiCu4/sFyY1IchagxwfpnzxVvXEzvXPgrPoYEo1jg2bpXOYCGTQq5Ztwc/H79IYoilPUhWu0Zqc8sk6d2VczIgwW7aierNtwIYzqMp29R+UqSW8t3edqaseM57uaYeer/gjNGCbIaFydqqwwIje22v2lEBcnOSq99LtwHvRuMxusmw+EOswenhfw0X2UerLnkuthOwQw/QUUh9rDAJ4LbePmMIOoCIdUsFLpLglbK1j9WYl5ymLYgI8pSzlM44iu/2KxLHkxZDquma5CJoJ765LNhxmhJUVBjq3kJAsNnIxCJyX74Te1BgBbkxT6AZNrydKpK3QjjlIwYmpNrlrt1bab87zKl7L9XUHF/WYE9mpaC5Rdu7V0d/8bHmpziTwA/NWabay3AWXjinS9V+rdbLr/VY9ySqC8oe3VH8O4qu0AuDPhXTTJRG+rHUm5a9kbPt9iRjoawFhGqxFQ80EFYVlBmTgb6YYnlnay3I8SA8MWmAU4H1WZkepe8vFmqS1Dk6jZf2bs7VA/1vfDCIAWmMjfdH6hqbDw1ko3BWNOFhQBqo1f16EHN+N3YRMAy0QX1iYJA1lokAcljXSNxna79Lui0BOA/LDb4sWG2saBc3m1jV6GkuhGOxPXoa9tS3KDKFoi6LeHQRBWEXjV8Bg9E4Fj8VVaiXovs7uzDFObzxstozwTGKYTDwBF3SWuW5BEDTpffOpFGHJ+Uq8s9ixZbeKMJsiW8Q1lROIIRy+CHjoue5ZF4iNAP5+6RroM51kAkUTkF8rWWvvjxVDZjjhC8rPFKjt2IulWXhVkb0qjkhqY7Y7gjl5LPyr1fktLia/bIhzDuy/1zPMatjQkCWzrxfECJQOZ54WZLpr2SFOfwOg4ZFE5SQTG1lZc4obWprTMPWIo852QlnuYvwn8JNOhY0iCN4Wp9eGFHYQOnAlo0Q4qeTTMZYJODjC5XjIkUE1cLWJjKtG8VotAplQ2Z8nPL3qw1kDV7aA9m3fbg+vlxoEmjBT8jAqGXtDIl24b6sJe/o7U/5moNn+s9tD+ye2ImYN1rZE95fBrleZP0aXe7crCiRLLAaXPyYvMfv9v0D8lnE+I47HiZTTSlHCs1y9LdUJIR3nTrgQ7U6umcOgwsrvnvk21O1Fqzhox4bfNlLWOFq3pbr9ZwfwJp+9hJ0sFW3ZMZY9afp/3WS9oYi8FAuKzNHQ/rl75Ha3e49HIV54SCyXPrwAkswTjB0L4L1F0axpr55PPoy31znAppT3sB8qxVlWceJ0bGOOxQkYwKeY5ADAbDRNvMw/f9m+lA7qL6uWURFW1kZSwIgDVmPbpWqDkBpcyCr5oSsvfiBwdKIkvDTJgvRDx9UoKtOgIdQ9PhW1p974lCOi1IN5XfvCYuXKkBvSMRwltevszQZgtIyunfcPuWLZG7svfNlKwKlQBAovRFknk8mCtjFL3DQ/lnRO5BdKpZ/jEQsbzvaCx9u5C6l+kpcivQytkWQHeHKeO/5lHSzv3zB+Ak/lNV7GEJynvAf7zBLw1X+UDIlK84PA4ZwUIRq1q3TCVlDDjlASKFLfBlI9W3UPRfTrdueot88sTbi536mD+IJJKib3Ynb3xFOsUbmtKxGhgDNVxYAsw8JoZ27o85+XLCicBcCsFl8++hnK180xR9PXfdUk0EFFdN8+HxUtmAaGNYKlbJQkn9uuBISie7yvYLWsx5JaBc8DbTyV6Gc8KpjMNumzE3JMkhF9Bj9K8VuGBuyfCnVgZOCgVxMte9zTPgJONooIJB4NJVDury48N6xIQyaQxaliwchn3WqRLZCmwxsF6BQ2FZrm1hNYpbojDx+E0e9xJqXpTrkyu817xKkoB+CCvTxmIkxE63tBETs8jTfkiyTRZxZF6uJPPSR4tABOCC8A0wwRQMsXLwyAn43hRE+nT/Y/chaPUckwv8HLiD9tKJJ0/oHRPHF0LhL08mkMuuQPAwR6LF/pLK1bbF9K4Raz1yX6skpN3K1p84RPxYqoAh+IthfxYUFxeoqgEc+bMrb5zoDTUCyRt3ZZHqbyMgo8SGVcs8P9yupzm3pe1ClOmb8791VUW+AcG1tsyX+PXhTDkcitfP0vw9q9XkXTEur0ax7GyHh6rgzNrSexuNFfnPXWLIrFU7ng8GsXpxYnWoYql+Bh49mjg/s5nIhYRKxaMQ31SHtF1xV0InvEz+nifxlmje0YS5q8D/0l7bdxZC19ssuXyS/bh5uW31bu44J1gl3gO8wNo9NnXqbfhgdJHC6awzu9cSkLbuXK1zjytl+1WDunCHS41j5a0A+CccrfK253v3HyclQ7PFE5eRiY8+vDiRC7mxYCOdR6e2SFRc969vRJQH1zcxREnu5off3+N/NkgbQbtavpgjud33ITYee6l/DKToZbW4oy1tVxdcW3P0ZPUZ1ZaLdiLYShjVLFCg0F7kN/3rkXP2rvUwN0Ine+oxt0yoWQub6lBaeNEw3FIzXF8AFj5gwTWvl5mvinzfZpuGT48AzrrDq/NKTMXHXaBNq63SbDmYTwl+NJQKNtigxZV2LV0aWhVFF5AotkCGB/CQff7PUShY+ABf5psyP6UP07tud/nZL5p6ycsfvNqak2a3PW5JnB6IPADvIuat39g4QmTI0P7gRks8oI/c998gvPC8W56T4A5VfDxiUim6dg0DvIYVDwfztr3q0Qdv8YnQZ9ZlzirPBZyReiXaZ4ZbUfdjJDETpK3EXDQCkr3xGamyLUkUjJqMVFEVeg/GPf17182UWsj9t4xlDU3DvjMtu+Xpn+vZCzL5HrrA9SVietpyK6Ck5IXkygkD7NxK274sBayibS97zbKbR6pkp+cIFuRSVrMWlhiX8MUB+2FMzuVjooCjFE4gWaFwQghhXlJAxNyKiEYjq8xzqbQoYQp4lo9Wfq02D+poHyj+uUNyqVkTEhtYxeF7FNwLSo/UvBqs4AQlaHhWgBS3hS3i9iDwwaA10BvU0BwQjHvFP99uOkyz9wSQ1YJz/fa6rU31KFEpr9IxsZtYPwgEXnhjqEn/48DdwACjQ3Hp16BWWyN3ZRZB3x4zBCg9zv80IuToYTs/7z8m+2oUzyjhfK5pxJzQw3m89ELbCCtAHOuSX7vge2fg6Dqv4KUsxFlD23Qa02GC/kvf1KemdPDzYQZMDvRE8E2hAbZDw5FdI+5M/uFvojc2ZmVhkUCKf0l3/WX9lmxPjRXFrXG9A7jRLxarfhgOLQDV7lpQDp1vQlqwm6rrY7V2uShMKg/Nqo2n4J6tyaIRmNdiceC2R9wveJ6JYsVwFWD8J4MiP3jY0W15iarlHJgQkoECMTDeucfGKb8NzCrygbRWE6jeM9vFmuQDR8pGet7EIFJT4neTDuhUFOaaMRqru/+klII2/hGHXh2naDO0MpNtEB7bhcON68Agf09TMmmu7iOkM33hvg/iv/1/1W9DcXWf9EFMgROqG4krXNlDvQBzkFA7+TD3ME13pwfiqcmHe+S+/xEO/YFydKrYSGhgaLLi1GYAIALE7HlpruT/Hs1Eg6sMoX4KRq2roB0dB1byXaRWfjMUZDaYxEbWicFmWvL9cFkBRvRffjETWj3LJLydN9Xf4+qEe58mb8imxnufIVrhHgqeD9jvkFSo1vW64TRGg9Unwls5vdCnZ9JfmK6XtVmNXK6BP3/19HLZx5ygx44GjsJF1WFwVpyGYFaGVCYqoUkqzqOY6jL1FxRgGgsLhUolEkeLpAs3yMbXnjqvMAdyLMJJYYUlsyGIgwC56Mrch/tpyNi1tt9L7CVMFGkhM/w4g1iDqAGd8kKoqorQeV0feMjdltR9TIeu0+4aqKllDs3wGDsnrrMlMwTVxYVKpn2ReNf20w/BAbwK8rUYLx4zbUe9Vk/2ob9RDzy29w7BEagR/3pleK0ZTJ4K8r5pmWRdItcTvBDFBLosSFmwGKKLURiWddE+sZcZecmEfWrvkeoixPPpt8TlSpLNw4MKpvUHcn0vllF0Dw9QqqUtLQ5yHAxDOzOAKt/FW+DQPEcS4Ac4t6brqWcwLxfZya3bhvkqf6oAfwhobU4k09M02mnH4DQN7/m3rAEyUPtBSugsxkIJpUoyNhh5neaGHJpxtHJiCRuNxJDf7X3Rz7GDWEFG9Scibp7hSWlvnCaOGmeWQAvZfEP1OeJkYu2qLWM5zGMA3NlQSr4vybZEb/W+3Pyotr4yxFqAEXAZLcMamyWsVPJElzrHtBqm2hH0UEx31UblR1BD2+r/OZBdUCQ3HqBgOWlSk63jF1TM0LiOFB/F2ZpgylGZBhiIreYxmDClZbJ53ROwff1MVvXsIRWGoRDYaFXaQE1VbUksS2L8hAsMV6SotedREyX6QPST/sa8ckgS6tr/Ao4iCYAbiaHtHbUMCVxKuAuvHCKBqniR/Kc9bsQ88my+D5w/SaEbB+rFeZCj4erTAYUj4eOXCfYfg9HxIqRS088Bj2czrkGM9QnjwuZ4NtQB6vnx2zMh+Q5fdoBoE5QHQl/jTT3Cz1n94EnWEOz7nKL0AJf0Js5Emu8j9TXzZz0p2QQOJsV0XB758y+Lp1qRBPxEVF8HEkkXjot6YE4jr25Cn9ISwuQX1kM+GmqyK0j3bberSVrC87EFUed0XaLZgEP6hX6Q+Ee+i01jTLJ5XhtLVPbWiEpE0YdyCETDKW1GzpISOBs+8s17AcDJ7hZK+/MBnoOVrGHgSJ2b99hIirosr7QU88hC9gZNmaD2OJqM4/WZhdYG6N9LMzSUQRS8hj4hTtoFgHuWj4j1kOGtK9rwXv0u8x/BiLgrBSJ3sBYPYJEH33IlD6PYvsyuseiPnV08juBE4dNCUG4a1GFsDWN97VKgSQvZbf3oV0vGgFIaggoySJRNUfA+uk5j4nNKrRxwvoosQSQ68HyIua1lf0YBjhX0DJHDXrsd2INt+6YnxeircGS81zzGy0BCcBllkOQZUsGYWWMaC91WW5L04bVTRNPZKAG0T7tRCje1CO4LhyHMNelSx9ueBddPLpARpOIAn9WEg0LkenX5QWGf3AoM3OKsqsZo4EJHzsG5bEdapFjTHENyk1CRp0EDrv72FheokWPOLMisPirBWVbAtaKSh2Moc6uAHPSEN8eed6sJNkGZbjR/3YJe41BlsXnPv8oafGVdCHQduXk+S6PIBg+bODx+mB84QGe61x7YsD+GJuMjXf8RQGm35rywJCq3lURSkVmY5EjY6py4NrDvvKMjKShCy96oHrH/iKgNP688704Zaw3ye2dj6LKGlLZpkBT9/7JgLCZw9grc+mHnlI4bj2K6V33cEicHabpfrK30s1kT4e3zKbG64oM6bi14JB/v/IH7AbxsIU0WrtY5V5V2oFTPED+nXotcyZ+szfmilTIxOxBVXcyde+zHXklPdAEBdux4xUyoIRUasud2+ORhJBVQphXAs5/mVErO0aTM0kf7Wm+sbmw4v+sGElfJV2HWKqhhXnMZBnXz5quTtiFIXoDI3kdy/tAO5GcGe8+diynfbSmKUl4NPKyqVHTbdlUo21SIIxMwSPnqjXcy8/yFFONlUM3u6J1YRoqopRy8VErpQs+YtgbhDbpA1oOZ77IzCKGW3e+ZMod62EB52oXPlIlyQb/xbWuDtcPltXNbnJ8ba+jN2UZnAKTVwDOn3jzQf2gUGmrsun2VxIoO0iOEzCxgELflwV9jnX2KdDKi+thVLou+yfCRAw1IJLpE/YAKPSNmrqmSP9vuNZJN/qfrBoaZV8zKpg7V88JShPR2JK4Umiv5esX6wrdIWwPB0+OExp+nd4nB+qFcmTNYUwKE+LsFMv68507LGdPxWiWmKoGEo6uFvmzmx5LOMl7clmAxjIYMH7inY4CpG9tojtv2CG7rcBB3VIjq2SvIz5BvlzWjzPrG4WDNUKoeGs3/SLJ0ovaaKT5zLh/NsIBoLKibUBsbP8peNICQbQ9kDE85vQXIFSH8RW/b1j3FBu56wDdH3cTVoQ3BqvjmKiA8fsyzhb9sj14Qh0fYpz6wlPTyNC2p1sA1SjzKh7MKdfEmhKvSxOYtjavtZAoOE8D+NB51nSOECqt3FEnfcRr9qZlaw07H067zVoFOyTroh2dh1LcXeedBH8RTnY/HflgCZe6GE0yRj6HF8Rwf+shPEqzbOFlMNOMI3AL+5sa/h3mL5zTS25M/5nYzqnxsJ3Onpl4sK0NJYGzfa0+DImpUtC86Cv/eXzU8k49u4sf2+ZKG0E0aJs11aZJMs9+cz6ij99EW8PC6wt217yqui/k58+jtUGZi97KaUvU0xLewL4ZuqeXTvu7bXS0kiinXG4vF/GE0VREGwuzViYUDGa0MQRTIF/DIuI5AlDKORW8s51Xx226hrXjSwkJpMQXjQi5gpHBJrd45X04MQXMuXEHYbQDZED92odaNk26tREl4PE5CWxPXYb2+WNztjoB2Dtvqo6wX5K+GmQxteC164AyoF+JeTbDCQh0S1eM/CjwkZ46RH89u3Z++sNcYuatNBhAax8X7Axkq//1VT201kjSmbFLAg1E289bdkj+jnLsrJp4LG+/QgchO4WvaQRwgLsi95tSlx5aTfh6Bw1XGLNa3q4YMPxAdpTgqcsljmEZTPVUBh0grekiZxVwOwEZXpphY56LT9y+F1X+dTCPSt9v+qZpH+UNs9E43/IbnKQUJMoyU/wmCLN1OqAu1cx4gThjxtYy+3kRQBo/Fo1iceNYwbmhdyC8HJomupUkeME5SiUNdAalDw0kUDGugP500UiABrb9mTrMkLE+7APffjV9Qz7X4Sj3/biXt1JjgyVWko5shCbEnzh2TUhQBWhM2/Jvn/tjVIebDjZawG1OLNT6FWIPMdA/PPAaP3ph/kuX4OWHlPSuWJ7myPCnbWrXIJ9dJWYuM5XF1l8Kum3CqgYYuFoDdvw58ZO66cz5ZseI62qlVsp+uPqnJpDUk/3aR+7ZybDhiY4BWNPgg2Dz0RaYZqULU3jGzB1VRHLxZJyhgM15pxEAOqQZlVjTLSMKZ/kM6TVt9JzG2zqeh8HUC6kTy/qbhhUiNiNz/enRSgV8tg/W9JKveI8ubmI0FojV88FtKUU6HPqTwJ1N363SbvuUgrvhONp6cvIHKVV4KtO24oToEIFjoJ7bePaayk0CkEE8zA4nqPH9qKBsjdq10cO5uv46wV+YX16jb5o/rEKUCGa3hUwCoMPuxQ7B6JHRb84BsWX6GK1Zo+wMru9j9mi6twJ4ErJkTSFhF73+Nzhvq95sbPwCNs3ow9vlN4pkbayE3rvH4ODNtvJ7/tqihDfAFFmJRjWKW60+srwjRCWT0q+OujsqWm2lojCKgsFrgIsZDTh70piMt8KM54ouAknk6hLkX/SVz33arYcO1buI4b77jKSbMdMteW3pq+IWeaf/9gvWnEoOM9wiq5U3rkNIIpF9GvGuVUV0INy6NEIjaVFfTPISFtzgDGvGdUuaXoVRoECJD7AlKdWdQNcKFmutCT1aH67WBHxljenusHEIF0b+QsK57yRZo63ttd7RX+IiqQa7cEcldxuw84gsFaCL2asaOo4ssKAeZdPeG6lxH9YdqUYqTVLbP6ny3VLnZIgntAQvAWQ9IrKwEZl0IYO/Vi76mV5cvyshR4DaVAnNjUPVz3+9gbW8dPsEj9ILzSqIjqVsdSyagD/E6bBEk9D5CZcYbtIU1jj9Ihhw7wsTJA0eBCSq7Z5mZMKXnoQ1d7BFXaWsp6ZqLH6x0sX3FnNLFQqpJtxYMwjoAuRDYm6mh1+w58igLkhZE3e/uXt0dr9Z2+bMow39oU9qIB//5QsxuEpj7UCbgWSNA4mo+bxg+psvaGNxQS9fz276XQovDKVNpjWw1R7gd9khiBIBntwp5pOJTR2rt/dAMR99bLHv8fKmKao0ikalvJFqQImjuRH2cKr6kNBDIqlQY+Ut0vNYAQ37QtNg0YEEBZxRZ+cxIWmR8TsmsP9XnPuW1Ah/3aCJpjsDbaEFRiHUPuNHIJXHMRQSFbA1v5Q6DuhUtADJL6V1D221W/Ch3RiWsmz4TvfLdKr8RuLhWHOU9NJw0HYgTewtlGfDu/nIuXjCbfdQwCQ+7NZSHu05twlpD1GKSs03btc3fPRsQDb36jLxqoxbRUeLDxVjz07W5rDfhs3gcyLJ7zV8qcmMGYdf/v13u+PB7QDfKrPr1PVgc8iVSIoYeYXTu14DSs+q0WyhcRBn3MOhbAJZO39ojjjpw8VZd6F7bazjnk25D4QYHVmtzv7UYPAWxSsIUmqv2csOxC3EYx/58zhQ73QFLHX0HF2WNVXcuCINqpdexC2j322nOef0JTIAXuY2ICJ0GGWRoSSn3qTrIPce1dvu/zzHtN1gBgkFJ0Iadt2/beju57Pgrx2KDU12hFvhdaGUVZOT8wsfwSfpKAxMDEDemuwJmIy5OsUsJZHib8WwZVexU7GIHbB34nHnUYqszWhwhRUsAdY+EABNNDhRDvchk63QzrMrxJZRYt7BYrFCbLqqhp/6tM20OIGJISN+meWBE0L8/03H2L+L982eBJPRxrUKshx7bgyynfSQRGaBQlrNCHvd9+ewNm6ipAPHY6dCOCjrREy14GohSytUsQnasqiu8UmExZ7Ycd8YaRTg3v2/lZsF7XwD7yrNzjm/Un05VCh+flvK7CUBQ2y7dbz60hKquFrODq9C0jCZ6HM+iNj2PbHD7njfXZHBLOfhP+uUnzDWq1j+ph07jxYBgy6nVquy6YN5rRD6WWgjQh+hYJD/FV8fTQMBBmBFVLd8amhfZplgWQgU9tY20TqfY3hs/d0NjNpHeIIHzWc+NfXm4ZuXicVjsInRidX++eH0q/enBGMv4jAixLx5NrOvzNTVtrHl9mf2FczqaF4Fzlz8THk15ici/gHDzwbKEKTmQ4ZMmAcpeLDeACk8jpNijidwDzb0pJBNasWCedibQewKmZcl+n3dUhti8kBFDUHnufh3s5Nb9rnkqvf2OheVKbMP3WcYINNQm2G94ZxtXgCp1fQXenmEGy47oFspQ8qSNuR84/UpOHgF6WraEzkyg11fU/3zBRp4sp3z+RHXRS4bjqeNkdqWCG9wBB/uBSsRc7ijQzUhRLBFVgvXz208ZHhaFSskkQSzJKV3vLM8l74WAkU5QaqMTmuhw/ZxIpOtdqXyJDnioDzn1utfCHi1+8lm8cd0ywbc/mDMaZRemFxCZ2ckEupNLnjnK9GnH9xXtQBxMYK9AMthXgW6BdUHr3LxnPU9h3g/zQKJaU0Iy7VkiZoVbMN6qMF2sLhqoXyy581jcXbqoLRKnsrbkP7FIQxEeNSKew+rff+w3rcLnLDwOYpbj9qkqIq6hY+W3B+Jtx7yPmQTQK/oAK/NAYvQsqk1B3+iUzd3x/mdVysX9UPawWDUc7k/1ddVwhh37y9Rx5NzUutiz9PdBABRo7B8Nglqz3Tb7Bn1uyeiIBAg+pgmsq7T4MXNSe2VU3aID5OOlDlwtjgFal+7wIIsmp3SXchmFcPfvD5jLvHzT1aN7MtybJ0jVtguH45P/auSXJQ/weRYrV6Ncg8hKtaD42OK4DKwDIQHQNInbZgHsEcfOxyuLL66zs2mSXt67xRK5bI2oPdYzCjisRbz0VJ7Z3qBlniQh4JnUtDVa7ToW18tjbeR+E7p6/XkXiDW3Cx3rZWN+SdNuHIAJsO1iNS6G5yTp7fc9iO84i9JziuGOWO9OAJ6vBv/CGMwwD1djfMtYSbZ9xp0BNpkXu3CaKSxuHlSfI0Lzxg8gmtmJ3FgkFZVPQuxvHDxcAlvu6geGCtynpFsTVttucUfJAIlAp+Nm/di/oLuilK9iXDDssh4zHwbySGc/c+wVjr74NIHnFhsNlhX2TUZhNuHmoQEPnoBWQw7UJv5UecMe3cJjhb9bxXFq7kqQabIKFvRSXp5RJbXoAy/GQy/jkG3Bz73Hhc4uiib1902lXF77GTXBTdmcESVbbwWUhUXKPKrBtFiIlqbE5cFtd3Ww0CdQc1QyJx1bdL9EM1wBY7J7qhlf+mL2QWr+6aDxYlq52LDeamFS0OGrkSeOh/5vBrZjs4o+33Txhy/lwksljSYm8N/vBSj1oTMUxmshbS8re7p+r9EJDBxbY6Ex4p3wH0kk8SiwEOYkG4YAYPEZBQfTxGalMpTfJlBMZLe9uOmslEcPF+CpGQhly41e/LVLqtfpoUb2bgErrJPDl9ZwT4HgG7dGhlkeE6x3MyNMJOUPXknxWndNM5gNyV2do0RyTg0PoatPkzQXMLqO/cib6sPFGRNCA6D5Qt7lJCvTIRAgkb4DyfjfMaJOZJfBqb9bJmK26+CJwt+O2trFQcXCyxxGw611Rc+bT66C69aVRi51TIcwxxvJH3k3HB1uPEUrxImClLpLvLlc1oYVUxlYgVVevue2oB9FuZghwj5HhTAWSeyswku2GFJvgDeHhp903OLgcZTAHtkc1FUpEVVD8QKtQ5BcWlT/IcOfeCuohfUSul74XWBAeXJABuErf4YFkY+DDhpJbtn++kR2bSt9CsO8wuAv5jgVcSNf3lRzmAE2HdvlFX7EBh8GkQ3g7XG9o7JkxWQM93V38CBclSkxzlb6OCbdiSmM9PoRkWQVGKvV/4muTcnseGqqYh6l7QkoxuHGFq9A17ag/dUovgK2EKHA4LbFb3XJvPtybRZ1KRD3GahVeQWW5daVR2hGCPf9OTCL5EWFGxaRVsxAm3oCbuPeSubm2ImZG0tiEibkWc+3EuOPUA/uHxlP+wu52hCvXatySqDgwBhN6NG9ACsoaiVyDMZKVkiaOE0rejbTwd8MhWHEnhVNpMdlOBkB9MgIBNeuA4cUq5q7P9EqAeIj+hfVl1OgiP1ULaVQVtlu71mRLMr9K2l1b6WPBDhe0LnTqdHlc3ZaImq5tndSi8bO+VHznaeoBY+1wJfxOawQ0LthcZRBPKE0F6QU0v0q5sya9upQW+LDl+yvLVDHOnwZBuslMlfO/xpSZBN9gLPMuILCF9HijmHXsLt8wnkDA+rFDYO1N/BKOkHweVpLR/DdYupmTd7pXyzJw3g66UOoc9Eqz/C0H1kYmb0mNxvowIUoI9B/eRRTU7KjZIr4q6AFH0eSLntMN7bq/vY186NU3e61312XfP9E/KRtkAweaxakKIm+OSVZKJQWAUl0pMl5TELa6oBVkaDLgi8MFF6/qRRh9ygazw7yojuMYYb/iDzwrVsKyCq/tQZKfR0vsFrl9Khvcy9GPc1bO0tEusel/3IrOa+uHPDDuxkr/a5vs7pl8I9mX68Zjd/E/bS9gDIi3N95rui6bqfrzp02D/TBCyab8XAb/8Q6tJsIFPCfcqyXKrLIoHzCl3RTnyU7MOHQA6JKu3DVUwI4LUehx77A9i7D7KXVm9g/qQXMb279VuzPqe9P1t/gw2fpfqRm1KvusaSEug15cCAOE8h4O5VWWhJjhJjF5j3PbvMxi7ihPOLTR0vFnF7tI9gRI/dZiCbpe7noe++YZkovw0Mmc84VsFhppgCgR3zib+ub6EuhdXqd0RQj+G3hRh8hflnet1wAUVD1hQG3q0oB5hlMZE0rE14U6gHkZ5LNjR3BfoLPXBccBc+RE09LSGrwQfF1/kEDFhLx2bGjZ14jIlCGmLQQHV61r8ng/VJztGSGXvrzFj1VGez6bfNkwIcFfZWIkGKxliu54ezHZU9qHVOpqhG7x8dSwEawmoRvIbs2xEjmFWMmDXt52b1gMGL+JKj5P1Ivpz8pD2z8UqlcRPNJ4uYuK8WvvE5Lwq/9ya4LK2oeyy1A49uEQ33iEj5TIN1zn02wjIJuZWwSmdsT5aRulBnxWrB8A8K56EkwAEfgkQGn4uxKlinTrV3uU4IHaUprYxtsHnlaiVPsYXhffLgZ7Qk5RUm2VJ2ta1c7qmZOD4hJuXmEwDon4n5qErMyLhOp06e6NdVddKC1apJ3NUSabSePEE5liXGGGcYzuMIbp2IlwVvZwyRKhhvD5lGzDPb9X9zRqab6qnR7x3cEwxT4cIE438KWtoyEoNPkcy9o1IqzJmoB9QzntbUrQbvR902gfO1RSkNycJ9K6g+WI79RPh9+zewGK6DQk29qyd9eNx5FkfWhc8fLtVAOX6GQ7oC4ancwQVlJIBDSoB3uYYRB0sa4YtWeB5achAsh5k4pXQErXXBF7Xei/zLw9u76cJxv3l/bCc8HmYDnn7cVP90nA/+gJ4HYqFTDaXCDGUzRP/CKwtjytMqBBGDFPRkpsjEeBd1fzWtHI+Mf/JOLy9OPkNm/rQ6LbXzOIZaVn6o/rLKGxlvYI2zWHkFUCTilHygWm8ibCbKzj854CuYdrHgnfLpJVvAJIaeBe8OoA5R91/3pfemUDVdlQ58j7gTZI1RwdWtdKWbt/IwdnhMWpwpceWKb4MS/YI9BM/g1caWj1Lsj2pL7D7PYRx3cfWDUETN2WxJ+/U8R6imN6jUr9w/tLy87XI99gNkaRItSpibOOqAJ9JhNhizMKqa2xHfvumo95oi9Q0T2vbsONy9bZyamM9yctZEAya2mKTgGG0gnkp4TFYwYOaoK7C35pZ/JiddhXdZgjmNXr+Gprl94CA7YXHL6+sLdjsUqyJsdRz225/CYE2B7C+m/8CmXwyLRIRrfK1RZ0aFuZsUklqce9PSQ7n90R6KiTf3JWgaC/TekizhsL9uQr2DZu8KONBdmAL49zQ7ZaDy1W7uyOU7/+GCFfcyl3ITAwXzK6qXiVUlEyw8zN1ZrWscMxQen6hFWPQynvukHtRzSrmay4mWipl9f0Y4HCpKC1qAk4JO4jd3w49IItBH5ia4VV6N4N1sdjCWRE59JqsuFciUhtn2meH3NCDOlbm2tcdf8btq9ApSVRkIn8QkYobhTPlj1SjaVTP4skTPHxPR27JRINf9hFeyxk6lk6EM/am9EmDBEK8ZZNPU7CXvlQWckvVCk0MUblqpiStclqgWGCURi/rdC9sXCmgQLm9dX6uSApdKf0iqCKBMjfSWnDqrpc8HnXyAXfZTwgQkzkVsFGEdwLWQxxXXEQvk0hIHk6rz9iKS+6OmsCT7LZkBcYmxA7JDS1jpgdCUIzlnxpElY9mp1OJICCnpv7uqHDAW5ej0qp0gwohGjA9qR1633gd0iesnQCGLbOSH79tBAGTpvudEpBcBIv1ihQGb+kcH0A9NdXJWGQpUHDuMz+p+onh0gX21VhA28ATYl7hIsQmZpp3Zp8yFkOv/NG/jOkkBbWL+VRupdvEdeKqhR8zbb0SmVo9GD4SsQiy4+oatOVjJbkZ5TDeZgT5axoPfogbUE18mcF+yVSlGeZ+7gLtu/sgV5nOAxJl2Tgbkd+2qrX8SmKVly22d/TqbCVCpUsV473O6nChLxhtIGrfgcAN9tOA0+Ek4BsBdmDcwGAvrTDlnweVslvsMNca8dckK3K36MeYq7UkkCcnc6H6HSOfYLjhdv/O4WY9tR70Dh9q10wkWXY0o2pkMt/YeRfM4UxEV0mXQ+Ik84yEYe1bkrb3X7JFHNFgd/JM1mq/mSWnN8qMplBo58d8DmWo8pxaSdhEkj4jCnJrvXBDgi0FAvAI0iORlQTrhdRWMmpLyzfR6qhXXdS4T3+ztkMa3X0JtNZkIbNl/6DCiN2E1uYESM6ua8ITnSNmlmPf8e9wuuvLlfP8m2IFvvjSp58Cg/Z/6xGQ8BVXbqTWQHLm+V+tHtuOKU4r3wwMfUJxPC5McOH6sa2rxmv9C0X1Kalnm8QqfSTaFmmrippn7I1QG0R/iGanWaM5N4pj7ZBzag6uL0Fin/wuguokJ8PTU4dEpMQ6i4j51dXWmKYLHXqxh1xi8z0VRMCWvD3Pn/8uQhMxuqnE2Niq0vwnjHOR06U45DHHeGZbTn3HEa11n9kbQyvVvju2pL9hmdt8etbwndP6gs5MTaYdrB9llDviZl7SK/J5FiUfAOqPe7AFxBptyNC27761jfiOacAfwkvx/oFQ5pQNRcfWZcavraU1A4uS0NBE73YyNU1HXuXnQhHv5VhBQKmjUdpQ6nl61Dbz+6StI4AJgddNdjveN1Bz2XrYVB+nh3CvrqvyuiVQuzhmN1KZHkqK5UpawqdvkaAqEdfYJKNsv8DzRtu0NPshsERvST/En/7h0h3VUkUdMdzOLvwaolJ4uv+UeuflL45b4PtsBKu71vEr3NC/6xz+dt/OZPhXDlnLHKmKODFduECIgpwIVcitDcVuAGRLN8rNX9tAHcTw3uDIkjh0FTZQ5v3c/HYY5DioYksS60MB5n04OE2VM7l0okgTrI7C2FkDVwTUwoRW/6GFdxaabBD6nhALA/XQitgwfWS1H35eSud0nn7xo4D3Y7/T76ts09O9xtwaPLOUv8D807DHiOyYlL7k9eiSovVATBlaeThnlYUJaNbip3Hp4IYc8ewSQUxkXldfN3zHSq6JM1GC2Q0xXpTBh29DElxFvwQ/vBoZIVNwLAYuYd0fAX+5cQxtvmemC6EhHl2rBqLIDd2BXVNfWC3XX7jHNPlp/nGh42QHxxWNRAVav+bGH8d6N1qNxTEB7JVBa64jDEU+MjmuEjM2Kh1oSgNnPxfc8YeU6KghY+BZXfeWU17VuGqkT7ohXycSAMBhvRkJ9F+7Lk//jGpToATUmxtJ58+TC6IXz3u2TcPVp4w/wXtDuTBP9H42FhMyBXuIlXQz70ekxJ9MJoiB62Jznr/aHRhiu3KmKNbg0pjcMN7AIrj4vqm0SsEVOGLUIegIS2QUiU5d4ymdRaK64nzrQO26CBFJIZOcK2iazTGbz/SpfnzqLJpCpE6fFcdRdJ5K8A/odPePBwv0laa/5FMKRICLobG4RvTJe3wYKKp/Ee3zPdhSj6v1yH+bXubKp7Of+ysluBL7PfvCYTHaTSFH0TBb7P8aXeADMbx0vwNtT/eAnfVfqAXrnVxeXFuKWAso1m6P4ZX/plmr5XCEvOaWut+5GnPSs85xRWL7AMdQoXl/NFaLaNrsSE5bwjxlKViFlNRyW2en+LONkuwXoRALB4p4//in4QnQpphrMm6uL5iAD17Ug8KtB2LJv25t1oxZ/MR7q4SoJ2uadiJGixQNYmjIJrHveZ1mFO0iF/xcYUNbDNblpCDJEnqfN+Q3xMjJ26jDTYdn+Enjbz3MXo8SNM3I7vU2roklNiPlNFocRoRB2NAt38WNf5whx5cUYbYJI2FkFnFjgSPHnXnnxELBx+HER1GTVzWdlfERauTnZc0L9pS2vdYBFD67eDHwZQ8pZVEbx8u+NE1fVi73oo2ezfxuhawgBTH5KJXccIWQzD3mvcT3cNJT6YpoTicc71yQHimayZHuC/Tzt5gG6wnjZ/ZnBiE3nCzLkwA//zUoWvHRFdVkzOH0SfHCyptOKqM37h+ZAE+2pSZKu8y/GqooocRAouUTGkDSGRkxu6IitYRDNpW/Z2ONlVLeWwnIOxIIClBoZlbIhYOZryBmbyPTK7t+DpWHJDc5koJy3tSzMNPlFeJeHDUbinitB+hEj/+pEniqWsOvcy9PnxArC1c1mJ6cgLiStmkRxVi2H8Se+o3/K2lXc5XGQsgGkT0p2cM4OjulBDQ4irtHDvzQ9zH7UlnU8HAiatmZxC1IyLd8OlSRkPMTaqwv8gCI4k+o9qoG8MewwszgBAD0s6rhAPPb04q5UwT2rT1Kx6mXlOrZ7vzoHS0NA4RzBcQHKUz8ceuXoPVEoIRffPeBFlVQe0KY2VFsB9neRcqQem4/ZniuMt3ixhFen5FhK+EqGdGMuGd+lvKwKfhGSfmTKctYEpLnd8uDtt/7zTyDUt4StovcMNwNGhiLpEYdpcLcqyCWnbKOWuzNces5RHhMALKIX868oJ2rcKgvJ+kzvKzHz8/crRYyFusRb9gluqSmddgPfmQPVEXtTvjBdAIrgvy/jcAH6CFr2dRRZQM1m48QLYLYNYtGIVTlOA3oH7QNXcKeiI26EjUfl/mgJDIlIZlCwOjj0T7mi+llbukbdYG2ZJSddiAC4JtSUHAFr4sFJPvYtyqBKRvTmVgQmIdmlj7sh7k6mvE6H+JNNqvkuyZdxicnVd4R4qAcv1PSCHD7zivdENx5nx9zH0g/+Spxr+cY29BHZAGGsx7m/LVjCm9/+x2lfY+Dcvmlc6McRAqoFvW4xbG3gWcQfOGf9yuhr3q4zY++40o8yDJC9kHsuWq3uPSsZIrK7dpe67Zhs7sRNIG/hI4fGlF18rAYAQ=="}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":489,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":489,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"2dc2e6b6-f2ad-488a-bed7-8174206a4b94","uuid":"3361bb39-9470-4779-86a7-3add7f1e7a35"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01D2B8Phib5F9AcPnPJWkMkr","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser using JavaScript (no TypeScript). Let me build a complete, well-crafted Tetris game with all standard mechanics.\n\nLet me plan the structure:\n1. A single HTML file with embedded CSS and JavaScript (or separate files)\n2. Standard Tetris pieces (tetrominoes): I, O, T, S, Z, J, L\n3. Game mechanics:\n - Piece rotation\n - Line clearing\n - Scoring (standard Tetris scoring)\n - Increasing speed (levels)\n4. Keyboard controls:\n - Arrow Left/Right: move\n - Arrow Down: soft drop\n - Arrow Up or Z: rotate\n - Space: hard drop\n - P: pause\n\nI'll create a single HTML file with embedded CSS and JavaScript, using a canvas element for rendering. I'm setting up the standard tetrominoes with their classic colors (cyan I-piece, yellow O-piece, purple T-piece, green S-piece, red Z-piece, blue J-piece, orange L-piece) and implementing the Nintendo scoring system where single lines earn 100 points per level, two lines earn 300 points, and so on.\n\nThe board will be the standard 10×20 grid, with the difficulty increasing every 10 lines cleared and the drop speed accelerating with each level. I'm building a self-contained HTML file with the game canvas, sidebar for displaying score and level information, and all the game logic embedded.\n\nWriting the HTML structure and styles... Defining the game constants and piece data... Defining the tetromino shapes...\n\nNow I'm planning out the game architecture—I'll use requestAnimationFrame with timestamp-based timing to handle the drop interval, and I need to track the board state, current and next pieces, score, level, and game status. The input system will listen for arrow keys and other controls to move and rotate pieces.\n\nBuilding the complete implementation... Still writing styles... Building the game layout... Setting up the game constants and piece definitions...\n\nI need to be more careful about the standard Tetris tetrominoes and their shapes. Let me define each piece properly with their correct orientations - the I piece as a 4-wide horizontal line, the O piece as a 2x2 square, and the T, S, Z, J, and L pieces all fitting into 3x3 grids with their characteristic shapes.\n\nDefining the piece data structure... Finishing the tetromino definitions and implementing rotation logic... I need to handle wall kicks for rotation—for now I'll keep it simple and just push the piece back in bounds horizontally if it goes out of bounds after rotating, but skip the rotation entirely if it would overlap with existing blocks vertically. Now I'm thinking through the spawn positions: for standard 3x3 pieces on a 10-wide board, that'd be column 3, and the I piece at column 3 as well, both starting just above the visible area. Looking at the actual piece layouts, most of the 3x3 pieces have blocks in their top row, so they should all spawn at y = 0 to keep them visible at the top of the board. the piece already has blocks in row 0, so spawn at y = 0 or y = -1.\n\nActually in standard Tetris (Tetris Guideline), pieces spawn with the top of their bounding box at row 21 of a 22-row visible field. But this gets complicated. Let me just spawn at y = 0 and the piece will appear at the top.\n\nActually, the most natural approach: spawn at y = -1 for all pieces. This way, when they first appear, they're partially above the board, which is fine.\n\nOr even simpler: spawn at y = 0. If the piece has empty rows at the top (like I piece), those rows just won't be visible but that's ok since they're above the board.\n\nLet me go with spawn at y = 0 for simplicity. The game will look fine.\n\nFor the I piece specifically, if I spawn at y = 0, the empty rows at the top map to board row 0, and the actual blocks appear on row 1. That works fine. But it'd be cleaner if the first visible row of any piece aligns with board row 0, so I need to calculate the offset based on where the piece's blocks actually start.\n\nCalculating spawn Y... I'm settling on a simpler spawn strategy where all pieces have their topmost occupied cell aligned to row 0, which means the I piece needs a y offset of -1 while the others spawn at y = 0. Now I'm writing a helper function to calculate the correct spawn position based on each piece's shape.\n\nWriting the game structure... Writing the complete game implementation... I'm settling on a simple formula for drop speed that caps out at 100ms per level, then moving forward with a single HTML file for easy deployment. Now I need to implement the ghost piece to show where the current tetromino will land, and add wall kick logic during rotation so pieces can shift slightly left or right if they'd otherwise collide.\n\nBuilding the complete file with a dark theme...\n\nNow I'm designing the visual style with a dark background and grid, giving each tetromino its own color with a 3D effect using highlights and shadows on the blocks.\n\nWriting the block rendering code... Setting up the game constants, piece definitions, board state, and game variables...\n\nNow I'm organizing the core game functions—collision detection, piece placement, line clearing, and score management—along with rotation and movement handlers, then the rendering functions to draw the board, pieces, and ghost piece.\n\nFinishing up the rendering pipeline with the next queue, hold piece display, UI elements, and game overlay, then implementing the main game loop, start/pause/game over states, and keyboard input handling.\n\nI'm going to implement this as a complete single-file HTML game, and I want to add the 7-bag random system so all pieces appear once before the sequence repeats—that's the standard modern Tetris approach.\n\nImplementing the bag system...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":489,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":489,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"b109abb4-4b47-4dbf-8552-6a86ddbf0005","uuid":"5d0db8a9-7548-4b68-9a7e-1cc14d72f030"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": true, - "note": "not applicable for javascript" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.67 - }, - "score": 0.335 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "javascript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2", - "run_number": 2, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T20:51:33.883173+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:01:38.211194+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "javascript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse JavaScript (no TypeScript)."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-dpqltrq1","session_id":"b109abb4-4b47-4dbf-8552-6a86ddbf0005","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"d45f6d70-e4c2-424d-9626-2c6c943ebd4b","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01D2B8Phib5F9AcPnPJWkMkr","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser using JavaScript (no TypeScript). Let me build a complete, well-crafted Tetris game with all standard mechanics.\n\nLet me plan the structure:\n1. A single HTML file with embedded CSS and JavaScript (or separate files)\n2. Standard Tetris pieces (tetrominoes): I, O, T, S, Z, J, L\n3. Game mechanics:\n - Piece rotation\n - Line clearing\n - Scoring (standard Tetris scoring)\n - Increasing speed (levels)\n4. Keyboard controls:\n - Arrow Left/Right: move\n - Arrow Down: soft drop\n - Arrow Up or Z: rotate\n - Space: hard drop\n - P: pause\n\nI'll create a single HTML file with embedded CSS and JavaScript, using a canvas element for rendering. I'm setting up the standard tetrominoes with their classic colors (cyan I-piece, yellow O-piece, purple T-piece, green S-piece, red Z-piece, blue J-piece, orange L-piece) and implementing the Nintendo scoring system where single lines earn 100 points per level, two lines earn 300 points, and so on.\n\nThe board will be the standard 10×20 grid, with the difficulty increasing every 10 lines cleared and the drop speed accelerating with each level. I'm building a self-contained HTML file with the game canvas, sidebar for displaying score and level information, and all the game logic embedded.\n\nWriting the HTML structure and styles... Defining the game constants and piece data... Defining the tetromino shapes...\n\nNow I'm planning out the game architecture—I'll use requestAnimationFrame with timestamp-based timing to handle the drop interval, and I need to track the board state, current and next pieces, score, level, and game status. The input system will listen for arrow keys and other controls to move and rotate pieces.\n\nBuilding the complete implementation... Still writing styles... Building the game layout... Setting up the game constants and piece definitions...\n\nI need to be more careful about the standard Tetris tetrominoes and their shapes. Let me define each piece properly with their correct orientations - the I piece as a 4-wide horizontal line, the O piece as a 2x2 square, and the T, S, Z, J, and L pieces all fitting into 3x3 grids with their characteristic shapes.\n\nDefining the piece data structure... Finishing the tetromino definitions and implementing rotation logic... I need to handle wall kicks for rotation—for now I'll keep it simple and just push the piece back in bounds horizontally if it goes out of bounds after rotating, but skip the rotation entirely if it would overlap with existing blocks vertically. Now I'm thinking through the spawn positions: for standard 3x3 pieces on a 10-wide board, that'd be column 3, and the I piece at column 3 as well, both starting just above the visible area. Looking at the actual piece layouts, most of the 3x3 pieces have blocks in their top row, so they should all spawn at y = 0 to keep them visible at the top of the board. the piece already has blocks in row 0, so spawn at y = 0 or y = -1.\n\nActually in standard Tetris (Tetris Guideline), pieces spawn with the top of their bounding box at row 21 of a 22-row visible field. But this gets complicated. Let me just spawn at y = 0 and the piece will appear at the top.\n\nActually, the most natural approach: spawn at y = -1 for all pieces. This way, when they first appear, they're partially above the board, which is fine.\n\nOr even simpler: spawn at y = 0. If the piece has empty rows at the top (like I piece), those rows just won't be visible but that's ok since they're above the board.\n\nLet me go with spawn at y = 0 for simplicity. The game will look fine.\n\nFor the I piece specifically, if I spawn at y = 0, the empty rows at the top map to board row 0, and the actual blocks appear on row 1. That works fine. But it'd be cleaner if the first visible row of any piece aligns with board row 0, so I need to calculate the offset based on where the piece's blocks actually start.\n\nCalculating spawn Y... I'm settling on a simpler spawn strategy where all pieces have their topmost occupied cell aligned to row 0, which means the I piece needs a y offset of -1 while the others spawn at y = 0. Now I'm writing a helper function to calculate the correct spawn position based on each piece's shape.\n\nWriting the game structure... Writing the complete game implementation... I'm settling on a simple formula for drop speed that caps out at 100ms per level, then moving forward with a single HTML file for easy deployment. Now I need to implement the ghost piece to show where the current tetromino will land, and add wall kick logic during rotation so pieces can shift slightly left or right if they'd otherwise collide.\n\nBuilding the complete file with a dark theme...\n\nNow I'm designing the visual style with a dark background and grid, giving each tetromino its own color with a 3D effect using highlights and shadows on the blocks.\n\nWriting the block rendering code... Setting up the game constants, piece definitions, board state, and game variables...\n\nNow I'm organizing the core game functions—collision detection, piece placement, line clearing, and score management—along with rotation and movement handlers, then the rendering functions to draw the board, pieces, and ghost piece.\n\nFinishing up the rendering pipeline with the next queue, hold piece display, UI elements, and game overlay, then implementing the main game loop, start/pause/game over states, and keyboard input handling.\n\nI'm going to implement this as a complete single-file HTML game, and I want to add the 7-bag random system so all pieces appear once before the sequence repeats—that's the standard modern Tetris approach.\n\nImplementing the bag system...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":489,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":489,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"b109abb4-4b47-4dbf-8552-6a86ddbf0005","uuid":"5d0db8a9-7548-4b68-9a7e-1cc14d72f030"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01UDC9qFoVstyZxA7EZH3uiX","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser using JavaScript (no TypeScript). Let me build a complete, well-structured Tetris game with all the standard mechanics:\n\n1. All 7 Tetrimino pieces (I, O, T, S, Z, J, L)\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls\n\nLet me create an HTML file with embedded CSS and JavaScript.\n\nKey features to implement:\n- Canvas-based rendering\n- All 7 tetrominoes with their standard colors\n- Wall kick / collision detection\n\n\n- Line clearing with animation\n- Scoring (standard Tetris scoring)\n- Level progression (speed increases)\n- Ghost piece (shows where piece will land)\n- Next piece preview\n- Hold piece\n- Game over detection\n- Start/pause functionality\n\nI'm setting up the scoring system where single lines earn 100 points per level, doubles are 300, triples are 500, and a full Tetris is worth 800 per level. Every 10 cleared lines advances the level, and the drop speed starts around 800ms then accelerates as difficulty increases. Now I'm writing the complete game code.\n\nDefining the Tetris pieces... Writing the Tetris game code... Defining the tetromino piece shapes... I'm realizing the hardcoded rotation arrays are getting unwieldy, so I'll switch to computing rotations dynamically instead. I can use a standard rotation matrix approach—either the transpose-and-reverse-rows method or the direct formula—to generate rotations on the fly from a single base shape definition.\n\nBuilding the complete Tetris game now... Still writing styles... Still writing styles... Building the game layout... Writing the game logic... Compiling the wall kick offsets for the I piece across all rotation transitions...\n\nNow I'm verifying the coordinate system—the standard SRS implementation uses column and row offsets where rightward movement is positive on the x-axis and downward is positive on the y-axis. I'm getting tangled up in the coordinate system conversion here. Let me step back and just reference the standard SRS implementation directly rather than trying to manually convert each value—that's where the confusion is creeping in. Defining rotation offsets for the I piece...\n\nActually, I'm going to simplify this and just implement basic rotation kicks—trying offsets like (0,0), (-1,0), (+1,0), (0,-1), (0,1) should handle most cases and keep the game playable without getting bogged down in the full SRS specification. But you know what, let me just go ahead and implement the complete SRS kick tables properly.\n\nDefining wall kick tables... Defining rotation offsets for the I-piece...\n\nNow I'm reconsidering the rotation system more carefully. The states cycle through 0 (spawn), 1 (90° clockwise), 2 (180°), and 3 (270° clockwise), and I need to map out which kick table applies to each transition between these states.\n\nFor clockwise rotations, the state advances by 1 modulo 4, and for counterclockwise, it goes back by 1 (or forward by 3 modulo 4). I can calculate the kick table index directly from the current rotation state and direction using the formula `r*2 + (dir==CW ? 0 : 1)`, which gives me the right index for each of the eight possible transitions. Wait, the formula doesn't work for the CCW case at r=0. Let me try a different approach—I'll use a lookup table that maps each rotation pair directly to its index, then access it by constructing a string key from the source and destination rotations. I need to look up the actual SRS wall kick data from the official Tetris Guideline to make sure I'm implementing this correctly. Let me check the standard kick offsets for each rotation state transition.\n\nNow I'm converting these coordinates from the standard SRS format—where x increases rightward and y increases upward—into my grid system where columns increase right but rows increase downward, so I need to negate the y values. Defining rotation offsets for the I piece...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":490,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":490,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"d54912b4-0b0e-4ea1-9489-c289443e706e","uuid":"0298f865-73c8-420e-a1b8-04fa5ae29a3c"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": true, - "note": "not applicable for javascript" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.67 - }, - "score": 0.335 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "javascript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3", - "run_number": 3, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T20:52:17.428494+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:02:20.474376+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=javascript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "javascript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse JavaScript (no TypeScript)."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-tz0nkerr","session_id":"d54912b4-0b0e-4ea1-9489-c289443e706e","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"bb214b81-1c27-4d6e-938a-4cf95c7ee4b7","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01UDC9qFoVstyZxA7EZH3uiX","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser using JavaScript (no TypeScript). Let me build a complete, well-structured Tetris game with all the standard mechanics:\n\n1. All 7 Tetrimino pieces (I, O, T, S, Z, J, L)\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls\n\nLet me create an HTML file with embedded CSS and JavaScript.\n\nKey features to implement:\n- Canvas-based rendering\n- All 7 tetrominoes with their standard colors\n- Wall kick / collision detection\n\n\n- Line clearing with animation\n- Scoring (standard Tetris scoring)\n- Level progression (speed increases)\n- Ghost piece (shows where piece will land)\n- Next piece preview\n- Hold piece\n- Game over detection\n- Start/pause functionality\n\nI'm setting up the scoring system where single lines earn 100 points per level, doubles are 300, triples are 500, and a full Tetris is worth 800 per level. Every 10 cleared lines advances the level, and the drop speed starts around 800ms then accelerates as difficulty increases. Now I'm writing the complete game code.\n\nDefining the Tetris pieces... Writing the Tetris game code... Defining the tetromino piece shapes... I'm realizing the hardcoded rotation arrays are getting unwieldy, so I'll switch to computing rotations dynamically instead. I can use a standard rotation matrix approach—either the transpose-and-reverse-rows method or the direct formula—to generate rotations on the fly from a single base shape definition.\n\nBuilding the complete Tetris game now... Still writing styles... Still writing styles... Building the game layout... Writing the game logic... Compiling the wall kick offsets for the I piece across all rotation transitions...\n\nNow I'm verifying the coordinate system—the standard SRS implementation uses column and row offsets where rightward movement is positive on the x-axis and downward is positive on the y-axis. I'm getting tangled up in the coordinate system conversion here. Let me step back and just reference the standard SRS implementation directly rather than trying to manually convert each value—that's where the confusion is creeping in. Defining rotation offsets for the I piece...\n\nActually, I'm going to simplify this and just implement basic rotation kicks—trying offsets like (0,0), (-1,0), (+1,0), (0,-1), (0,1) should handle most cases and keep the game playable without getting bogged down in the full SRS specification. But you know what, let me just go ahead and implement the complete SRS kick tables properly.\n\nDefining wall kick tables... Defining rotation offsets for the I-piece...\n\nNow I'm reconsidering the rotation system more carefully. The states cycle through 0 (spawn), 1 (90° clockwise), 2 (180°), and 3 (270° clockwise), and I need to map out which kick table applies to each transition between these states.\n\nFor clockwise rotations, the state advances by 1 modulo 4, and for counterclockwise, it goes back by 1 (or forward by 3 modulo 4). I can calculate the kick table index directly from the current rotation state and direction using the formula `r*2 + (dir==CW ? 0 : 1)`, which gives me the right index for each of the eight possible transitions. Wait, the formula doesn't work for the CCW case at r=0. Let me try a different approach—I'll use a lookup table that maps each rotation pair directly to its index, then access it by constructing a string key from the source and destination rotations. I need to look up the actual SRS wall kick data from the official Tetris Guideline to make sure I'm implementing this correctly. Let me check the standard kick offsets for each rotation state transition.\n\nNow I'm converting these coordinates from the standard SRS format—where x increases rightward and y increases upward—into my grid system where columns increase right but rows increase downward, so I need to negate the y values. Defining rotation offsets for the I piece...","signature":"ErWXAQpbCAwYAipA9SzUHFi7e6wx0pspq9FmCWMhbp2GwmRUmmHExKUzu+7Z8hFDyB9crg0uO7sdT1nQnNWbZAPBZZIFzXjnU8gsaDIRY2xhdWRlLXNvbm5ldC00LTY4ABIMUYoxVpkwBhF261dRGgxxrwXCpDw61yKEkZYiMLRw/nsraps8yGu24g5VIaYuTKBWDQ74/n0PtrnCQ30yym/R4HiVb7R3dyFHyBl70yqGlgHIlnXNvAU0fnU22CWRWHAxQArQ0YNGvTj5HGfHhZ+QJxCrmz54xmu8FyYaiM/rgs6FfMSHUV1dGazdSoEQIHX/62n0lWG6ABJ+Rilsj/iBYB17ZC80+NLSznJI17/5a/ZZHHvkoQnq9lmQuOvtP6s4GV9tG7mR/6rMoV/SRMzFdJOb2LqycMlXAPB8eH5yTKEeyEIavpyHfB/n9+GUtdmPj8CtHU9Y1fIH096/ATDZLuThHlnqRGCxODAhvSG7FuOn+9ebs+scc3g9WmFMBaEXfuia+bcnkFTD2z8OTvJoEb41FNINa8uX0MzuSSBhwnanEpPSo7KbVyTbsSBUfwEJq5XT46c5TZ7iOvspAbIIIXb6d2bODo8y3V5Hyvwx73b1+XJlN6qEO2fQAd2phD8dARN8FNnVOB+u8Nr6tg9vA33z14bSr46etOtxzeQlZnFzS9y3YqoNQ/PD+7dLhdsIjmSi0hH0b9VTklCAmcQLvDZ1MPXPWGzfoF3PqJhvDaKst/PxXnHKVTP5CcLzOipkFfETcBqYIWlZGetNWk2xYqo+fA4VKcbA5iiUGFBTFBoNlQt9DevFTpbi2T/fk83hFbjkjT3gZ+gRHv9pDXtUdBMpnf9fLR25mGmMTBeCRg4Xz/PnrviQWdZKBFwHOaC+ujR6CgSqo/7p+LGvsHJ8dgLo5CuYfgN0gEZSiTliwEsnWM0u6drOILnnn9NU1B2g/AP2BLE+PuocEo4IvoPS8cBdmbiG5sss7LFGfmlRTYs/wNMVdRZXMJ1ef1rUxbPFN2RkVj2Axz2jDHf7l5Tl5h7G8v+Twby6+kOhFKxrVrb7w7lPmfMzBaXYtYdJ4Z0hPwhCwDtzQhDxsVQVckiByhqabtyulZeYUs9+x8X/ORpjpyiJjMCiQs1YVR3U3/KK3n8f2Jd1I5N5erjd2hXQnt31Hr4YvBtgNtb7UzUL6dgcKas+279+9RlSr2aNVExgDw4cpfm3BcDd5uk4wvCWj8pAjCIK6PW/03DcuEiZKbCwN6OC+7dZUMu8zeca3YcHzE3FfSqe5E1JzMHqHELNrv1Ms+k7O6zj7mx0c6dB9sNlGIxwUGBSi2fb3dDuG4qQaWqpAz/VO9amrqBkSzd3QF33Qg/gw++cNgVdy6NnxM4xuKTW3pQxbz2y08Ike2ZqsPk6oqbvCMvukOZ6wMv88QTUnDzHjfIN6ji9BozQL7ubJRpCt2W5O0YZZeuRkHAFDDHepMUzn+sDGq4T4R72V2xg0hAk/3KF2UYgTLsnY1S4yLnOOFtE01+YWMBZfCmUzZbputLjGp/b1ImEaQrZylAwznTaOKOM/OK/ZJY+oaM1Tr6hrFSi9CknB+1t7EPXHtBQLrw4P4gb62fGLfw7FAdhuU9msIb6un01ICuZiYPCC+i3F4FZDpt8AUJycX6TNq44Ci76CZ5w5mdknWt6UW9ex2ZZZGOP+bCjiJKtII5EL7mkoQ570AYs81gnBu2Labee7ZdTWAC9bYTPorOFtRQP3kjnEr+t7yEfauWZ1StNxVHFLxdPYXbdJfhMZaLPVCkw8PV/qGP88o2a19cXyvBkd7OYsb2HV3iFI36gf5qWjUCiGrTOjrA0vqnsfCzMqZ7bOgv6MwlDpdJkB1mZYUUF3wfjO5BOYFocJdlgwRXGndN39TgR/e86XrIJ0zqRHLyeDr5yb7TymoqM/E6j5NZUDEcLw5v+pRdo7wgW82P3dtB90HQF9RjHGNm5YENUkZS/5/MFU2skyW2nbJb9Sez6D72SgGe8QHPpOYgeJwHdpiaTGbF2ex5J+InQm6GP7x8z6T6UncnBDZ152QWjSdV67MjkmxoMOrDzPmzyAEJsth+jcP2in9bau1SVeSiqg1NSr6+/xfUz9SLFDgHTp+ELRi/dlrUsnwXUFjocCa5JnG7UCYx1u/iR/ZJG8WT1AsSrgVFv4C6jRakAMPzSPyLtkEDy299d+Ne5nQMOjKAsQxJ+RlcwLeJKoIi2nEqRkHtWHU9pIdj/1t3MiOOzEoBfoE2x1vPeiDuv2Oyu5v+alwNH3vXsCngsqHzGgHCJAUWbt/uzfevoU87hlBvU/hUmZEElh3R0uNf3U9gX3nwfaxPNPw6CDUlWYuct6+RNTZ3w+m/Zmal8J7JJw7dKHz+ARrrNspRNvakiHTfz61ba1yFNM3AGsJEMAEOMFz6SwAV9XBq7hqVIF4EplgVbn8ITaBLyN6guMdIWfLFzYWmygSen3DaGqEd13J0W7mTSundwagz8L/+4p6f16arFkxuC1dcc2q5+NfLCOVxalevsOhquK2+8M8Ypu8aB6qYHyKQl5ImRNOyQflsPqtrkwEdoUVFEXDRj3gPjVagBj/OO9p74J25k2AU8BqI6FKKIBP9FLvbJAPFgJ2vf8XuXT3Y8HPvXgWYxKKCZg4eFTclSTT8Iq9CLNl7Uk7iDrKijKTc47bU2ELskxTsknz2mciBMa7pSY3dTrHoaDN00ePESgWvBlmn98PmL/usy+GvyFINBxJPW5SqPd4yKd9DHlFo/U38dtIIu5UmyDG0VNHG/WYSlHcugiVhObaq6uegddgBJQ5jo7pAr18NArVX/y5qOUGDeYDeZux1x0r4rVuF3haJR4whB+W1sEbFozAIv/o8plv88x0FeQ7Z6j6yYDTGyCOSYZVihgnkItFF237TRzUCcXGgiAnq75mE4aq6fr8J+zGy9pFIKq3Iww7kQPVFyWhSrdfZqjrBuTLjd+xe5HSZg/C4IB8XwaUJ9cNtLZiBfQncbyxn9D610ghucg/msn2to0KZRtAVT4GAOB6/d9pNEDZb6TKfFXtNlWtYfy/06uS+5iiyUwkt0/InLQZx2b3fbacf3lWYZib90zMSjvgQn2ZkOhAfgDazCF89ZKctlRrlghVngMYGmYzsxTSt8/Ccvamgihg4UoTvhwEMWBOqs8u8dtYUmCQ68WhRjzNO41eLIV0bhFI3PVI+KcLibXbGtq49LtSFX0dGfepCWw/Z/9V9oAUvqf5MrvP0ce3IWJqjY/Op0i4b/LucYjLbeQ/xk8ogOfkbikoEkm5Lt6pNpc7g3kBeWLAApB17s9BWmPPqzvR3H97BDAAFUxCGuf0ekpLvaAqGpDzbJdO9frC1zgdOVqCaYSNbjesKtpcSpa7BRh63fPEZX1lT/fSJj11Trp3s9UnyV9INzUjghruvYxS4JeX3zlBBGaCUMsmtGH+eLhxdMh2eD//c5OsWRbDD01AH8tjKEAjjsQoLCR6/CRlmuRQgdELZDKL/k7VFdxNDuVVGnYuy9G0dyc7xYP6JdEbiyTXxnkRvnAeEyFYD3JLG85+OPHdpDTpkwUPRTszIy4X67dw/VRo5bKzW0CbFP47uNVr4wQ47/Ua7sVVIDnWIjb/0aqRnmGril7JjsK7zCnYhr9sTE1mwqrVs8E0HJTLWcnklYHj8HjYkSPCtixYQJ2mkQ28tqGf5snQf2yAkDueUmSRrrhUK3Ot+qm5vQ/v2J6/kxIwa9xMxEy4DlQMFqqkbu3ULcfVALpuVcqfQiRq0t1cWmFSkAblWO5Zo/3OkqbvodUvHtvrbTcKvCSeLSui0zTLTTdE6oactMHGWdDrpP6qYIe9sAXB34RWYVss3xBIBFKBlmgB5HxUd/sZ7K9qP8gfdnTJEyLTw1UX+nlrfEMZtLILhwwZsdl892agx2jC3zbJcT90XzcHhJE615k4ZERbRgT1TnVLAKaoe1A5ROHDzZLEaDD/J5Xx15IBrypXlz54LXvjR9B0aVTiPntA/n+9itp0CUknqtv7DvhbhbEnEgYDc/45PICX26sYIOdxvE5P2LXTknccDh4+V3y5z7WttGkONZkUlo7jtenSEFQoKfCkK6JQMb8/SACi5kuyuydPif8WOXnd/V9BzwgUkazMhlN8rARqODaP7x3dqxDvZwQyvFGzZtHLXZiQ2PnF3Lx9b4p0OpwVhdmqPRYgon7MgbX7H7EmVqO3cX0IyVWmL8Xbhv/kmDoqjL27ml0SCoFO2Tz2xQkkOiGu56+3crGkxtozd9CXvBIdIj/EDLtXqrtKcFuMC1bCbRWAxwsWLCKYkSVgIcO9fXVK8Ut20oCoQ0/RA+V7dQSxbhmQ74tqZtPgtNs/78IzUayB2GxVJ+vv/EqxtWJrXSfKCCQkMEbEP+7FkVFBEIXpMhrEJBx9bODSeoDqO+pyTalXRw2DHchkMAjZi1x5D4FcPPSnGCQPMxo7iMg5q5OHLSI8RnxKL6YHSMOiaZcID+mPBU6K1px6fZ6uwmlWzXt4qH8DVjgemN3w4KBxUAHBa6eWIJRweu7eCU+pjhULUNhKruum6jm2HfSb/DYm21pYorvHciGGT7Z/qUs949te5nQR441SbFf/hpNKffBwmRk+Bzq1hlZFAXUNEdKF057OfFOO9V5Ekay2x24KM6FBbwPm+gWN2cXjMWefKVpZZfC+BlclL/646HrFkgpWNbj9kiy+KTcd39EOHJJVpoIheyeHPnwVWAKS6VA7flFZPpa9ubmiPUrqUw3QwEefntCmkelrWa3a72PzmaAv6T+OrbzBWgRsDP1M8F9pEUgfcLYnP5Ww3H4JsD+dQ95gUnARXQIwQfcQ8iaAjl+stHNmnY5M+CS3VMkLWHHr4cUCVBRbhFN4tCcsC2z3IKT79oLsSS2SMemzI6EJCWkb6f+9Af+k43gxqMITH36TTX34hYqn4b20YWWJKQZMnKQY2DvGv3h3QZE/IlYjV3784d/sVprPu15buu573amjx+9V1w/xJyFvOPsbYDZACaL/A4UQQScPf/F7YTwCEtHUiFpu0lx59/E2Wg620UpaVvoDKCYC6xvBQURfhBXE4LJ0IR48NcuBgNrl1WyRsu2ldFCXaPiiWcTB+eEsKP4HWVRwQFoM/RUmCIO5eeKGEFq8UBHoPvOkXT2FgZELHyhX3jOFmBy2x4Lc4+JG4cCR0rOx+jAcrrHY9RZR9Ic0JbzbhC3SZUdEGAlvNF+/LP9mDaGlsRdjXwpcmfxyCvPtSiH0pQjlYQvj5KI8/Olgx8blCC21SGrfr8RS0CurGbmIQo1sCK84coV4VNiYkHkNxDU0PTlTq3L3YVJQc+kdv6gUcNOz21WZaQlFl6VWL3+uzW5439GnVeOom/y89uUHtXUlLRHVre5KGXrc6pXeSp97YAtTlx4726hDMzsGdJWbzP+m5wv4DrkPEAh2H6fADRwBDZ7vKh2MfAc5EOvWVcGDh6bDciMVGOEzKSjMSqPrP7gL7ddZ2E+4vg4tGqrdweaufluudMCHgeDxc2dNpKaIVu8wSV0vLH7wEiAtE7jPpfNN/en+PqdGrDtK274XBf+CeyulKTrsfnXNKLSZpNjtFo69iu42q2m4XCHSLCRqP0ZswsOUsEbyYF4Yj6aonTQGdPv2gThu53nXG30Lh4VtqZEY6igp/j0ZziS+7zbKxHaBeGl2etGLVceAy11yLS6DT2xqBg7bIIkqQIkB1vCwYS+g6GsuoE6pvA99XCQQX0Eddi3/8YfB3j5BohoSGI6iOVVsevBD3cL4GEkmDzscV9wZZ/ztzPCGJ+0hvmgG9p0xtbJ7A398tx8vtv6Lxn6fPQwH8Lk68yzCc+YiPF69q4Ar/DM11yWwDsvEQKu8XJDDfTofuloKWy6bnxjK+KQnn3ASVdfdQbTEDjCuMn9VgaIAV8onNyJIwKi+necpYIBjAaSgcT1PQ+Vcklpdce9bOyY/79Y5hmnLM1n1kFyn8MfkRgBx3ejIYyWrgDymZm9s1mozP3/9G2SZqjzzyJy9rj4blkjONgS0FEfdltm1++FLhrm/nKgifvPUen1EurHRjSVpnrmazUq3S2nrzYPLQJ2NpvDVz3hqnY8FaMxG0TfFaRuU9WiGPNxR3bAfgUjhNPiLOBIDmkSYUFqbvhqSmQ0gx0fqeylJSloBdAAQ41xdCXZBCqH2lUG9Qqxq5uCqpIpM73enif7rhLH/ueuqpDnRq+THr5zNkBkedCuqaSHVaWn1bgiQUB0gwZ1BvjqxSZo8xv8x0I834NqOzNRiSmudj71rqCQkaXlfr1y6+4nXeES1VrILqlhbuWrA9RER+jngeD8Z70FweEYVhhdM59/7hTSbdLvv4K8TCr2MAqifUrBZljmKHR5z++WQGl9fscSfaM7PlL0Vk8v2ItWBcn6hRcZwAxHIXk4GtxAFErIz1RWe9bomIfb0Imk9k/G1Ry7O9x1jNRKIVDlLbxIoyBkjdVI0QrCoMr8exRGzmhCA4ATnwgLPd/RYyggekNbOR1OJ/n/4Sa5lpGD7A0PSVVi2OQtSasDN/62uifZ9PR/Zt9ov8ItUXkjfcCJqn2Kf+AdfJ70pc/1yKQ+GJ8x0uzk4zCXHEjEgaaYPf/IzFSk7F8mKLKCxvoYYj76EpG9JAYG9N+Wm87WZJFiOhhw1MZEnhbWN6Xe9AY78ev/cuPGeM/858E+WHRxd4nS9pwXE5ywlF0mynPpEZOtSU5OzvV9SSwhkanRILufCSfDWJY/w7mvbYpnZIHMn5Z1ACXOB5BwGMlgka41D0ISeC419NTlH4+VctyE2UlvKrbQ3JB3XfGdiGXGgLctbPjzawNzUelyDCvQoBMWh47w0tvn6ATa8dPHY7q5/0MxTkOQ6YiSVbbsvVaSFnE30im5hGYHzVZ6u17faKQMhBk4sdnBpYG0gcmP3JWTqNIb4LvzDaLtmA5Lm1wuT0Ktm6zZz/vZK2Q1KkDVMKYk45zxx7pslNcrISgiIFvRNHm97W7hZaclwm4z4yxITyzftGdgPCK9gCgXcfHojq7fEKHB5QDx+VQSyXvActl1W99Eh5EGX9V7zeeelPfKh0jGKnsYxzdy2WDSR0GajUqw+76bTA9TnmK+7X6P+JlJvXJPlcJwGqbNXZt7OqLwbXde5VVwvD81R5phIXdKck6YM07xjbw/UtBo/cccKV/X4YlPEgqh9W5pacJh0hdtVl9oL4ISHQHZKZ19qyLfE42nsLNCqpsnCAYwrBLoiIiZrhkh2eonCXqQ7yZwk4bJ8FcDmVUkcNG1nyxEUzsOobPZumCZsePRu1jD6HJ1VmRL2aOovierUMnSfjMO987xmanTCI9WIJKVdygYhXI00IGYUixuJY21uO2nA07CMcDkgAVtA75fwM8zFXGfGWDTSc2XM70HJPyx3utTPY476OSBWNfeMWyPuclU93ok1anNMb1t/5tmwNo8lXz+Gm1PKx53gk5b+DAp0Y+330nf9UIHKXhMUM/ftLA4bwjGBP3pzPxgRDpHCfixdv38XSyyEZgnolgyioVc1zOt1Pzixyq/Qp9Y7367IMDtc+LHkET0L2ypevXAPyEVIq5d1RBKMBmQndT+3RqkdEMysQt+gAlbphzoJ9NM127+wb7RbP1oRYJArJAYR8/i+JLFaPY5YKvxduqRcNbvMZ2+MSd962000QJegHtgyoLfNpoQxA51fIjmTFbIKr3fnENRCYaUM1LJcf1rxA1gXaJ4fiOnbL96wElPkfgMfDrwRvBTVaDxDWK+3s8/wzgHud8yC3SdjjV2D8H68QowdjoVjGlU+3EYySX69TUDsNmfAks4/kmeO16MUKJSoWt9ZDeVjHkfkBFkogBFOJn1o/43ahnPhPJJ6UMTDdJlD2Eg7wdVMJvGEwNA/E4DsThcd6F9bs7aVDMxt9ByIla39J+4cRqtifDr1rHy/rQhnNuQU9gB1VNCG4ufh71ciSmS+TPKbWd4TNpVLISbpOGUEZRy36jvo1UbV23uvu0IVSvAjRzjVT3T/iZA4kloLjayOu7F597zfJNGzSO47XByEwZ6gIRJhzbKre1te91mu7OmKQ3hIKkKU8H+nPRvQXPsHosSYVgCn1d7KxHswYQUM9EOD+57gznv2rMWq7YkKCMRSnVT5Fh1xjfUobc3qM4b4wciMpOQe+5sxsiUP1GjbFe/sb1yRwwx8ljR96PvmP3B2D5272GB7vn0Gjl8TQKl8LpRi+9SbNvL2mBhQwgmqik0zmnHh/vutlEU/eX1YmOpFM8BkhnotJZiMXgin1n8jcm8/f5vXLOIkPM1XtuVPtLQiXf2b3Jk/uvLXEkWMBlPJ0gQmlgbwmTpuJLDXxJbBDtZId70FewVJDsr9/tI3RlDdkk1K/XQho3CW8PBpcsZjZomcmsqJs+Z7dLhpaVwnT7ezpCjfZyECcRQiu1BXZVYBMUpBfSwNLFCHjQf8BL+ATyTpy4EVBtlxcCqh+iQJbRKHEwmu3UUS6OCyFd5+VirI/sd13F6BLFVkbt5s3NPzOAcnwijuh3sJXFLLXxNalO0jbQC5rCAfGqSL3jHPD8JMNFUFaY+2BI0kJmM7bClFHtfKTUvOkXRMrjOhVEVPRhc34yH7ao70uqU5tv+ELcTGe9DLsxZPbaXtUAQ++nUs9VgsXAbYRR+0h3lwM8Ob4dD/TPeZqFbhCIOWKOzaHzs0KJHvEDZNCyd1fnMv4PI7t+C4HLA12KRODzxler/T30yAmYpqAAIp0cHFicqgxVnGmGkd/GGfJFtNutcHkk7VVHEwsk2TG6HG4RD8e+LokLxFulz20o0Odb3Dl7rJqgfI5yiD4sLMLfLxeDNz//AEfrfJN2g5hxevWRm6euL18fxj7K8UIBtc8Cs5f7gfLCT2f2rd5M9NkHGh+S4PDwadS1Qy5cZV/FyVLHNhE33w9PdEytQk9QxcMpHfkTqixaBhuefno+YqgYJ9PHVO+1DSC0mwtmtLNPwVvI4l66FkUoWWjnHcLe1/ltLS8zF8uyCKGgAz6zOBdcTKleLrOE9nSdUEKKC5ug/XpUtY97/fMhSJ8XbrlDvohzwM1qyj0gKp0FtEvPQV4pXfONEkCcYywM9kh+jo/zgkcLgb31DJL7q7SHRjYoMem0QlyUHwctpFvjrdD96jvIDbzjE2/v4fBoM01XI/LIYI2W99HslK/+ZHKyK0skWXv+BFscmaL6XqzIdrvl/nh0jb6i3XrQ48COG20HfKWYhjQ1VvlEpig1qV5pvXgJ1iRwm3+Z1qsuATdqRztEspyNK4p1b8J44UyEr/tw5CCfFnzjljU9TTQeY3xpOPGeGUVd6KGMjflRrZOmlK/fPxdqNRZ7BqqQXXXqdvY7eXOhMOz2DU5QAdMpAYuUVPQxaNEySMOBeMeOkPZ65nY1eHEiSPXTkFJCU9Q/L16oqUFwqUSQwmt6nvL1Tma6RtnLzBioY0AvqXE2L6USUkq/YoOvdT+oEXUeNPc3wgYmnc+F8/HQ3uvo5Xc2h+eq1PW8pDlAjE6RmtbXD27jemj8csSMgbmEgtULBJD7f3+e04gywZP3BgdbV6jZL7sc1qDNNFamidaCuD8JV4WZSPNNTa6ti6AAkKJ4iGEJpEtyYMYfD8rBz7EvKrWP3iCLbT3GGkEc19ACMQPTcBuTSVE8137vwN0LwxlKFDLd4ujrF0gScJZpcYRYFMRuLowU+3odQi9Lo6KWYRH4MVW0D+8r9TtyzsMMHqgNt2bnndCDQcF/AwpwhU6z6vhNyhy4WxA0m0+VbdqNDh6ihNrvpV2SZWGUifZJQbffSsuT7BzrQ9e3yCaSxak3mJIgRa91pUFAJ76/45lvz0vbc6Q6mTSsKcUwWmcp5VWqA2iKdIK57whGCD3i+yvS/k6JoS53Izoz3DsVGoHYgXmqo3Y1t/USAUffXp/xVxsH3FPilznTTW6YtMDlVC06hAb0QgAtDLY6zsx3bw8+5flWo64kFJ6Ifcdfgs0hAWB2dA+kQM3nsBJA4iZD+HOMfGp8KSEssK/YRGZdDNRo5nkItusR9uwPp0uuuzqAag/I9UXkUWYSLXSBSuXo/qVzzKcI6+duaFp3CMdgj6re/YnNlf6rbR3vSdYUFE6/SNWGGtZYJfo6YapGzJlyoGjSPY5Lbn9iA2r4vEUICbDfL9yO84ctGWZOFObmEvK0dxE2+C9V5coZF3yVL4Hhvnj1YDeJjOQa1AOSIiAgnjL7lsR9GqHZ2n6EzBYd0bbGs0eRlrIZhiTrtJskD+6J4dI0c+xXntSUK7w5m4xodMVKBK1csmZHQAl82KCYirZOhzq0DqzxwQAo1Zrdhz3RQ8XRheXKgj3OyIb7c+Zmch6xMA1Vtoq9cA/bKdcGCl8wUMFRkyRs3ZYpWh3lLylBXjkHTtgHCB/VLo9Pi+dATQ1qjV0uBjgYvcugjcZez+fLAjZfk8s/FuFgEKDVwCCJS1yN3D4HroAknGbWfvRwweNdH+KQmFSzoq6CLm/IeR9snfRCqbNMqYTPI7NKhmywGfC9Hb8i+aAPfCp5X/snJJp0YvoK+l3O8Y42/XAK/1mDQ0DE+OMh/zAMulKD1b91B3qNZaMOxkK3UP1Zzv22Rv5hbyCGUEgOHBavWBn7e2Gekirf9EybDG7lwXaLKK+T2HwsBbzSTLDZtLmXjoALRL4EZFWB8DUPB5ie2RGdytqDvX8Dw33csOXkYrorDTIyq/7IE1BOmovBxwHLTkfsR+B9rvmVXjq3Cg1ue0SiJZDbGLtNCLHUPlp8DLymqsyrniVsLT8Zq5v6VOpUvpN+kVSjZ6Ge4Tn7Jma8qZj0ueMVJRz/OBiok6treeKCOyuXZ+8xvqrmRSDTm0tEbd4Pt6J93lZRlRpJfJ+BJzTyH/yC8qWtsOhWhJMVPsMH9D9r5QAYTd+81zqfc6wArO8PLo+uJ1GLI+vbv0dQN1JHzZ3Hx924sktc6ue0nIWMVOqGdhKgw74MnIbNCqOeMhD7OumdKKnJO78gPoDwTlq4jyRuWAIh5F1kNiih4mOq1cCphoBZNK8rmTj3jgvnaiv/pHlbTwWrrBrBHgbIHBJvOU5ENdpo9zX0wnYz7kFIrPQ95LmB+6DrWiUA4WAGkvCBTIguFFb1z6oCk3yrmr++g2OwzlaxunyYMLDeAXkDnhmN/q8lI3EMoRg1mfOODTyrpDKBHC4zy+x/oPQzvukLhDgvO42mEQjX8IfodJyMLY1YMyqgw2JmbG9xiLLBuCJMCMGHtF1mpM0EeUb6SNAXLQISJeCJLhWrJnw6JWlH82LZz9Rfkx7pauAILftvX+6gMHNtWQ6TfuLq3jEslJM7wc7kBajrCX9Ik2oEAhQIV48tJO3cf8GZETApVz3tC7s6PYCIg8L90sO1mzTs9PXdi7wnDgDPXEbdqPzWri/NamudOHcqaFI5FbxWlYl3qQazuS/CLvleLC17lS1Uh7yamc2D+vBjvtloePzifijhBQxAteOrm4nZ0UJJGkf/fYMDzO1GRESRrSGQWZNEiXR5TATZ/za/N0OdeglhwfLXp4suaK5803vFRZUuF24nOCGjuUrlDfD9TyY5jzUUul8Q4FA1Ru3xB0MNUJ65WpBf38i7su8TDR2uJ/Y6tN4hjwYJLkhIyeH/uZYxO8cr72FT4e2wX1VVz5W4UtorKLIFyVb3I44yG+f2M3KFPI0xER/1QfgUsBY0qJhjfVoKtaktUukNJeHRpe0gnj303a0JrZjwuGXxgJ9dCp3xvelVqgXfZKY2TflR7fch/NOJTiWgOauEgdc+mBzK2EfkO7mQce7hHYdLwY9hpP39jwKo2TJYWKUAPyQ7/mzQ7yivBNISE9FrQOp52z/f97AUYkX2Spjxxnz7wGwspziXJzE8sR+9l+GwQFG4Lpdkia4SVklMPkC6tFcz48xcBiyRy0L71iRIbnN0vgEtDfQD7v4pqgk/2XSmDiZ1SdM5+E0SGS07cH/m20twsQqiR6I1C8XmSxDBRGKKMOJPTJAz6XPMY2SU5NPJvz407UTrcYQeRys1Pzozgo/a5/M/gKopT4pgtAm52jA/BrtYKsEz5pKN5UnPZg02jP6WChQCOwNXaNbVmRXsBIgOPuE7uLr5XE0Pg/xwEc0fMNdVvlDgU7ihgjV8LfBPslglW4mkNnHt/hxvK8NainXbgG2FpcFX12ksPgk6f2P4uDlA/9YE5x5ZaJh+WX4s4DY/cm/WdPudUfdynqQ4a8N88C3TCmUbd5XYVCqOxN+7rQ71IFzgAaiUQy1/IXI6tiU7N8SOr494TNICAqXqaUVohav9h57XYayyJWYqUjP3FXHULTMx4N3NAxN2HYrcbS9hULoFnwQ7CslENkaoecAfNDDr7IeyDFZEmRpElD2Tq8QO/KPd9Bc0c1jQzMESyphz2QjCAm4b6w/F1EfO2HXY6tChrA9Mxm91h3tKluMCcL/Db4o8dHHLfjwboGBnI95pq3wZnFP4gXrxp7wWNxShydSsjdx+GvflQOVhwDYs0WRx6D24yFB1SD7+PSsHDhX34qTq3dlImQd3NwkocfGk3fStCY4hPU26o7twQI522cVLWjq6KUs7Y/1CRkA8bY2mP8nYoZfe6oQ/q4wYKE8WGqUb0tF7FRytI/BPRdy6JRhHR6wtCFXNxFwqYdeiiB9+yKYXNjaGTm+1i8+TAsgxOmHKdJnUaMusrgV8ZYp/ziFjIFMXPlK9tGnwzzsen8DWrE/qgDKtec0hl8qgDx9cnXtBnM4pHc9p9RrVBBljpLRqL3nYSWnimw28fPJXE7X9r++WpQCRnDnNBUxFbWXAno0ia/Hk6Kp99yovU6kS73qXxWaWseodntnfpgE3d+xPHR7BsHmBdnoF6mg3Yls30NoJ8XqwnuHFMXw/l1lo7Pb3icHRMHftytX9+DX0WJR5v32pKZdSYiLHUcihivDtq2yKo6/pBh/BqYeqZNtSS5DpJAgV9F4jXyoeBA+Qq9RUIw01UN8fOLqsMtBT9uJ6u3Ad+1t6bWxhAgE+bDnVodD5ioZ/6ikmouXx6lZJdlZWyRnqPG6xm9gLwqhPElNVenH75vsTKXCh6ixruovwJOTuj7KwKjn1Pb0AFkWvrm08vXLcP8T/+dCidobQpDixk2yqy4G8wbAUoG4cBVeFp2Y/fVgrRyyfUg6ulPj6yjh5VOSONiMoOA2lohcYDRCPXTxmMFnZwC9MwmL7qtmOCroo2Hz/FtKY353AF7ZcxiK/9XdNgLRz4DVRizj7Zuo19O9s5MEQ8x+IQumt+iXtiMAkg4MDbK1MWVqOCSmpZw+l6P/UvhYZ4BaazLITFn/DQEaDDie5pWrGJK9K8CO8I0jAJw0wuLaZ2cqs4UmDd0+6eJdoR3bjBonEyAgKRvR4TItiwYqFUpnM/HM6Tq9EX+nJ3N+XzxaPShNO8nPBrus9ZB0F86QPAoqEQNL+uwh7QtvPb60lx0uFgypM8YwKLvzW0fk4t8s5M9Ib5q+uAqnls6hnKdWW6Oqr8FuE4H0m8Dvv5OUpq82xl/eiRZYRJr9fuJ4DyRTTm6BLYvwbdYPvnyyqY/1ELANoEOOVpiETOLtwQeDCAE6vsSqn0+xXbJLvqhYHV+Wel9FX1xlS27ZbgFLj4LxeeGzyi2/XI0mJRPcK5nW+S/dJjIcMKVwLsOSngmzwSfKQM8SFiknXJlMfVkxsVLOV2xhAUvOqrDoCtS/ZO/3/JwVeL/DWWBRy490n7B9vyD5CqbtDXkZDSKY2ytZ2sph+OVcIbCkFqhRQOoBXvm8vetgStVRhb1/PvKvwX9ryxfbeFCAlom44apVxv4v47j6yCF+mZigEOjFGFVp73/TXKMoyzxDs0485MFjkOPJJ35ZtXIxIuYGok2pNFx7Z0kSTuVk1FxZFmJPet0SKo3vOktgNZfBnSoPJxVtwXvETQQj18dgDPZqtjM4+49bpGQ9S/XNDFNSiudndAdK6PEU5Kf10lH++0jx00hZJ4uE9ZHaHRrdcAvi6joWaDU9bgIbMdB0cZwltkCjKubXeKraBdL84zy4Q7jOhHzeewLkkIEOG4INcXjArGl7764nv/P6Cf248rOVQnj6IKT8+6gTiqUtbsIylvZNfQmazLQR2qlDCJxVGs4K7smwQPUT8GRrMYWiYkm8sqf3GfRPVDThPi/jdyNLY9YFDS5lCrcn+NlL/+OSlp/ryX1BT9xgLkfwBN7hcowNdTdETX/GJTr0kZhre2VRJSd8de7dgiIm+FYJWEdU12xH3sVm5NkDcZkoPizhPRh+4k5E5Ea7YelxQn7BoXDQDqmwOeX6a/xrRMAvl86OMkvYWwaLX74F81DLp9FA3xHP7i1Xqy8agt1BpBr8xi+gXVqitLAyG7ULlXPYTBE4GUkyD7DAqi7Gt6YqglQjdkZCwpo9reeEgw6XNqmwDVavDD/8F3oPYehiXHsyHC6LpM2kIdWzACY3mU1g12suqpec6au7otZZPvWJlfbme41/8tPgDMpgDCJ/7h1Oysa0d69SCn6Sfp76JKPIrUvV0PmT1p2WSBXVlimTY97osb6AeUoWS/JLihzba9gNUZDoqwhDGFPnRdeYfmqvuFHzgWB25Jf1aoTyWURozG7kGHFSiG0C78RYpsI9PNzkstrX41PEE65VAeuFEVaPecWqH78ikOAd387eJ5J3Y894L5EsOVP/WowuLuDB0CKrKNckDIAV3j710SyX+KLl3L3rXwdHsPO391gEFM4EarOyf14PO39suOB3Bxmkz93+FZVcfO1FCissX2zVaidQ1JG32MbhzZ5PbYfhhZgxThmtlCm0yOz2dihLb/JzMkk4SYXYl9F1ql+p4TxzZBTEDPrVA6os4KYtL1OnbkZaGQPHJ9SgqwlI5knMtWs61/1CS/FxM8p6IX6ATjokmF5ln+m9TWw2FWcG3ykjQjO7n7Jr8ymmcAhOrxN87QD2Kyq//8yGjzYBaPyXT8rr95oCV3NTwh2cZZNTYilbt7BXrrp0NbSb3r63b1knMUhRlN/Tr3XiVgR0IItvBXJQ9ES5BPXwclyUyyWrnpyiiPwAEr9mgCzqwV0aiIgYA3mBNGeYW0SXRD2vw1RAITNa/8TKDGKKwsCBVHx2jmg6nXFu7bR3WE8alpyH0YRtBKrjLN5Qtx1BSLhG3kogCJLa/xkAlZbSaTmLNJYi3+vOqoyVj7wGJH7czbkQ8qh8C/2/Ow+M6GUA7v9OElip8SFkTkvnCPdyb8ufwsl33NN0KlCcYhUBlPmutC+3QI1xxjxA5Cbyh0oKzJrrfNgmQZrdgUkOGdLDI/QDQNUYff/7j2+EN4NHtuD+2anPmMTaBQhHG6Fx/8bOeDLYGx34uEx7orknHSWS9T0TZe5fFPu5R3UkdhhOt3l08B+uqK8LFM0xTcCADffi3tsWaWICJY20UUGJqaYDmDdsuxg/EsV+dOP/NuTm3HpZHttlGY2w9FIkVYliN/b1dE78LbsNE4ZgOpJ5AkMPUaBpG/F0oBwk7HU7kBwcZJZWGZq8LuCyHmqkaS92TgsZan/769JAlIKIdIEGkBBtS+aDr5owV7vhYn6LBAbAY8r/bnzioZTlp9bMombejCwtKCHOu5PqrlIJihGlFYsrkiDaNJ9Db+Nv/JGtRoPuvVUYshR0ZKjgMpzh0wnHty/J4b1GAm9cfiWWSVV5aQdZhWFb+gQfGBzemwzUNoEs258pkxA9eG7Uz9tD8PYhA+aiDhTwS+P+GaoPdFm2BBkiqmwolq9F/WqmIfX/kxgQ3XXPJdUX8BDHm9yOMVvZhv9ap23HeuqxaMB0PlhU8oZfdKMsA2qQyNZuulCMw2qkD5kNv2Y4rlpQLuMedrx+NySNoKqUXusrvF5oAOVe6vbnJXEubYIW7+S/Rc8S7WeSbAc1nxtFKbLRqIgZaUw/s1PAHj1WjAdMHVU3sAm7MLfyYuGofjlINi8SMcrNSI+/VIlOeHwSgf4aNOc9c6z4HS35ILhEz2a7+WwVNVB36AA/bmmvL2jVAUXl7RwrHu7wOycVi5usO7oOeTWd9fbwsPYTW6ce5/kl4q3wbqNtrfGZO6ov+5eTz+pqbNTUL6o77cRWiWGYlI8+r35vHLoX8RYK51NZGWG5U5F+4ZzG+o8k4HA62M1vxU9toMInoB+yjXhrfySP7zBrlvaI5U7cZpRxkGbDbTietRdiKlmoqWdLEXQyz4hWz606ZIvPTrhiMxcUTd3jreJKtA1PGuE4MhkDI7jWKn51ADZgoxpr2TUbpSqej5USN8QVmFJ456HrDu7rQchstBTq+KR9LZqU5mJonZAFyxXPTcd7kBmMYcavPN6hc34bFUoIhouLQNm6Cusb+GtlkBVEDjfnI4pFkVtH9J1BJ3OrL7VDX4TNNq+MY1+E1xRbdrTZ5TZoMRF9cqC7sgrNMAw84KZjInfkUYzKR/gPIdPq6E83H3Jf7Sto90jCj/mJuZar8Hwhwm7VYHR3o37VLKf47rQhB6Z58DtN9etoiXk/UEGZV/mAuy5tOSZslQXIHPXApfmZlMqNcGBoLANT621SjkoxtP51VhrqpfJEKU+jak4VpEsn5tpk2Olr2PKurfzFe6auVFm2CjL/Mh1OpH8GEjH4k2pFi91vsc2czHg0UM2Dmfo6JIBYuUl9k8ne/wPragKJ42RjWeJNSbwNhOf8A53n2CyeA+3nwC/pjBLdHWW9c9NV0ks/hI2q3g/qmPfSDtf7ujUkBPiIPIWPlPvWABSIw7+AEtDXSj8LEVCvwTlX1Q/dygXyhMWT3Af/nzrN1S2+vArEY1fJcfWJKQ8pInz/VvYVcZa/B133Sxb8wj6Jv92N+bG/R0yKWW6X0agavvU0xKVHm60EZx4zHcTvlT24sLS0scrckB6J/Ix2kbrjtWa9ADLzVb/Tjf+Qsd6S213rBv+dkjxKy1EPSDZ1FY40ey/zAKr4AhixEUKa7ARjIVPNxFJv5++ji+XabrqbUypAze/aWx2AL7k2c5QC6rKHgPJW1rSZK+NnajuYhoJbP6OC15QUQSn70AL04nyXZ7SgG48PugcFbjlFehWNOrJ+24HB9wcEhQEYsE/uh5EAbeExL9JT7vVL2CDpgKUIHqruyM6O11ZIICNcjrkuNQe8lTLIzetyZb2E/FNk1PgM4Pqh1hH45VPXqS+RomSTR0wz/u26LUm9+XWF+bE0uiYsUx8v9+gSfGM6paVP4I7fHmFbqCiC7ST/y73P6IwADHNeC3gcvk6j1qoD3yb6ya04jcbhKFObCFNtK4uQ7InCDRtytuN5e2IBqNRGascwhOq129y9MT7AH7sedJxpecOuKjjZWtgqLWlFMkTUfNdqVVMrhUl9SzOzr/SLpbrFEu7dEBuHqJnVwQppFgPh/WMILPgsLVdRtbw/L3rLQ4jaso3aBPw14AURbL5JJJic/pTAqgvV5FafN04dP5nwypDlZJtuZTLgahmyizttWSeC7i/OVl8Ut6MeEw9hsjmZRnDiK+tjljRMu3rPKXA2lAoYGB9HKhXZhrVyjy+1GslTYbWijPruAoQhnR6nQvG82h40JqFMevk9X4D8+YWsxTnyAhr9DUA+pgVvjR45kIntYGRgi94GULJLMbsrZmMPDUNiat7WKzJbIALTZQFul95D9tfoSopW1s3wUCIXESOdtwHWljNM3KXOxo786lGSKEi0V4R6KeOmP/NpnxqqwSxs7jBvyKGjS3DX098erpooakDbuaq72cwpvqCPWSsV7FuOb3zueqa1PfDsQhTEStgU6IxIm/tBZYL0dwH5rM62t0NKlNxZGyS7QnIk9EvgYs5nNGAs4dYqzdvptrTY3CFzyJNn6IJWIEF8g3obWizX2knjLqG/kiJTqDUd8Due78AT1zreoqHJMETdfz3D0WbpKO0e3f/UMENI+wBaQ9UN1FWSd+s1Pttdobn1eETl6RB8wkU8a8j6i1FAPXYh2SsD9bd+xeHZiNEil/uF2kD1Cnlj7TFxmXuVm/Q7O6pTbx9BTas28AMmb4umlmm3soGndcAT8ewoy/Qz512CkKWW2SmELCIT1ZmeehbdCsZ3+BEQHgVuHt5BP0b6JheqCMReHzX45Q+V8mB06JeukBuPeN+IifcAJuIi4Nvz5UcKzsuYnzWm7BborXnmRVdB9VOY6aZ/NFpItBtkf80+4VNGqjrqwaQyxAM5JtX8N+n5Lb3GfxQFvg7SBotFVpVHPRdJ61PKymUgS4Y5V5N6/PVQRNeaMKeED1a2U+nCaMrN+GWK5Wbdy2of8ES2W/76QSv2IyjpqwIYfgosaa3Ou13MHY5NB8qhdicKz86/eWfMKvAhvtEOn1J8cxnCu0CtQI+SatHPJ49/Jk9scEol1AFAOT9hXIDhYI7+XQUj1/0UvV2r/jTB4WotKOB4L6ts8UcB2q/hZxEf1Sd7KKo0s6xq3Sek1RCCeAdwZoAfiegsUETPkpReNSKGCHRpLC72cDrhAcc6LWpX/M0RA83HSXf9Qk4ulOVTCSlIl+rOP/BzYVP9vnk0exZCAahG3QFswqCHPDeZATEPOHrOxUsd9ONbzNglkZRKXxrhdHg9gHS6EfdhxyvdpLF7gVu5D7JPzBn54ykMi6utx7/n1ws0StDLBx9684CG1Aw9tDD84AgjDQrhgPkuE1vu8a2v3xcuRGVEwL8ZCMUhbfMzuZg8W/YIRSZKELvv6OvyfbVPeM8Tu5lfUIJKy7XgKAnQPqofHyfus0FTKdudrSR2VCNSSTb0Qv5TDNNJZJqrltzxUeoaSYH4Led7MKbTPLYD2K+hFRLAa36bDnDTyp+IXWqJRw6axb7jVfErnBhQLKDkKVPTxkcDQuWy0T4tDiSh2IJIVA6QHkTvhuvcmkkLwnNzWGGFszoOTvrMLuKyIoLRaZzYPRVumfTQf6FXoDwc2kohj0vwTbSpc1G2c6A2zSsJrGtkAi3xym/UQxdo25Pu3gQ/GmGfs4KvkEQSWdENGL6RSVT2reLSx116ycnP1bBzsoTHT/W+RvhgnjADJ8yokGsefRFMBEDNifC1KC6cIfoSYtD9H8lUiCiuI6u8EFkjhIM6Wxn5yiDvscKEsssEc+WcR7bxr6V0mRIvfhixLnLekI0/9a0DdDIJg44MbwTYQKD3n5GL7QQg4K1506bDhOwmQaHU1ssDVsYBtT+LrNMankiIWRmo0BAMUwfFlpvHF+Tq0J1Vz1GL8ZdGv1JxNG8VJO5tMT6ARfyfwY+tDbVfNyPpQwSECLCVf0hpumk8jbm2w1Q0kwIqzc0p3GeDcuCzgckT+CTVGUCkREA1yO0kn8lhyU9ndoNG1jTG5um1lKnpSdFTo06nLt8lm/fWx1/QSWNd4pc6bmxyt/Jw+Rae7CK9fg26Hg0bBlOMLIKKOMQRz+4AiJp2vcfsHMHXrUJfo0dID4nXBjOYORloBugPX5qgB5DbTK/WdLzPvGLHP/mjE1xs1kyv1UxczXdt7weoRNseSc5XcDD1m/uV2XmgX9uQ0BcfutfeCtpA/HHN+R7TGy/+O8wQSGwTKFbmrGa7hnHHTatl5rrWx3AJ0i3mPIZSvpfVV0A1YrhNNysKrdOx6TlTwj1cXLP7jzTJ7GOgDx9+GjXkraRHosA0pfVEOimkdDesdCVRuT8i9+BZr2IgI9IVWo3ss2sOIoLFUGNHl8VTztHah89/IRkkjRJX3HVk29CJxnLHzaqNH9ISzKxO98HmiGxEQTnMv19Wo/txlTYGBdBfQEIKKb91ORQq+W3t+ORphSng0Q9r9ShoOl/CfjqnUJ97rLASvulWmSze5NYHVSuumOoJSZGNAyVAep7kJN5jIRM8k3G43NAWRST9/p+3WGevtwHCchR7Xh8j+lJ5AYeaYMaePdzfQd1qA7tOMgbdQOJZmVhyiOh8/b7bs8RBrx8Ggo33vqSPnsE5YnNb/833536PPwtAN6ynSPFsP2Rv+SEl5vOmuVuP4R9VScj4NY+A9k4hdnW5hXQlc/T+rtOyzq95WSg1oOMBH/aLVMDlJ/ALIHeTs6X15ccOP5zG4Vv3O82JGVUaO2Zf7MG2HpcRtkDIVOfYH5aZJ8Z3kiz0tY1j16RRd45M36CeT0rardbahlBS5WywFHuhOsKEt9vkR4s2LVa0lGBjRPW+Ybhe+6I0I/IRYCrTvPHthsNuo1wp/O2Ft9O+0AXs6CkRHYw/mQnZMsiwDuwSK3IOzP+mKTqWj2XNYU/ZsvZboeKPSr8vwEUOjvAYP+Lmr2Z2PWNPdky2MLAeMPM7INDZAnDn7MwW24SR2UWauMfMwqhJ0IdsI1a9A7FMpH3NWbrQKQQkpL6N+lqOxb0/7eEaZZ4bcwEmV9G2hma/ws2e5h7OUWbDQ2UUbp3LYcfzQYUlhxZlbDfns/Nb0jpZoQ70UZaJTVxw2bu0uog6xVD/vher1DzJurjU3vkH7PRNY7IPkPAnnl9CpEoLkVM7y2RiZkegnTToNfBVH9c3jzhTohgeKfCxv4CFRBXfmKghMTLlEMZJLTeQ55Wxbu0UVLQOjI5z2fWYy7XCXnXDQ32hHFxg1e2SbcedhzAl2MqkBFUru9UQM5IR1WTpapCjUY5M47Lx/8P+5Q9ho7Yr4GmjtXcZfOupeUjFCMPGF31ifn8dlRo5dOaRlgGs6NswcD18pjT+mkBWXr2oQEpTBejuYKzVNpM+m4gz2/nHLhj3DMcrnzIF3kWqS+X+Bf6DgeE2POwEosl8LwxuY0D7i7rgkJu8zYBv+zUYT6ffbEV5jd7i+XBOLwyWaMovhBdvFGvR2aeBKG+k2i4gYftE1+5iE5/pi2jdf6OeeM2i8w/mgMibEa5SIpYX50In7VTIqE4kPKrIMqvsZpxT54wYoQabZO1LhamX6sYO3I6GRStOAa1L3KdLjU4FeFiTWLc6u5D/O5Ufw+nFSKnQX3ncKDC/zo7Wyey2zhcpOV+TL1ze6y6oJZenopRLpAZhJz1i3vKx4efucDrKVhCaPg0Pg3Tr1kdyRGtgkL75mz104+D9gUZX8dmOACKdxPpJrR9JffUln96PJs+MD8eieY4SRPgxpTUo3UvML3z0zX0pPtUImi0y5Xie4UmCiuxtH06NwOCcVqwYQnv329IAC43X6oJlTarYI3siAMpgxNcueECDZsFueL32kWkPX6Og9HHwylOxFnT2QUbxI7HoEarl8S5dMVsqIIvgH5y69C2DZ5pcYHu0xQaouF52LjzOvps1JtBqgAHefmGLNDqGnP+KUGE7FmCyoaezaSysTub31dVVkg6EcD/RQ61M/PMFkI4+kqDaXCpS2abXzqqayBXkfxPCDSXYU5uKhZEsQNdFELAwRHwk7GcpwC7ER17i5QLcNgSRiOVOcDQShOQ9iykaabC2zu1HeEQRXbvipu0RJhWewUUzD+7FdZ+VDbQqISF+xeGPjwaqk38pUcjrNaW1OIgURgLT/12fL3sEsVEgx2u5yzZFc1iHu9aixBYO2FgOMczG1OKL8K3ZaZziCaXUKhrDT1bYw3lADvczZrXIA0lZcoBJ5j/9DuxdDs0uDIk5N2GLhBwbTdSWcFTsoOnvywP0vdwQSDceIuV/dqEXiiIgFyhZmlXpNV9KtN55vh5zcMpqbSc/wEMvcFjsGOYthBEKGBc/gugipsWwGZnXihyLCiddqCYB+vFs8Z+srPKq4nsPI32ZdH5I092mCuHulXhKSutjex7gnxe0FYMV2fSr2ZIYqsH5pKDjaQGcMZ+0crhsMIHc6VZbaEUkhrfFMCRNLDcEtvO5fU5jDdkk3qQcQ93Hdd/+YpRE6WjLM9rlp/XD0OIiajdszo2lPgClJiqgkxzv35Zn+rziOHe1SeJMErKCuF7pldGxDTELfjS+7OZTuurUJnEEbi2H3cJ2j8j3PxmnuhepEIciEN7YteO47ey5lXVWDCJlqIjLInADQP2DWCTPG90danbxKdf5T6MHt/2WC/OJ1Dw10qw4wQGOIUMazsi6bsbF5fTnORQMS/L9jsw2uht0Q2tbhL5sdv5yjHqyvHBw1DfCzTk3f94xnKb5gki9BZUpqG1gal9mJgq4Zwqzq4pjm+vxXLo+cjjbdCbIn7yt44/67rSQjXfMkWCgMpRSES0ANo7sL/cnRQ9NaOrP9jTs0nS0a0AKYNvEQe0TcIswk217/zNq2Ck1IU6ZWs6wpz0n4JVFFx4vGVtnT1K72ZH+gKH+I6Pj4pgiZTIJORXUDUXJVxKBKjags0ZpmsVuI3iJ12+SMh00iCfhmk2XQj9Ha3uKEgWhgWxIt2+egaL83O9qUWt3te1l1Vak4whHuXf1Xxd1uFmU8jMgV9JtMLHIjhdzw5HMv7JAp3UQ0oZztZuXJY22NZ+XSUWL0A2rKxlI+i4K6br//R19X6Ct2Bloc3c51kwCNsSD3Fusx8LHJjFNBS7rZLvRv56vKuvqicy9+50yvGuce84BSfIKGD9Wq5Y1mDm4M2xvOiyQ3HZSauTWThTntJcl60EiLphkxvqvxZyGLv0Uprd9AAaZa1nCCMmE7hvtxKFvNdlTxhjyFGjBEmkq5ZN3/icFwE6J0QRUHspxAvD57BR06Ig1V7uwLkEFT5ZlM+KOdFUNV3wQz7XNqvM8scXPbg13GBQW0qdR0H59HW3uwgHzuPrTqRGF6fdsrI+OgBPVfpPqlk2oQQ9ItOb4GynOwxURcW//w7xXRYpwZM1w2PHd0bMqFrBq+WE5MNZd9e65ohnBFSg4iq2gs7lDxQXurXeHWzYtd43qgr3XUAfZtUjzLyDIor6Y8598etclEuD57x1tbFQtDsuI/v8ReXF7cB2C6clQ3IYzJc/BE6KdmMG5yKkxzAbjog1my09D/42PLHwLizT8AhTBOfGRf0Otx20hmDr+2GYQLbTgBKA5Dbk4Sw9led+lltRmOcwX6vXbEAfFduyEOa6veYGN25eEYDV6EswuGKEgUSsD63iSSCMoU4FEvAeVMWRjJN6LF2QKMhRwjDUSn/Ds5PWXZAQBkhZpaEdLy44XsUPgCUMhvp3FUyq2xzlsiZ67k9b/JSKCdKMklBksMzMEEulKRm9dwCMG6OpT6JTojOvQUu9/N8YJZE2+FPujDfrCGIO0x0viVVy8Rct0f66x+3Ndv4etqxY3l2+779W2MfI2iVj5vJUBjp7ZPIqZeojU5y87mMko8UASvRSSf5Y6iTaxwUHIuwPtDV4cZXQPUQBEao7zeaYz4NaLMoJhaq7y4xuLCM4L8iLWItCAAtTCHFX3Ek+CVmy1h1XBOzvoj8UgxFAWIsosaRorqvHFPf6HrYENVPPWke8Glw16eA1FHxpDQKq/lkSUHwhzErQIQ3786cDbyS6Ok7bV1lsOT19TwIYlFjto3Ib24qdVPqaUGYidaN8R/PQBxGmSz2BPHt22DNO3cRZ4oHX/f+qSbEHOiuXk8fCcWw/nnluFU//A5WQvVsxig5iUdGQtF1Y8mRULQ1yLvpBzqwuiNfH1T4xmyGXgD0d3Eqjhq+YaJ/rqWw585SJZiwIEQtBrwtCNl0zlbl71d3+0PGFvb/bZZXRnWoZPlUr+6qJ6jA9UwNvbaKg2KRIGyG8TwffVRd2WD0Y2LISTvQOJmVG40id6JO700+vkee9kFjaiFsAArq9Xx61Iw0WakOTmpsr5idJOJsPnMNTJrhhaTmWyy/BDl53V7kb6gGigGOzWv5CW2ckyT13FDliZ6G/ApV8Dii0aGyv4YWLPgyBCle1PkEc22s6v7gqXGrAnd6Fn9IVWAByvkz4lrY+hL/NNOl3HRhAu78tqJUwsVHudnaoqJPuTe0Bqp7a4G8xvOUYzhSEL5kTgM2iKvXQNObhdcnzpvX9DXkK3yjuhoQt42WJcABtKIDgxf2A5LNAP6HC3nWo/4OC2RswTwrhZuajnCl4eypaiaV/b4XyjcXI3Yr7CMQSi/t1dEdK/TuVHcxQ2tadzKAUD/MxmXkrB+6Ytk+mYq3re0viymGeLfE3s4INpOZ+w/GBYRVtVsBmQVmiV6sf0Qyk4oRPTfCloQSw+QSQXvlx77fkQ8BhjECyySFhcH6qP0K13SQhiNpuGg+IGkTjYaHNIQ5Y/JGVonHX2oWHJLdYFo7/g4Mo4556piFW+rVMSwDtVucFlvNi97wVcRW2RHEDWxp0bRRt2ZPhtjKUBCkbh/ya1juIXrDL7w5ZVmxFcppH7oKs/GJAoh09ZPTw2wIOIWzsxLV/5/XRuJpYev9sJmqDsCaQ4IGkGj8sjNkUI1clV+lDGpz810cVk5H3Vqt8DFBlOguQR9Q4pBd+LqlMEi3vTH67iFlhZRzTAh6RfnjikIe/Mm08UOlcNDLWUASS6xlkJCylKE4u8TNsXwokud8eD16s5uerTKshwct1tMA546FFNVRoWrVDkWpAlDySJaSSCZ0iwik0xzzjVbOdV7K0ajBJmceLnW6Ua3hmF3VmLS+KJzxVVOFlV/C7O6D46wtHrZ90jWEcBcCQ29k2QsfLutcC0w+/XE9kXaPRWeCFBV07XvJsRgew/Nz8Inx9w40FKWXjN/3lo4070aL0rDZc4xDzE4WMMRal+V6EIUnaTXJRvymCsKchs3ZWWIs9s/Vb0ZypmBgd0mfdPI0DthgdNc0u9GF5FwgYhDx8n36jTJgrMe+70FCNN0RZ+HuB5fj3Rk3ZZtA9UnjTpRDf2J3Epsf/oNs48H4yxk3PcRlMuNjoVghGOuAX5x0sJGYyuRZMwYu8nPBnDNXt8uG3g4RJCMH87deznkV7mxDtPsMCWHGBZtsIKhUTDJte5qaYCuH+JI40o/NW6Kpp+3Qqs5hCjtdhQPTeV1dVVAkuNpT5wYUNQsNHEwT0rf+kcxsrA6mm0NnYcPTjMt2u3fPO6Hn90Uho569rV06fC3mIznZD+OnMw6WrCv6xJdqLn2IHh2rTT+iJfa3slPmfJBSqImOrwJ9tWrQSPdrjc2KlV0Se+UTHSaAPuMhd6nwM/OlKSu8KRuWz0Jadfj1dUMJgP5DGfk5aoTYH8RXEnpr09eSL37o8YuGHIArTrrekcPNubmB1hIMpmWgi6Q/iJjzc+FVBJxXlDBK96EPIj53TyO5lMllSzzjXByow10KG/Qtr4MxZ056WnvEkTrLlD5TP+CUZEei0P0QZ/kY0x5ojP3vQc/FS8ub9AFtj9mjfahX9j/RMWDNKolxFeHh8b0PWxzvQ27bUBQzOOdoInPcrvrDJaeyJyGjtStTQj0OLlSeagLdCCKAJz1U/5EoMBuRrdi5Z/o2lcv+YF87IaWneyi15FAaxn1TdjUVOS0Qh6iZD2khB4IwmR2IFdHGyJxa+ozZ51OfCbbkI1By/r91vChqBvNuYUncz7IZN+kLXGTC4v3J2UH7xcoabaT5SpW2jA7P+nyCO4J6X52TZp6lMOC42QLlpFVb4Ut1DnZh1u43148uOYfu3lCGE3k5r6bcqtsOKqVLxh5rIoYa+oDm7OGbDEADoovSNulit/lLlGLYyjnR3U+hZG7WE74gzXL7erzh6xmHuSDb+w/jUGXD/9OiX5czMOls1fBN7mhFZ1Ms3Sg+l5P5jHWhl1CsKDsT9IGowXUF5kV3DG+A6VIjmCWhkVbTAUo/37Js/oUln1VjqWXrpsHqGw3KMO0LepfUQloMiOpYm5AHAvqcLf84tAlitl7h/QshEHCmy5PRb18mSfBV72Zp1XtjHmedRwx8gHMtVGHHNu3pTmYsSpyK3JO7qqph8FXQi8A8puSUeOy0BIDaiUlyvQujeYLtGX/0JIjReKS9PWhdDkaADEHkC9s+PjlwegHcw+QV6io+1LmBbMLlR8Tir5jdxLxNGwxeuCTfMzM7uQYAQ=="}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":490,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":490,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"d54912b4-0b0e-4ea1-9489-c289443e706e","uuid":"0298f865-73c8-420e-a1b8-04fa5ae29a3c"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01X7TVsdpL7ea6WEBRx6BR2x","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Good. I have TypeScript available. Let me set up a complete Tetris game. I'll use a simple approach with TypeScript compiled to JavaScript. Let me create the following files:\n\n1. `index.html` - The game's HTML\n2. `src/tetris.ts` - The game logic in TypeScript\n3. `tsconfig.json` - TypeScript configuration\n\nSince I need to compile TypeScript to JavaScript, I'll set up the tsconfig to output to a `dist` folder. I'll also update the package.json to add a build script.\n\nLet me design a full-featured Tetris game:\n\n\n- Standard 10×20 board with the seven classic tetrominoes (I, O, T, S, Z, J, L) in their traditional colors\n- Keyboard controls for movement, rotation, dropping, and piece holding\n- Scoring system with line clears multiplied by level, plus bonuses for soft and hard drops\n- Level increases every 10 lines cleared with corresponding speed increases\n\nNow I'm setting up the TypeScript implementation with game constants and tetromino shape definitions...\n\nImplementing core game mechanics... Setting up the SRS kick tables...\n\nI need to be careful about the coordinate system—in Tetris, x goes right and y goes down on screen, but SRS data is often defined with y pointing upward. Let me translate the standard kick offsets into screen coordinates where y increases downward, then implement the rotation logic for each piece type.\n\nDefining kick data... Defining the wall kick offsets for the I-piece... Continuing to work through the rotation offset tables for the other piece types in screen coordinates, mapping out all the transition states. Now I'm finishing up those wall kick offset tables and ready to build out the complete game implementation. I'll set up the project structure with HTML, TypeScript, and configuration files, then write the core game logic including board management, piece mechanics, collision detection, and the rendering system.\n\nWriting game code... Defining the rotation states for the remaining Tetris pieces... Defining the tetromino rotations... I'm finalizing the tetromino rotation states and then moving on to build out the complete game implementation with all the features—dark theme, ghost piece, next piece preview, hold functionality, wall kicks, score tracking with localStorage, pause and game over screens.\n\nWriting the game class... Now I'm working out the scoring system—single lines are worth 100 points per level, doubles 300, triples 500, and a full Tetris gets 800, with soft and hard drops adding bonus points per cell. For progression, I'll calculate the level based on lines cleared using a simple formula, and the drop speed will accelerate using the standard Tetris guideline curve to make the game progressively harder.\n\nI'm going with a simpler linear drop speed formula for clarity rather than the exponential one. I also need to implement the 7-bag randomizer system to ensure balanced piece distribution—each bag contains one of each piece type shuffled randomly so players never go too long without getting a specific piece.\n\nImplementing the game logic now...\n\nI should also add lock delay mechanics so pieces don't instantly lock when they hit the bottom, giving players about 500ms to adjust their placement. I'll cap the number of moves before lock at 15 to prevent infinite spinning. For the visual design, I'm going with a dark theme, gradient-shaded pieces, grid lines, and a side panel showing the score, next piece preview, and hold piece. The board will be 300px wide and 600px tall with a 160px side panel.\n\nWriting the complete TypeScript implementation... Defining the piece shapes... Defining the rotation states for the remaining Tetris pieces... Defining the rotation states for the J and L pieces... Defining wall kick data for different piece rotations... Finishing the wall kick data structure... Now I need to verify this against the official Tetris Guideline specifications, since the coordinate system matters—right is positive for columns, up is positive for rows.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":361,"cache_read_input_tokens":5271,"cache_creation":{"ephemeral_5m_input_tokens":361,"ephemeral_1h_input_tokens":0},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"bbfe5c0c-442e-4172-a5a7-98220fa3cd2f","uuid":"31037a67-0485-4bea-af6b-397b54509dde"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "off", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1", - "run_number": 1, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:21:32.857114+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:31:35.705261+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl @@ -1,10 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-s5qf4111","session_id":"bbfe5c0c-442e-4172-a5a7-98220fa3cd2f","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"7598095e-fd77-4e0c-b3a8-088dc1f45144","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01VhApR5CvWMrp4xDrFZhPQ2","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris implementation with all the standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - Main HTML file\n2. `src/tetris.ts` - TypeScript source\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript config\n\nActually, to keep it simple and self-contained, I could write vanilla TypeScript that compiles to a single JS file. Let me create a complete Tetris game.\n\n\nI need to implement the core game mechanics: a 10x20 grid board, all seven tetromino shapes with rotation logic, line clearing with scoring, progressive difficulty, keyboard controls for movement and hard drops, a next piece preview, and game over detection. I'll organize this with HTML for the UI, TypeScript for the game logic, and set up the build configuration.\n\nWriting the game code... Defining the tetromino shapes...\n\nNow I'm planning out the full project structure—I'll need an HTML file for the canvas and UI, a TypeScript file with the core game logic, and configuration files for the build. I'm thinking of using TypeScript directly with `tsc` for compilation rather than a bundler to keep things simple, outputting everything to a `dist` folder.\n\nWriting the HTML and TypeScript implementation... Writing the complete implementation... Writing the Tetris implementation... Defining the tetromino shapes... Defining the rotation states for J and L pieces, then setting up the wall kick data structure for handling piece collisions during rotation... Defining wall kick data for different piece rotations... I'm reconsidering the wall kick implementation—the SRS specification uses (x, y) offsets where x is the column shift and y represents vertical movement, but I need to be careful about the coordinate system since grid indexing has y increasing downward while standard math has it increasing upward. When applying a kick, I'd adjust the column by the x offset and the row by the negative of the y offset to account for this difference. Actually, I think I'll simplify this and use a more straightforward rotation system with basic wall kicks—pushing left, right, or down—rather than implementing the full SRS table, which should still provide solid gameplay without the added complexity.\n\nDefining the wall kick data... I'm settling on a clean file structure with separate sections for constants, types, piece data, and the main game classes. I need to be careful about the SRS wall kick coordinate system—I'll define kicks as `[dcol, drow]` where positive values mean right and down respectively, matching screen coordinates rather than mathematical ones. I'm verifying the complete rotation offset table for JLSTZ pieces, mapping out all the transitions between the four rotation states to ensure the wall kick data is consistent and correct. I'm getting tangled up in the coordinate system conversions. Let me reconsider how the SRS offsets work—when the table specifies an offset with +y pointing up, I need to convert that to array indices where +y points down, so a positive y value in the table actually decreases the row index. I'm working through the JLSTZ kick translations to make sure I'm applying this conversion correctly. Continuing to verify the rotation kick offsets, I need to recalculate the 2→3 transition more carefully. Converting from SRS coordinates where x and y represent screen positions to array indices, I'm getting [0,0], [+1,0], [+1,+1], [0,-2], [+1,-2] for this rotation.\n\nNow working through 3→2, which should be the reverse transformation, giving me [0,0], [-1,0], [-1,+1], [0,-2], [-1,-2]. The 3→0 transition uses the same SRS offsets as 3→2, and I'm starting to map out 0→3 as well. Continuing to map out the rotation kick offsets for the I piece in SRS, working through each state transition... Mapping out the rotation transitions with their offset coordinates...\n\nI think I'm overcomplicating this. For a browser game, I don't need full SRS complexity—basic wall kicks would work fine. But since SRS is the standard and gives that authentic Tetris feel, I should just implement it properly. Let me write the code now, storing all four rotations for each piece type.\n\nActually, I can compute rotations programmatically using matrix math instead of hardcoding them. A 90° clockwise rotation transforms coordinates using the formula for transposing and reversing rows. I'll keep it simple: store the initial shapes as 2D arrays, rotate them mathematically when needed, and apply SRS wall kicks.\n\nWriting the Tetris piece system... Defining the piece shapes and rotation logic...","signature":"Eq+PAQpbCAwYAipAYR3fOF5yzH4QqHaFfSWrctN6ojchgPHIqEk8gOUSh6171t2RV1271dwYb/1B7DIqV4G3Yt96dCMYmMc/Ker3xTIRY2xhdWRlLXNvbm5ldC00LTY4ABIMbBViv6gXdBHLtfqSGgwtUbXzm53pw80BUewiMKS5km6yzkjfhz5G1VBX5CZWIIPjAXRQC56jWLFOx0oXGMOlnFvhDCMS4RIBtKOECiqAjgFXhx6CVR1Sx1omU1aLGbl29gQzWUyRuz2vezVkhBnzEhanYSaMwlsbueMQxJfX+pVZJtrd5u/soWIQt1Uef4tsepZgdRvcKOMlzknBt7If41zjKY/XMnyp2apRkFsN3ZYvPu+lvpKbWQgmB6xtg9dPNoP7Nr9OaZzXCXZtm1jJrbJbkpwVuE3FYwUHF7lqzUyRoveLz5Azea19LEi95NLPpIfz8eVVkyZiK91kdZNlvIbVip1PviKWVRIi9k4QE01V2A0mW+FsNMzXloST425k5v/yUsRW3aNVSY1/zmAdc2sRQ+KunrDJ+YTvAR6YeTVX/2Z6D0FCPuF8amx63VdoQM5/lI28GbfW1HYQGRv2H98FHF/Niljgw87oEKX+ovyjEBrRFKe61Jtxe/XEgAmWt6waSNYsuKKD4YBtQF7FWSMtVnKZ7LVs2R2P6BH/IexWguCfcqRj3MS+RmzRAGxjDD3zHXyC/PrPoVAEhmvYqjDeKLRJccOKru0LyYxlRSgRimMBunNr3qCXHpsx8amwsGC/WIBxOSWpEavPSsWMrBE7eunp/nwTILY6rO2wcxR1mrw4hzDL7d6eRBvFqy5uq4Tn1dDVnomDjuwZoAoS0k7dYTs0GcEpBLKyaGBUIOOKHX5gIG9WnKeatBpoF3oogP6KllXZUz9Ujc0VGxIz92PPOUMr1CA2XBbPa39fNYhTKXcCzAKJlgQ5n2fvYoTDig+GBPwVcMqSpamHcmcW4hjKm5C4/CjuT2Vomw3SuEcbsguTJp5vW2uoz/XjDcYojrAPgIHH2zdxgMDD4TiLh8j63m9hITrzzxEY955VUi+4G7JUA5bD+3unPkywdVwlSWtXZFFtNE3+jfP8REt4w55XTs2sL30mxmRY9ybu4EXCXePOyyxjM6bWKQgMrDQNAtMtBqYetor5zjjUyFUv9UaBCB1tW0gCrnavLqWLnFXlmk5us/DsLOFG0vfdlraTl8jPIhr2ABv2XvWjyuNYu9+i4OBHhTRG4N1/BYHGhnPDlxaVk8a4rg1IxDLCxz/SILiL3kudvE3ki1jnzFRNYzHOr+fON3+jFJDP25jL4RLUgrNhJD0xKtL4fME042FGxUfurpjXPRcL/g5C5ptBTT8uaEpwmnb7poNG0xXz27lv6yZJUTnIessYnh94k/jw4AQcWbI40y+Tui0ZX9Z60AiuXHVauwq0EdVY6f/g+ZZSRK1qtmKCvx9L47tvLzrhn0ONErzlQWg74M3/+tOQV/ArVZ4jSoGR9ZjJheHb/6J/tYeIG090VW3CooVXnPbmURp507HJ1eSt1tlAurh+nu+QmvchpOS6pJ8//elcV4WXB5olZwlHHnoqga2CwBeKzag/fGPb7QDggvsech3dP87/KIp/zy/wmJG5IDAWXQn7RpIu1KsVANYfTpF/MR2pJvBkfAGFEqAzQOWVMtCASboIJ7BRQe0PBhm8uf3X9fRZtzZkX0DsRadA6aEB7ewEimCKAzV4leHmgbSREKyKd0otm8+ySBO5HDBiIDZqgpM7irq44GMOgf2Gw7Qksdrufz7f768FkmV/I1nwAKzXkJxXelKzvLdHld8hLJlrVf23fE4UDDpCbYtNW6+vwhg0GkEMR6+1mHkhhp1MkuqxhIXvU5nrc0TvwlLYc02d5oBGBbUKS7epc5axqMwCdh7El2Ri/2akTalxHXnr4x+2lr+IlLLJLXmM4bEHfZTnNBaeZBsLdk3wInoXuamZSF1/w+jkn4eiDaXpgjsDeYCiJj8ZcyrHzc10RKIg8ANbkr/L/RYyMp3PtN2F3VGKSJmujgiMTZ8jpwnikgTqjL2R2/R55d1N9ruuHLap8gW6LcOwb4N75jVRq78VxhaH4Y+gNTYjaHZmXvQEf8xips4TdPTm2K1Nu+pkeZdHrFlFOYXKxXOxzHSi4oHH70glX7DWjVGIk0Yd89eDuUpr6sVkWhnsZ0cBAnXY5k+20Axs0ieDFYiIZwNg+SxouhUTAgh/b650hkThauKoQm7BH5a12ZZ69GIeZgxk4kGkZsM7S2804vLgpJlidE5kpfD9pt5twirE0yhTNdgYIeiynXY1RFU80v18b9h9SL++klMXrg+GXs3MGFHaudy/JgqQzhmpC/iutPCk0HQ/yaVRU5mPbG1ASg8ZyPhHfghi104EELLmeswCmeZJjmbpOLoM++Qjmu+nlsUIe5djHVqdrlx7rSnVE10OMX7CCCQyBJQjluBwpjZR0C7tM5iuz+Fz4ckfcf88LtL29TUfcCH8Mz3M93MjpLqe4w5b/0JB1HsQsnCcQ8jzjYbQHFTzBN1IAxbK6AiJb+rR7pLnOMkAqpdZ9UJvGI6Q0bhJF6WfEmOt/iGmr9bgiO5a1C9Ohxji8TJ5MdTI6qc+YXJ+DCxFJXJT7VftwMLS3S/xgTS4NjtqL/S4W/6XRgJ1YjoWYlZFwOtQ+4bS5/fUEENsfmX4+HCtYqayBMhBV9xqo5nA/gVpkxES2g3mXc8fTK8saNu3AZylh5iFcvt4Pyw13irsHfpgDvrkMz2LzHOwYbYZTu9+liZQZ5AilSwZ0or58enBB0hMK8gPo0unO4MIVCJSGZkgpKkUA8F+Jx1v2mQACrokvFAGpvEXBJ1Uu02qJsS9nwVkxTtgRA4d8FznSb39CUtzGPIGSvF5B1sDplBudibclllnTUXSGAjkbkFUejoQrReRO+6zTuDCh9BFav185tbs66R4LYp7TLvvrI5c9j3sauUux5bGSUs/wMbccrEMs7V4161u4cad+BOgFjbtVyn74oSd5w6m8ooYm5YpFSpTCGUZqU8OlOvZOplGGq0IJwaizneL5Rf+Q63JBVsdylzPRs+yvRBHqodiYDJ7cVuEWTS6zlg8yO+OCLXZUwWcajHkYl1pBSF5VnmDgy65PHAGgYElv41g06w7hPY+2leKxvzUnS6a5lQOcbql97mbgYtJHND6uJ+VqwJ9kEfSP3JfyUjqAL1JmbisMmSyOBJw/NP88VK5qF1INTeYnoulWL2JYVvp70YZg0V0SgN/KKgsfmgrE2aUwP9PM6JKSO+6bezP7GetFcY/4bXmIqtKf07vgrVAE0SWs0+zSf9xlf7iuXV+ftw5GOeqtmqzHpJF/dQ5UL+2hBKQuvcCeGSWolz7763IpQHSEj4WL5rl6Uw7fNP6QmYmnlMc2v4gNkcCJIH8AGBXUB9pk6F44yAriIiddEQ+7BVTX3W/fzv52fb0EEnSkzdzcPVng22DI9Zv7VjIfRbv/W0nvdJGMbRAMwjqKTIR7CcBRWMAKQvhPrVMmcwLyOVObwXCkM6zGhQv5wK0Aye5BNVpHqfS1RvI2CSrnCIej8XEy79+TTAHFtzYlEgrrNnGCAS6tJDaa9TDQmfUF8cZ0XjVqDkGq8SvEIkgnZ03NEd3z/li9yhT7Tz4WWq1DDDnnvL81pBvd8ENrHINf7k/kK6mBZCT11tGKTneS1leyhjCscJpb3NE98/ZazE+JQRLBhahqJC1tYvKwR0LVF3hE79pU8oJcCU9U9s3h5V0LKmm590fIsAa9FKITwh3ELLgsjv/paIUmUtBHaT/K7nh03IjlSkyFm//Qds/yYV3btzSlKW3ZNv2C0XDx8e6SXgxgQOH420QvYQ++Sf5/9y6XQIBwJcOjG9z/vHKrIc9lG4+ECDJJLXeTfiNZXHjUP21g5V28JfsK87pIAmMo8WPFk48yZ9t8b13DwMyZkEriPeNc1R/IaMj4uV871KI2evD0fTq47qblfCue5yZl+87AeqDD/rujkLhRtepnvQl+TdAQpXzWW2HPeePp0pD11Jv2mCzfO12Jlkpc5OrafFFNRZbf4H5sAqsCmS0NID8NcwbQSIU+2j7xrYvb7RjAPhCqCDFvdEhRNYS4WRE5MYRdw/ExxY9OkOrQXK6uv6jUw+MDLgyHZY+ZT2sN1ImrBjYEbfhkJPU7WQsS7PX4RsYRvhYtjhoIIdY7AlhQkTIV2l29DyFF12oMHtRHSxs8eHujIxYLnNykalXQ11CQRYjIQf6W4Bjy3vr7aoUv+tVoz8M1L7G3/eNNhkfDAbpTtgpPnaaGoE8mDTjIk9z21ki/o51DXEWOyCn7oVpH1iRzwKRobJkeBkvuZw8U46zD0Wz9YhdPdEw4G7L0K2pSzbc3qH3h3lyqU8GBBElheIbDVROL0iQqHrWVxyFiVK7EFG2qqJU38geM5Ym6m+EMiNaci/11yccdMmLZ23KqdnJkLwagRY4HLbeaawBrHw12TmRYuv45Dftmqft+n1oeKFdKvaufpYI6sAnozxUWV5MoRu2UXSzhiPLbvdtfV3arUHeYOQsevCQC7eMwmYLQ034eu3MEFBSrOLodhdm9oO/O490PrBtCDxWr585NcQmB3aCRP80jYGmJ5Aluu0+0pDIG6sZq0OWP8WHKi1HSZe3OPjxXxOsx3F2cA7ShcMLc2YVxoSAWnHW3I4lYcsnu4QxfG/KRKlh9mIk9T9TTeFI2NcQYw/dXT1u6jSIVaZr7KWIFaEgIxKwZ4yOtwr5W9gW7LIctNpSi5O2yVIpYMnhe+Wcg1evMYrNVsALt9PU3irDS49U9PqYTwwrjuMFhPYNpusH3y38XXDD5UFQ4ELZ5mGemB96p7tH93AEtA9uOZU3mazQClbeIHkTcyHyFSxoyco9dFG9UGu/hDuifbC9DJTf9RdqPkTc/Rm0UETIYsdVxfm2uyo1WNhZVvISo0zskmOK4nV7jaByEVVJ6+jfzcPnmDQLCGh/RQdJSE+L/U4EOihSjn5sea7ckVh3pFrVd3FKPyDACN+CNXjAEIEyq+PrBJ0C/ycTD/NkZFmlUIpMeENOncpH8nmyBjPd9JkPsOlROnvg4qh6YOOM1i9LZgehMej/9g8bD9He1SBYykhJf+7nhVWclJawBjgVR5FgJMa/rDcmHQzv1/BoGvPs3lGFqO8H8mk1fODIjfMgMgP0Mett6brml6zGsuAeIT10D3I7TQ7ZiIamqKthJL6c0iX5TxrE+tsb5qSiOkVINy4ZlV0duCn7cm7qBZ3V898aIqfyneYWzqad+1fCs+KNp2YlRjfQ74R30WyS3pu6t9Va4jZKnsuYmclNIfjya4R6Uvnf7edhOYZisZ0m1hVcGbAtM38+lEexe7ujMGvgjRRuLOw8/zMJTdfR/Mx06ZfBYPe/PJ4y9rWAp1uxZQC9AUPI8/Fg4UxCCElquNO16NTMTj+4KX6XPAlnZp2vppipTU8L8zclwAM7IGrqPYTGWC+VS+UuIdS2vXeRUsuPtWu7rIeQUWF20/nYdvrdyU2PUQx5KuhVDUEadRweqEPI8z6fi16GVFHK+l/M+YNKjMubxBjY6VRv0oDL+uDwnZUiJ/w8lyzD7hdt6GSEtAfnElOHdBfd5fCnzJaZQWtIBmwF7nXNIvYnYvDVcJK8oOeMtxJskmMCy/Wzd9ZlWIwfgvoBj9oGwzKrdf/wT49KR3gPt63iaJQYEbEcGHC9pHClaPIQoC1mYwBCABIKhVlA/3El4x3Hx0q8X0kVRIL7GFL4DpgeEgfptaw6O9+TCS1eHdO3NDDAikgFScAIKMXAqE2RsTkoNCh1KENypp85whj4tLFqkn6Uq5yf1OKW8sGVIcoL9EOlLhpe+SM4VjwJdwMEHAVQgMXi2omQEWNQTX101YGfQ6Q+eJ0jlzhNQJ+UxpIOoqyxjDJetqMSfZHk2P5PCnMrgSN4ranzr2rurnLpaW4zHUn0krdr5KmEzOOh+yQzrcgumtE6Sx/zLu5xMkHfEinl9AdyvwOQQ9KM5mbsgf6hZgtSQw1IuJFxf2+WBC0YIpteMNksC5nZPZSyYPPugT/PCnGTAzy2avlDTQpsmePPI2nmIw32pWOTNhJJYS10kdXzNwBHgvVhSe2KuWzk3JqaAkuXgrS3GtO/bq6LoW0P1PYXfe0HdzCztiOfQYXGhB9hYmq9w9PBXKy5DWcP7j4iZy4qL77ZhPdjSiqKtfK+XIAUUo+d0PEXvGXGci3RNvjlDtzhjy1l9cIF57I8wLolH53qaX8Mr34E1DyyLNn65q1AEDELQ95aC6WvIZRw3iBbcMGorjdIeC5q16eipUjq8nXz3GJf1D7ReqYYcfbqeYuGqbW8fvzCFox0iS2IhP9/mPHg51jBEe5coSkvb/DNXfzjCVLaO1T75zeVaLMIG8nU7d/ayo1DFcRKq3OM6/ZndA4NblwzuZi6Qh9b5CaDk90v12WlZvJZb92LfUssyLK8Zq/Ni1gKFEIFLD9Ui+7viFHK4jfbvBtfmjDWC//75JFE5OfauaH4paEKq4l4Q8PgjOr4YHHZp7Y6BSPJhX+8APgpphOcaRB8JUInWG6zGky/ACb/hztfAJXBlAw94mPVSthsKD19hxZeHEvX/mXnOe1pz6LQPFJU+7rfVn+RAMhpLV0e8ALUzKwXrLq6ddt64jVSHA+ZvLnEncyht0cB94Vku9KwZe1yGae2uA1NSQuWV+uVzRFOTJ8XBTR2RZeQ5YXrohUfhkzusNe/HfwmtZ2lV21LhHm6bErHU3A0Ysaq4dbg2yv119bMWN1XXpEwE4GSybP5lmQvUMKHEun5QillQL0aMeELgJowmVexw0wx7lmCAJcW4LD8/COAtq6uHQ2r7bP8Q4m3aGsaQVDTw2g1Wd1e7WXusYdFlf2DyNzMr4xmY+Hg3npuKQcmownuJjMNABjJ5XLEn/coGsn31tJNLKrDAnk+ioqNYU1DYqiWyMtJCfAUxsUQKIIk5P/VTZcoVeBo9CqYSy6pV6nuFy6Urycnore7hqb18Oqjoy1u95bHqZGan+5DR5BXjv3pOzYF58rGNISuFzy9zbtjhiq+SPC+Ef7mW+D3tbVqy7Hqj1CmIBc+wgV8EHDt90Vg2pKNayKCSL3xZA7MAEajIsKAQrCRELKdx12wD7rQ74MgaPfiglEg/fJbb/Vodt5j7jjZJwrYkrPu2sj4POh4MbvvPmkDzd382MMg/qJ5g4DG2RgSRpwxgcJiE6FdqNerTWmqlDfh6VsqKXWzrFiFwnXXl8PVrozTTRb1daqmk17qpzSMqSt5vINK5FaEpMoKslj1bj0KoBNGfBDM/HBqG7Na7SJJ4lwzHA5PrF3iWoPvlaN9uyqYkyTNYLiLHXHmLw+pR1nI6iQ11M6D/n/wrrLO4bfKQUdXlWYNSdEJQ1BrAj4nS+MdNXc3llQqR44SQa9ig8QrRCor8W+Kr5pcrfWTPWXf1Ge9n+UdDwuqdU05wJ9kC3tdXkwzfHVRtS5+rs/CqrEmVSGK3qCeeU38BWhqA0lJ+fPdij5RnDKeTpbdEOOEp7w1v+9CwqGZk6yTQf1mada7iiJA3llZCTEEyO2pKe1fdYROK+eQfwA+a07s3/od38MKZbC3ZeV4albjnaJHCkjH8hgwYZ0TcPsGZbwfVwIhHOwzmMQ5bW+ZuDJowNLyjY7BsTFNvL6l0l+2ahdPzobgMH+zX4rZ8+Kc3hEZdt7Ka7C3niaWhb7ALINY6a5LeCc9mqzcSrXDPVDVIeGD7/AsLBHIKxEROYRmeFPZ9EX481zBXujj3z+c0m5p50DpoAijU4COYO2QUz1tIiFn26z3byJjFS19MACeO2u0uf+1BSpuJYqN3y2oTdjLXG97a882birLwezKsMotb7QLOI6ccI+9QCWU5oWbXPUE0tv3j0kl4a/IDK/mN6AFX2t1Ge/wFg2ggI3m03dIX7AmH+zlaZ9OZ/tkp/Wj8ffUOZeISVi0h7it3baXxranr+XvfxNU9ocD1VIXeb0xk7CgNN5FHAKelwDIYXBI4nMgaZq7Ng4jNXvJT1kK1UT6Q6bUX/r/FxlXPwlWclkjEyTFqsSJDPMRW8IjdBJqnL69oTwcilU6gI16piRYQ1fXQ0y0ErUk0PBzxR8hX48lMWdxiZyMItOiOdAugxIL456+w17YMYXJoz1PgaGxKFO1bLV0VR/0+fO0n+IwjtE5uafHvGAC7ZxPjrcDgpBGZP8hYmScii3g/nwgzaS2NpeXJaCooIydNT/wkzA3d73s/s1T2kwhXfnyRWML6oGeSOSyAvIYsEzlUaInsj8jf826zFewyOHp5Dfx6d8YktYEa/dyblNTh7e8HV2MHPpN1nUpXdC2EjFllF3dIQ+H5qiqI0YOZ99FScd7BuL+gXsmI5iolIbCCQcfdYlc0HuWqwF1LYI8YdyQ2/wRbC0SEbxlD2PstE3WFU1RlPBMa/86R1nwxO0sY8cUsc9kvcGcPlJU4RpglKcydQPaEKb17/yTShq4eG4uYkJCZzNmPVKZ+SI1fZSCyR38Bv6JbpzPtIRL6SmkEe1tL0zrnN8IcR8famsHnzALMf3Vyu7Shw1wajqhFNWZEY4bt/oI5Ani2j6XJcVNadx1X90tlXSvnPZ6+sdCsFApmO6cVLJEZLJPeOhl3UFkgYy25Tx0YvDKwO1X1ycd99igcLHsmJRiiHaE4d9waoBeXj29quoSZBriYuQEMjbhWH4AGJ7ebk2/m9ZNbvCKKyjavxP6G2BQ2Num8eOEYb9ko9ZigP85cSfqV10nXFmGAuPXNhWOGYQZkzICF0UsUQcqoq4NYq7TPJuJ3/SkSpbFUwSTUs6GNs6uVkquXyYG27Drrw3isRpzCLmTiDzclIzTGzFKpzFqyygQ4E9K0fzmFipg7rL318uMygtDlsGoLeWORH574cjdOEzGdjlpZBgYOQm2WLj4yLwJb2pyCnummddrO5nlBcuTDAN3tCf2bATlESAdAX9YFZdjMC60wiIbxsN0ZgW3Iifn0v6yfMpgnRfTVGpJdO9jq8ICbVunejMm06LtKlPwFNJ8J/I82lUJ4oa4ifuXstmhamdwEv6ZP3xlAKBwqgH5IFRwKk4ULket5r7CUx/czU9x7ywsw0VdCmdVLNJilw1qdZvIudLw2wjPSRrfBRS15v9KGtXP50YY1tzYzeApR5Meu4QsgXi+kdUgonre0DjId8fCGY4iTShHgM/W/CFsSg/V1BoY1rsE/4V0nMOeog4TKlqCJjHo0NwmNfpGB4OFkw1XQHlbXmIKXsBYuog2fWNg326O+zItAEQLr4DPZQd7T5yga87SE2eFM1Lhus6ZlZcZx1Sld6F/Q+SRuLw+wm5T8nJiHZKY2O0BEZM5uNMSNWJDdAC0W1G11hJKl7risgN4IRbnFwdwTwlIY21bShSkt5gFdprljWtlTspkbMSSrznCwtA6jrYdr9aijKHe1cFstzjMJ8Mhq6CRhXdA+cerHIy1UKOnPRpVrWkTDdq6MQC++EqJVgmP9WrkoXlBz2Wf0fbf+sMC0AxyCUa72eMAr8KcEiGxTYoB1VDEYWWZJJc5sKVcfVpDN9HMXuB8cTmfPnTeVuTm0bKvqj2q3oL1hAdbpq/lMevpNAhqeaENtaqGaMDF4e6SUdiE+DnU3/Nh0xyC2PJXj1Ckhb/+Rgy1rfXsTy1SIuU2k2DrtUEH+mwn2ENB0DOlv7Uf6k/hkeLuy8993zs0umI0kQIxZZ2exa9fs/fK8n2dXl/w1y0f13UhbEGfwWwIVpGLR5MsHTt4o9uhm5rPgFKOYNTLeCQnSlXBhBalYo9kAjRQEfUs2fVegVq7HJODZ5WvEpN+LgFPZByfDItzui79Ru+q/Hi4o5Yj/38dpZpH+7l4MVXTVYBYVNw9jbmxGOlX1hHzj1JmNJYs870tTLwA+HIyhqeudc9flpVsXEIBVMAeHOHm2nzpcXrfreweCAiAnrfGA72TJTDzsdHkYFXAP/sFOD4Cb7NmZWmTej8OKqXiHzDz4XX6YlkIsCivRnMMkyZePmDve0mpqkRsehw9oNNXOmlCCNt7BXPnaCDQqFN7JoAMGJLcDPUDTtHJsb6YDWWMSR9jT3VcptJu9/km3kfGbfmOgFybqhPmWOLV+ayoN3K5vTampn6J1juZgEUs3Silmpo9pdDquzrYl12kHASyxF6HNU/Z4a80/39zZSqh5t7iLhGWn7tMlLqjHQwiVMGJrCkpWqEt7kvDHAm7w/Q/13y+yXBfmP+jMNMlUoNXG+JmMQ/XFKWHjDbW+Sc7lGuuJWT11KxIuNyVseIf9VO5toW0oCMAqyiDMAnF/d01eQXF9YO9pOjzJSaMU43AGkVB4vWB67b0nzS/0G4Pc4dhEk+8fj+AfzzivK/Av8pa+JX5Dg6IxB0OzcrogQKDjnWjQaTZ2gahvmlfYidXCpMZ4NGO1ZAT5cWtI3FT3Yx5nfUgWjFJp03sJrXRwe38qBm8DRu9tWx4BIjzS65rYBV60xijUAdZlRYCjX8H2PTO4x7unGCtFGYu4gV6mE0R4mu/dlR2YszXwBMarVA+pmpsIqSRgcECr8HmVbpGIIzBUGtTX5ITPoBnKxb6bA0QoNMc3AYc4tBptiDd5JQEwpiALjzNlV8DrD41kptt7hu+q9Ik+G+Y0SgIlqJBx9se/USI1L8UI1s3LePTMM8PzX3WzWuBM5axe/0FODUnzyRDTCPVfWlex8vyB9etsmCHKH13w8GhiJ11oCQk1cq2/GSxAqabBYnDKdqTKjbzrZ/vv/NPByqlYhJAjkbPfUGYJp4MPwKFea0Ss0GuXTwBXnBUVK1uFVQRYxY2LS40KbMpzG71LE4tc3/TgQnovHAQAJR7M/Gwc3XpF7cRSYnbwCigJyMC+Y7CAA+FdaO/QBtUiV/P8p0I6yfmskQexeepboxurd8Q58v/RUSygIXGwiMbamOZSME3hab/Od7EregtANNhJLIheYcWb+MV772a2JXPy8n/FWmmsJ0Fel+ffo3oCW8TsyaHyHl/z2sESStaRAxjnbXjUzth57DVCFbT77At/JWqztCThY+fL7chgJnIIE572N6Oxm/eIqxYNUPl+0GCekMExHaWXTKnFsLyVZ+eyvgC2dZ+pqRvYkfrVivdW4UdJ8n9Pb89brjSmp7Inr3slW2Z8cAsiYa1+TsgG8LsWZkNiT5rjiMV1OBHtAXXz9NZ6ic3CPSvMAoKA/WuPJW6VEFKL7Rws1RMy+P2LuIAO8sqSSPnazE5896qg9cVrWKge5cORRJ4WN1wKcFbCgWQ34/ExG/vWBLXjJV8kij7wata7I3ccCnX6jbz6vRQYqbpq55DKrv5xXGuUDJRhCrIg5DxMbft6zYDpkBwooiKy8j38mAf7rwWi9ts5lmpTdg80SWoca9d9RiVG2s0rLDpMlucU6rdW/uAfs9AhZTyL3wksKToV0C/hYsnKrmP+JC4eFWu5AS/CiBO8TiNm2sBEkh49ys176Q1kA8X59eYNiaZXxyVosNCMh7dnAG3wUfB1cW7yj5xxRcxvHn0qKhkFxL03/l/Y+P7IgCXMMBVxEkxOfG11Re+/fakpDorU9I1n23wz6MdNrd9Lbeuh33ynzpOcs2FXh5RBeBXV0EwZRRF+NgTV3PEdOH/YoncpyOKQ90F7GBIBCDHXW+ksjrSv9pRvfx6a4Bs5oUaYBxFywHYSiAH7yqvXhfuHSSsqHINe94EKgDMafUmraFF5/y/y90tLM+0D+7QIYSqidGq6r2YwZsOujIqri7xlSZjCmDDn7cTEPkXwpzVXvAmaMvBnsXx/BHFnhPQz59uzB4eQTbDE06nYNi6wGFEvh/uGnkyJSg4YN8bsQejZ48Xv5EvGn2Fjoi+nvlAGbNhO4DwNYL1OWNC5EBfrHElplsylsUgRUQ/xCY8jnaN63EYgsaGVAQZkOA+kiAI1oirjU6qex8rDgYNSqC50Ut5Doytcb2Qn8itBQ6FbZVFfu4D5JDkVmol/4Qgc3KXMM5B2g85AYH/Dq5M8rxlz3eWwDXSf6mn42eQ+pcr68WwkeGnCYNR/Tq3b7MyJECVsAL+K4pTS+fTLdHaTd+3hG5saVxnJlLWz+jw0WZp7urrDFxEB7cgEsnsUGll33B6TTXB6i+S+3aLkfDYJ9rgJ09XVpR5evOW66jAi0mshyxBxM4hRBcRZTLpYRU0HsNqEFnd0a9kGfVn4mBaohp1XUcVpX4VkCH+Mv156B8LXgrRAArNEs2wv7pQZqw7JPccOY5D2pMGVwvD1PLeBsFZ4YHHPLlus0uXdAyLFCt1ayeYc3f5iP7rx5vHAU7GRRWl/KmF3WszlKiczNHG2rOutB6YjU3/D+k5Ps7sT9gZoXkpmtLLHyF7KOfJnpvH34yNqDeWR3O0pbSgHyQn+TqwGNt7VmvSPv+qkr14kcoH5pd6L8XBvz37iT8DD1vyWounEoDE7d73hgz+9eUyo+njOJ481mBtj/3GEnwJzzYDBFLdE6iFRCMuCWOP7f9uiOkf5Q8QyBd+xCyyfuhw+DruZ9ocpa8BPAVyD0kBL0PUG1k6obv0lZ44/fwdIwdThs30g64ah14K5rDTp2MjO3DfQm4Nk3AzOPXwA6Grl+4BhiKtAoHpv8wQnFvj840KNureQ+5mU9lyUQina85hE3X4T7Ov+X7+JmisFkI5X7x4bTZ2kFNxauLDWp90mgJoWZ0U1g4rvn1Gr8iNDoQ+7OXYUje9p1f8rr+oYas1obcCLlXE2PGZrkCoPoar5hek+TPmhkABjjBV1WR2K51ZzW6lEv8Ccusv7HR3QZlm/Zpr2i+AJEyFvOZ8tWkITyx4GMkHZ5FBSzV72Qs0UtEVCtMq1WieaIYxM7he0RSUVzQ2ghUq4pYiQZ89Qh9SPZntrRc6mm4qzslee8FyQ0p8wBeRenqjdDSY1mVcZ2Q4EIID1H++eq3UrMc5NHT8u8J1g6PD/NUzRrrihwkSZnFJucBp3tS3vfobHs8O1UUhvW8YwgW5Tyqy3uBtesa88C1iN1og1CL+ydOfh0q3mWX1HZP+V2tjhwyEeLiyczjGUI1OqRQYL7YEqu3Y4BS+6QPeN3Q7JiMHf+oMZcSL5UQZKZo/YE4gHjzsYxHbKDq7X7Le0mpVcVF5hIWH2MjEgYKlUSQQBfiFd+6zGA+poR2icZzktw8m+VNxE6w2WupiJo25yNfS38CIrrJvl2KJoDXsBR8SqOClxwiMR5x9EPFGpetTUekWi91b2KenIrNlJUsXBHzvqa3fbWJ1wlGSsnjTxHXfEAausAw6vlPY9THAICglzFtLf9mOo9iym1u2VTccIhtRS+DmfURZ0M09mpH3qbTtDQD5Xv3jMU7oj695BHhJF+/5d5hPRVAZg+sKkPiA/LnEeaZi7iVVHYpLNp6n8Dpp8L/keLOYr6hLO6KNXycqP2DUf8ohOtJgkaCNw2RZatQGOolXvIaWbTCfuGCgTuz+l9PgzX8AUGYFOkxr5iKWQGIEHXRXCj5S+FMUzYDEGhZw/OR+aCQD02klgnH7/Ve24s0i5EMNE2PUlUohcVUmb4v6Q2n0HMiC/c0sA57UENaMK8UtUOx3tCt1IRJ3AzZVPXexLF+S/OlBrH//si29kyrda5y6pcj3DsZkz+bQT2oyrsjKsQE1/nniwpkWLoO2poF9DQmncnzBeMaGnBSbby+0twbdkF8hkIFy9T0eW6WUsFaIt7zjXxjNR36z79sebVv855iaDEyScZwVybZ2ZsjQNUpi8kj1tlZ+NAo57CHqmAfT50qo62pF+5WjGOGWdA13Fp8FcBkoLJiTATL0REiX8U0MaGGgjJeqj1kylAJ8A0XYXRs8pUw43axtHVHLr3qHJ2ViOfbzmq+216y/LDCsADipT8eWwHBaPGMHwxlKgEnrDB2I3Ofc3jWgHor0PaVIDJaMNMCR3dxlAETrwW6MNNRTkCvd+qwgDnvvrR7aVQR+jPauFMV+lRsmzKM8fsxwzjQWq8BJE9uI306B/+46k8kgT5Sbq2cg8QtBTmzMwP+jfCeTNMgWBmsWvSSkM9d/U3KV4z4mimr3VU2U0fnTVnHFWOofFAUMKplYT5HpFnzUxjrjcOzG/FbFyLEN/68lPTaLDZhYEJzQO9sg2t1CNFxyCOkQ+SdHoeqrVZfKuncP9pCPxf6on6TMpzCMXPZt5eCJptVSjx5KTqoaAGnLKUv3H0v7IGNidORqZU9R1veWytRzS2B63e3cxTrlZpUnZVLRI2BAqfsbwMkjqiebDQmGv9zvGWqoUGpVvIuyDnqsfPHHhBW+NPZnO+a6xAnNESxjGrn8wMBKISYoNBZ05mchIDHf/aC/IdkX2uadcO7+cXYdF7gam9lpba77s7AYhj9uJJWbEvRgCCCDbSVYc6ghSrQN7HEDoZelsZhPH6mAResfYl/KmmpfRxcs9/qpqXCiyVfmLETD+GX04SdPgUz4XBLJmNatkFspJJLKhLjSjaYGvcandS4GLOLCK1frNeLnxM9vVfEfZIhGbYWWK9BXvHwkwkNQxniYYhlmAIv77UALsN4UliEjfJ7du7pImrVPBIpPufGZdfLiX3xz9PkX0TdLnO6Ux9yMHjES7Ui6kuow/izmE1kMXmfEzSXFm2hLPt9Oj1exrP9/Yk7J9JWNypC215WSCnZ8W6TJdMRLtdMcJjD1D7FgnmQIOhfp0V4ckSBa9NjG/PkO0xX92H1ItzoNFgRMuDqjbqPoKjAyqDzPWime2BXBsgYmi+eMKrV0FNK5xR8m0RQxdF5FB7V1KZ/E4YXRNxDuHg3Se1h1OJEKDGYTUZI0xWl9fr3OX0LU9vuCP9IuE73FyGcNhKPqWzTmm9j+Nni7gyVpo0lAs0KqNYAg2iSmSzENEKvCsoWYTJRaIo4m3O8KH+yjbl3oU88sb/0VvHieb76eGbImmdyTYIUPxfh+AORBkRiMEHEI/dMBhRkgxH84irB0YxZXlU+9HnQO5CUWrSAVyhYNEZ4atTr9tCsQKDmPoDwO+QwVA4lu/IfDb4D/4oSM9ihj949fW//tpMtyvaoM4Zm14kYfGZur2N+4zCplXgc0k4B73Dr+p5kpSbSZ91HmFiPM1ibFNEbzb2ebB7LH7Pgh4y3BE8Phk9sfrSsc1Hq1Fpl8+htYmUmqGiXkaLaNrb96ScBN/DFXqrjl+uSSS6KF/tIB2mBpw+q5b6EvtUdpefh9Ol1xBfjfQay0sJP1Y7VAbNkmz9FQGD1kAM9w0cXoEUAhN7f7zVJgcLLSgdnwl6wdopOkIOqzVyXWhsZBEaHMjqtZXcY2mENHAueoAJJKpzpRoKlnyXTISttsRSJGfZOwxze3i1OoC0O8kCamGw+8bfem08jVIkP9JWHxUXmQjzBbVM/u56DfViYt09e/pS/MIVr/vhx8g4LsJOoXqOLtVPt0W6WThpEwkI/treHgARMM5ob3tV/RddGbOxragvesvqvW6ATJpIdkPoKWfl6c/oFuBnDb3HEtUcNcy4RKBVpxgqVkgZMvzebayaf6ldl725IIBVMzl68I+NdoiQPi1JWrdUyVdXv0bbb2ZFjvklhvc8PM2huXx6kWBHh5KRErtSsAPHx/L4XSGT+zM9nUGbaFX7sY5dPDRHy0GRAlg8YHWE7FjTlUHze5a9JzQ4SWIRBORK//4RAGeLwR6C49cwlstH4Dz7viInCfZdS+oeqrhB+mwXgJBWiso//OVKC5w0JNzLljhf44xxF5tMGoW1ISMFP1GRtvaMtr6fh2gmwkXupgzoN3qxruOwROJMsKwMdlWP9BX/1weW8qaLQGKECAOa/2xVEZSDI890+ebsn7MW3hi5fyMWh3/vd8xc3B/ChKYzem9ggNpPQwU6c+FuwAOiA/nsNghc4hOuf05VbvNk6F8/lgENRJVxBaK65gq1DnY+6M9/Bz+Vv/LsX/iT0EBulnjuT6MY5UN3whurzY6eysTu7RAk1I58JtA9V2fslIZBttWIPm+QgKZ7fY2/rgWs3EPf+MPrtv1IXoCp4s5LSEtv2L8JmuEMrwPH9odFFSf1DKh2+2H7zVsuvCOE9w0NTN1M5qPAPPdqQjI2NI1YeVdSV+NsXRcyVXhiEwILmTTn0xCNsxap0H+cSq0mYxeeMxsdU1dTGQTwXFH5CGwAqiVxH9eWZCIhh9wvzSqk9bbgeyjJxdzwrL0KR9s0+aYoQKoRl7BlIbhvQCccOh1s4Z4XTYw5drkNgOZ2E0G2e7afC6o/UFUV3Fdw4ZM4ZnB6YaJyIW63khwmShUb9MMyslIvcfaxN7ZNEHimOug96iXMgIJZJMii1mQWqjES0oyYz2dEbqmutSkvT774vTEwB+sk/DdOzM1nMiEQuqkFxt725UC+Ng6iJbxHzZYmowL/cIMaWn4Bgk6QQ7+baDBaIzxNu+DirAEGm7jcf4dbn3fKvHVFZ0iwaN8Vgpofh300SVkC3YY8kTiAyjphNE71UNNmJI2NOXDpOrZ7qvQF18QmpF7cBP74NwtgFb6dwA/wqIiwR+yCHdddxJqEywnd2MU7IAjKiuwNgUhnILBENqktsatTBVuRusPf1TwHZ3VjhJHZ7bGgFzOcxc+ik4vMKxPJo6ul2dcLW/rGJp5FD/v/yPZ14qytFOF5IWJ5LZHATKmhpTUzBChV8PuozUgUCqygL/qck1zXPyrQSXvqFs4erwrUeRo6OWRgr0eNwVcPRNCiPRee1Htn98RPDK395Iaicd9lBvMczwkZBYhUyl/x0XuQ9L4La2wRDahi5l9TtsKWowuZhO9777o31CLGOwK8LSxQ3dzcSrPMh7OYMaJ25JC+QxNLSke9SViQVC5j+gN2l8mdx1GZB9N9kQe2aouKJEcnnWQ/KyHbouklOYqFWg/x/F+B1Yx76eqKVyfxq5GuLE82tepm9Uyws7yyzxOfqIUQ2U4oqByl6OOd/DaOLs156i5sI6fnRlB63pkf97inKBI7rbOnlpafysPMSPH7WcshP6FEpjMNuBFEYocuyqew07iy1YMkuTbLlI+oFy6VGEQFE4URmoxAaEy/DUoNL7H3QgD6t+aAK3oLowp/dqNYvPFkfX2by9lYnkUG1iUegzISwI0Ek31qHmEBclZJAALMNaEL3EIaqc8d6V4+r1j5tziCvIkUKntThPVEPkwBNjNZvrsHKgUX7wu03vuWRbJhWvK6ofmomVKGEJhPc/ZXFBaf6WAaXpBqOC8LxCpT8ztIEvYDq5y3S59MHlZRWbVc8akXT4sUl9ICkq3fO6ZlI0ZQo/YG2iiMVzgOH+qW1lwG+bNkcfSaHNwo4VarypyFJGNjXMt16dMtB+PiXG8ZBgnmsNaMucS089pJqzvBbZu6tYfp6Qbu/k5yaOvroXsIK/xFHG7xtcVlluVbxYjAJksTRl/hKkuzGvi0nMZYj3Qi7cdaP2BKJrYVWTa/KT4G/sboOEut8V0NhStQR+lEMNPJHoW2Z3A6+aXq0jQV27q/VJrtRtnDd4i8Y6jEbi1idgbcWkUrEjdMaEfuw1ehPT6LNODAkX2odagufe/uHa7+6jbzd6UutMXQDSRWn6la7IRAiTfyHBcHCxxbFK7WNEOnGF5AIDbR+J4x0oaSEuxrIUPnYGdL/cdFnLeOEK8P+5sHqIfiJ4ZamNuqNxiqB7Xsla/9n785S2pSHSgRoSILEl6T5vLM+F+Lm1ag4ruQI6UqbBDuIk1eR6WeOoSQZrWRuGqv44Ri5wPdLUSN4y/Y69Tl17McZNSTEavzR4+YdnmmakzWcyTUeg9X0qCrdKzkEHoDLpLvKV4anpM4mLxl5sSDMo3ea18VDtc5c45d3DtnKMAn+5RtZNorCKlHnuQPbIEs3e5VhWtcMXvq9tsRM590PzavuTRX5oGLnBKQDXJNGx402FF6Nb/yCIy3Go3x53vGMEcLk32LNmR9HDFX651kIyc4lNso7991AzvoIbyjSODAqZbw85ggX0utl7dzp4jiHZI92jbdCOzHYssA7h49Ml9T4EzNyZ/wYCjvgg1TAfLqD6zJmdf1yel1jiKlWVhhKZ0i8yx9YGS+FDpCAFSopjjIGgW964B51wVuR4/+7/aFscaX29yqREfR4ZOnhRYexoRgIFDEdXunxFbBwVPfGw28kT2KfbBFw0sPuX//kWCEk572a/G9vEHjA6ZlcPBZx0pEGEyA8AHGJTggGfG/MVB3/q8a4vmq635G+lB1+WZOepRMLFk1OY6/G05gyVSK5A0kjdBbkYgoFba/0TAgfNJ3sBQM3gRugMMF5h2ftanRRJPga7n20mcpPgIqWsmwWqINjCM26pFTx1dW31w4/xi1lqFvBqxm3A3bdv4+p7W58A1rkXP4JWFtsxcPDMzF4SUwge56A9xm2uGAA1fYXSCzPepZNqK7oVOW4Pc1cwcKc83u/ZqMF8/pFpWqqS6zoeBsqrYYGCo0zA+hVHEptU1pPr5ywGYfepo3B5NtToEkrbjgZGCNu8Ni1XJarmV5DthLnUob5SVEchGc0JoAL5A6iY67mt16ECxLPXy2cpcXwOVAbCUq4JYCS7iuRz1mDRb1KL2CcdZ8XqK3jN0O5VRww8KdQtUR0N5tvTuHkL6WmtrgB+dKKW3YQO6XwVyW5iB1K0cwNunV0vNEhBGHAQCUcENFmZ/D4wQpUvgbYsTj3TRv0PJTuogWE+gBbFO2dDYr4TMShkK3DruvK6gH6pHJCmtOOiVdljsfIATfKlHCPJ5Izv7Db+ZIh4RKGxjI5gWtU2vq9u0P3WeE/kWF0Ygce4sx+/yka0ySeE29PT6lDalAYvXlFgGns2aygFmnaJIJx63vPf1uAEGnbBi3p88V+PiChhIJcNFtrSIH61NZiNv4mW0zOlCGovVPyLyfCxmH6ZWxQ54zA4up5yXx1rxzT8mVl0vZe+AGgWLF9Aro5RnrpIhYWdpq1Cy6Xuuy37KrvNPfmNRMvShH9D/1IrkH1vYYTAP9PFnr35CnX/guez9MJzD3bNroANEZQqxnHmRxtqMm1dcoOLsMQ2Wu+gQ4FVtsKyUXNDEf464btg3m1qNJwSDJGO11VuHPSE6OJzW+icK+FqU8Rg2qz9aYZok6ECsHMxsTLEGc9fshZhlfp1QcqxoNCj3X9AhDp66YXxHspnFbcc3Ycq/pTJ+28RZsWFv/dyd6kdvxcth0ED6lEgRpEGnnHYTr5RXRjhzPUUHrOevboC+z9ViQjL/5jR5d2R/iG2dmuRAI7hXk1ge7Eg5XGvyzKDvrEckM1/mw7GkOgo6xIdXD4GHHQrDtpGRxfZVULzP4EJVmHZP6gSI5KvSg48r9wf+oFUE+0WQKkN19HGgCaI4clfQ0rkmmk6rhzsWNBTejvmTVni7ujOoO2M2CByL7TfgjztjMOiOPjjKeKMnVaYxHV7/EXMTWVvInSmSePUyqIaHiuLZgyK/6IR80jMnN5eeNBuKvoWZ8Wp4QT7BHcZhRZ/SV5wWREjd1iVBFmu7/4UH3wmwzxDpLsgEvhZGxokJ1UPG9HLhb2O1M7EHQuf/nNvgdz+HX51+n8BPFoNfrIy8iOiinVKIemdP+61z8CBFiQbQAQU/VT/h8vHt3JzKUkNn9Gx4FycenoxY7anmff3rLhoUxAsesFEmAaI2je83Ht7XcZ4xxrCgOjJhnbLiam8D/X0tI/lKFZrYmiXQd4TPU16NjmDjxkl6+QMoOrNZ26G8ePE3jb7C13yhasAxZ0c0LhbF9uZ3nv3Y6gS8QqKc41P2DzqNPAa8wBsPfCGI03sltB9X/cSrKr0eyrCKbOxO5mX+RsWxXQGjndaQ8pMI42LB/6+0Hfv4RKUwjNqxZHEJu7aoUOcsObGnCEjBK5BF23o8/9T7BEMWkkbDj0M99/tj9AiGsP4+P/najW3OWUlfe8SfrxP9NbiuR19GMhW2Q521r4UUswFvMfVQh245mSgD3BMMQJHiAxAnqPSKeaBZua9Vl4NqsEKg5Rb0gpXcFiAJu8+vX3OK/zDjDUOSF4d54PwW2bh8jDevBMt2gc4xkYX0YbD4+pdpqjJuqMWNVTn6ank0muHsUnQGTMQAb7OLc4xNuxGOpf65HASmcEhG2CODc2VtCRE98URoJ8KEjTaxxgq//SYIgjajKqlqkeYb94UAZk9NcxsaMDjCyL1HOkIoWA5iHSZlKo+SqJfo28oycuZajfnJINQvR2buzECAiZzDrRA2I1qf4Hk6f21SW1hoFeSTj+/NTRw71MZh/OcCXw1ZgnKlJzGMfRwTUjQgmDH/9vjwR9T8XiQgbUnp+jSrF06RoMcJZMxQz4GSbhT0H/XIBQX6UMFqjmjwz4BE+/xALMvA78iY/Wvh3pbAhHU1KFMunYPjeFEN+8mYkbwNdf4AaVug+z5+RVNhLLs/sn9WrxKkIEo7XTNsjDNky2fcdW8kkOIw1IvCkhUuE2GNIzqPsKf1gA3JpIEOmhqq0h8lg4db/j2uJipI5cu/iJlJMtZvABSA6jAOsLwBy9aJoc14D12nzjlj1Ou3bApHtOEsftCzQIyIJdF0iSMqqRRH+3/8MlmtLrV/oMaHX9ZusIsIosf/065FYyy6zpTTep8mFEcJaERPKNcQ8u04oCb5/MHplJYV6y1fXnQWjdTDVhMBG3PZW+PlDjlGze6hSl9ZUEQGmEmGNdbrg9rotaqaoOs/Rvs9iWPqTjXpaN7zGprhqJ8rH4mQod/HPuGdkUfo4vvb0kEPvmZgvaT42Kf4P7GjpmFzPoTzBfsiJxtVATPgabtWWVIkg54t/q5sF1oMDZOvuMJ5LFA80jJ8QFu6E6Kk8xait2XVW80Z+CJOCyqdSbB3GtisuUKSuXzksqDRQ+UGMJolJi9+gLKg5cFt3bRpnTzhhjecio2MTfhko3fSAPmGjiJmdTK4b0YEAoc9xWTrdFSTFcEk3i0sDupESiK9rFC/Paqvz+x7QQ9/LYM9ACBzaLWxuQP8g1HLjhnxEpadueMxBzXgKo5r4+/msazaX4N35R65g9+9XDOziNrsa49GW3ZGiS61aB/xvA6unsKlZCxQigHUpjy3td+9xQ07pEogXBFWcFXI2xH+3a+wbME2HA0Rk0+gslDLKCi5xLp+Vy+noRExEi7MQdXpLdMRpr/5G9Su6to7tTj1qLXkepoFrWX5yCxmxJYnLDIfBrBvBHAoukohKWk+6fPGKy07Q/ysmnW/NsBoLgYsjTS4AHCNEB/yacMx2liV7qKHwen+D6cIV50ntVi62fApubyaUv9PHfiMrBvA8SmYK78EB2mORz+eAzEXJ1oRRKlznsL/YDUkQDAx8JYm4x648P9D8w3pc4BeBzBFjw1/suE1II7ljTXrrxDeb2dvo8svRlw+gJnR/GWOCqlNkCsOWKjQZcwwXKoLj0XzMpTANZsnrW8F+8zM5aGIP1vakwX6Coo/r9sLSUk8GtOlW7RtD7wY5Fhz2ctEYmz3GqjJivZcqUULWREfM0A+A/O5QH2BxI8ZFI6Jjhea0Vm/XlOJPygx2256kp6PmG22fkn3tjazxV9hx3SxOBvrqhpnZGlmBSfvH/eiGvlmK2CjCcLw6ip884heeNkHNMiPg5GXYT+dnLCqfhHpftaNkKIphoNN7vTo5UftGb/H0alBUxsCG5VYiHLDwqHzL3bGEHKlX+TRbPif0EhJ10hjQuk7ywgJ0/u40MzgVfG0SyXkkPI1L7GgiyqgIe1cgrml6cJlc7Z9cKOEeLhZgG1ofEVUSuYoZd/7nnAA620xsZOu7xx/ENlDfyj08o0lKfiLoRN4F2mdWlovdZhi+WChgz5HsEBXLhw5krBTrMku9e9VjunUAojmdgBJth48A+NKOHdGNRbvCUSuhE+SO82BMnMtUsE53x1S72lgem6TzDABcTbwb3aPnoo53tWCB+sir8hw+5Zurhw0fLekseHbTIA38VSGD/f5XQNe88XOiALbtcTHK22vyGGP5bRxif8iatg3mjfaeuiVXgrIh66z80f6B1YIcUbCGL+1VhAJN0X5k8ye9Ce2uDkaUninedv8IKLBqgc1JbiOS85Tas4XImOMOAI6EQY2mUFJha7L463UHlwxCaqQuCwhQlqfe0L9GE+VDjoMMcFqsi2+PuVwicY3o7w2QSicuAOkTIxQ9SnD1dF8O1rpYL8HhGIigXEcz5l9qaeLz0+hF/gM2V0qHpMCLwE4yWYUBas0yHEPFwKCx0oVuG04kOXVWKo8oEbMnIVxHqXtOJPsxQM/av41n/3ErObGhV5LH6ucTiF7yR6/oHyecK7JoyOFDJvabMF3YSWmz05dLbcp9biJrgX5xhHqQDW2gD/l8NhXlSvbj7kCKmoXWfvsjG4/IS/rEDtJKWzNWC9AFMxKy+MU1YFq/48rS8akt0rLUtVBVNAWI+tmzvQ1yUs9skuCh2xzSqSymPkKvtelEY00RnalgmyKkeBkLPerrU8PTKNGO4EsFrHogfIdvgtSNwCCoJONex6jVgCSXO+HwplDEron7G0BijAx2oSqjwysf3DuUV5ywDKCLboIqWs8RMVb4M2IgyZfd7n3LR1pv7EXuSEPzzCxTgATcfkyLIzDo5s4Y3BkeVtsRaLBehHlWjRvT4ICR2csgWqV3tjVkwCluzJGiVBJ0a7DJj79kCjOlVsU8PZ+4yNhBr8gMgMjf+8yvGkCmVXe7DNLXyYeHF9uQw5ZF2v11AtV+hJa4Grgsmsea/NZLNBmMDAgg8Lo7dbwG9U8FNQLoh3VlIo6JLLcdyRKl3YuDzQxGZWPGNCGvbId3X1kbfKCt2RA1jZerLiPKyMFf7XOUbk0WwYxm0LE0D4oAyp+CalLAS64WY7ZpkdKBjMuqtkDWIgjpL7ctLFDFhC/7mw3wnVZkg7x3AhaQv2W9S8efSQuG9s/545D23gUtMLjIpQj5s9k7CS9YpWKEpZPZ++NcHV2/ZBWJHSyg0M/5XngtkVXvw8CxXx0h6tODczw1fb5g0EafRuZXLfzXeoaLLpxdAkMhwTaiQ3f4+VMs+Jky1PYFY4pjcLz0adX6ITgVrCD4LRcSTW1LtkIebU+YxTFkiTh8cVpjBVwjnAb9KmOWkCZ3f5xnGzZAmhzs8YlDgp9PGyN58Aq613AITKMynO8271zvLlNRIEbEoHwWVzvrldoA7eukZtFndi0gVqjIRxim0fgSK1o4rMDeqwyv7hZvXvbX9uvkqYqCMgXGTGoI8C2zbkaz/l6Yjt9g85t2w7NUrgl/JM5jvaJT6JSymms73kUbDi9m1DG/ZRuqC/mU7A/CPqsIsqxgnlRxgH7IMlqqfMhElb4kfFKRT+JILxLuOPCRfCNmL/ZyuUDCOtdi8xeTipCTI+LCCOnNda4u1R7teA3K5mfg+VLE+/Ll9wDxtK7PHq6XuTx5YYDBVRXoTQW4vGORWb5s8j3c/mP7ZyYkVnrL3Y3loqONGnmDox2Xb66cCLSmOgLCQczooGbc0As5Jaqx228wjiGdk8Xl0sFLDBTlnDhu14DNjJSmMXx3twVWrP3WV6W3a6D2vvtgF33K4FUXo+O0enDFz4DUBMzdY92rC3qcGfFkhB3M6LiMj1+/1YUcYrq5vuo/L01uiL8P/DifFqlg+v73NpjMaKuKxCUuF08psgf5n6yEuJzbDtfOzZ5+c+ziDm94I0VSiVwEvj6Wh+rByTWOsTWXhua1bN5MATUaPvrQyLST+2zSUNjsFBGhbhYz748InBvZwQdVUQkfWXFE6jLGtbiVdkUnD00iiauNM0DcrnHirEHJCKAYq8z3dnb1TzjhFrIUyWHECxYvXvHkSMaowHwQZfOEP2IslMtjxrLf9PbpkE6LoSgE/f+XCn/Hu8Y0ETNwSU4npQ1bX7ZWoKeNp/PwAbtTQ0XCIBrt3yQuWKvdKXoF9zaQW8RU/xAxwN/g47Xlec7l+XjnUV0oydZelNeKM95fXH90wh7eNSpBwAju0WZq55eErvZIdPMe7D5Nn5z/lQpgRDmiYDnSiWcSyOvu32UJtVRLrFiwnAFYULVlA4iXmiqG0weBw9sEGhGj8aEKYGCBd3x2jileIJp+/j2FVErj2VeP/hkokwZ+C2X9KHjETMI8vgoBGvKSWQ6/W9DT65flA4aOKMKyEhJYMSKt5lvVuAfQVcKKH5w5ESq9xVwz8DrYRpF+6iGRQ/GfmTl+rBOJ1gVKM0QI9BqN2AE1Z6DdYjFBXRyRWV3G034rhY/3EsbZesVT7GDNsICfVXjKh4+W3fhnh89WkR4s3NPD/hCXVCf0NOPRO0v2CVu6/d9h0RMtj5UMPe7QZh75rOqyOMvFGjb+F5vK3oudJKCZCpzQ75M9MfqVF6rdr+oqC2E8BOwagtH5cGfHDr/gXkALLvt/EGH85b6kR37Xkwn6ROc8DmqNryHipCpU0r8GNLs/RGCN+BN8O/94BchL3yKrctVDY7T+v4FmGKKRgB"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"bbfe5c0c-442e-4172-a5a7-98220fa3cd2f","uuid":"11e84f44-ba7c-4a4c-8c23-d1b08ac2029c"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01R92ehH6Efi3CEnXjJ7MQXR","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game in TypeScript that runs in the browser. I'll create a well-structured implementation with all the standard mechanics.\n\nHere's what I need to build:\n1. HTML file for the game container\n2. TypeScript file with all the game logic\n3. CSS for styling\n\nKey features to implement:\n- All 7 Tetris pieces (I, O, T, S, Z, J, L)\n- Piece rotation (SRS - Super Rotation System)\n- Line clearing\n- Scoring system (with multiplier for multiple lines)\n- Increasing speed\n\n\n- Keyboard controls (Arrow keys + WASD)\n- Ghost piece (shows where piece will land)\n- Next piece preview\n- Game over detection\n- Hold piece functionality (bonus)\n\nI'm thinking about the best approach for the build setup. A single HTML file with embedded JavaScript would be simplest for a standalone game, so I'll go with that rather than setting up a full TypeScript compilation pipeline.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":0,"cache_read_input_tokens":4728,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"bbfe5c0c-442e-4172-a5a7-98220fa3cd2f","uuid":"da3a6752-3242-4c67-8503-d2ff1717b929"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01R92ehH6Efi3CEnXjJ7MQXR","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_018mBJJs5GW7SHP5iJFkpisS","name":"Bash","input":{"command":"ls /tmp/loop-bench-s5qf4111","description":"List current directory contents"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":0,"cache_read_input_tokens":4728,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"bbfe5c0c-442e-4172-a5a7-98220fa3cd2f","uuid":"3cd6163d-0e38-4bf2-bc3b-fce3d63cc8f0"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_018mBJJs5GW7SHP5iJFkpisS","type":"tool_result","content":"node_modules\npackage.json\npackage-lock.json","is_error":false}]},"parent_tool_use_id":null,"session_id":"bbfe5c0c-442e-4172-a5a7-98220fa3cd2f","uuid":"1db02aa3-c027-46d6-96bf-1f0c55d287a3","timestamp":"2026-04-03T21:23:31.307Z","tool_use_result":{"stdout":"node_modules\npackage.json\npackage-lock.json","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_015tnuoarRkbjhg7MC4M4W8Q","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01Azuy5VRRwMeSuDr9xsA7QE","name":"Read","input":{"file_path":"/tmp/loop-bench-s5qf4111/package.json"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":543,"cache_read_input_tokens":4728,"cache_creation":{"ephemeral_5m_input_tokens":543,"ephemeral_1h_input_tokens":0},"output_tokens":55,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"bbfe5c0c-442e-4172-a5a7-98220fa3cd2f","uuid":"0c5434d5-2c7e-4336-ad6b-8bea4f9bf82e"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01Azuy5VRRwMeSuDr9xsA7QE","type":"tool_result","content":"1\t{\n2\t \"name\": \"loop-bench-s5qf4111\",\n3\t \"version\": \"1.0.0\",\n4\t \"description\": \"\",\n5\t \"main\": \"index.js\",\n6\t \"scripts\": {\n7\t \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n8\t },\n9\t \"keywords\": [],\n10\t \"author\": \"\",\n11\t \"license\": \"ISC\",\n12\t \"type\": \"commonjs\",\n13\t \"devDependencies\": {\n14\t \"@playwright/test\": \"^1.59.1\",\n15\t \"@types/node\": \"^25.5.2\",\n16\t \"typescript\": \"^6.0.2\"\n17\t }\n18\t}\n19\t\n\n<system-reminder>\nWhenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.\n</system-reminder>\n"}]},"parent_tool_use_id":null,"session_id":"bbfe5c0c-442e-4172-a5a7-98220fa3cd2f","uuid":"e626042a-1524-497c-9bda-7fc4480cc386","timestamp":"2026-04-03T21:23:32.748Z","tool_use_result":{"type":"text","file":{"filePath":"/tmp/loop-bench-s5qf4111/package.json","content":"{\n \"name\": \"loop-bench-s5qf4111\",\n \"version\": \"1.0.0\",\n \"description\": \"\",\n \"main\": \"index.js\",\n \"scripts\": {\n \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n },\n \"keywords\": [],\n \"author\": \"\",\n \"license\": \"ISC\",\n \"type\": \"commonjs\",\n \"devDependencies\": {\n \"@playwright/test\": \"^1.59.1\",\n \"@types/node\": \"^25.5.2\",\n \"typescript\": \"^6.0.2\"\n }\n}\n","numLines":19,"startLine":1,"totalLines":19}}} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01X7TVsdpL7ea6WEBRx6BR2x","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Good. I have TypeScript available. Let me set up a complete Tetris game. I'll use a simple approach with TypeScript compiled to JavaScript. Let me create the following files:\n\n1. `index.html` - The game's HTML\n2. `src/tetris.ts` - The game logic in TypeScript\n3. `tsconfig.json` - TypeScript configuration\n\nSince I need to compile TypeScript to JavaScript, I'll set up the tsconfig to output to a `dist` folder. I'll also update the package.json to add a build script.\n\nLet me design a full-featured Tetris game:\n\n\n- Standard 10×20 board with the seven classic tetrominoes (I, O, T, S, Z, J, L) in their traditional colors\n- Keyboard controls for movement, rotation, dropping, and piece holding\n- Scoring system with line clears multiplied by level, plus bonuses for soft and hard drops\n- Level increases every 10 lines cleared with corresponding speed increases\n\nNow I'm setting up the TypeScript implementation with game constants and tetromino shape definitions...\n\nImplementing core game mechanics... Setting up the SRS kick tables...\n\nI need to be careful about the coordinate system—in Tetris, x goes right and y goes down on screen, but SRS data is often defined with y pointing upward. Let me translate the standard kick offsets into screen coordinates where y increases downward, then implement the rotation logic for each piece type.\n\nDefining kick data... Defining the wall kick offsets for the I-piece... Continuing to work through the rotation offset tables for the other piece types in screen coordinates, mapping out all the transition states. Now I'm finishing up those wall kick offset tables and ready to build out the complete game implementation. I'll set up the project structure with HTML, TypeScript, and configuration files, then write the core game logic including board management, piece mechanics, collision detection, and the rendering system.\n\nWriting game code... Defining the rotation states for the remaining Tetris pieces... Defining the tetromino rotations... I'm finalizing the tetromino rotation states and then moving on to build out the complete game implementation with all the features—dark theme, ghost piece, next piece preview, hold functionality, wall kicks, score tracking with localStorage, pause and game over screens.\n\nWriting the game class... Now I'm working out the scoring system—single lines are worth 100 points per level, doubles 300, triples 500, and a full Tetris gets 800, with soft and hard drops adding bonus points per cell. For progression, I'll calculate the level based on lines cleared using a simple formula, and the drop speed will accelerate using the standard Tetris guideline curve to make the game progressively harder.\n\nI'm going with a simpler linear drop speed formula for clarity rather than the exponential one. I also need to implement the 7-bag randomizer system to ensure balanced piece distribution—each bag contains one of each piece type shuffled randomly so players never go too long without getting a specific piece.\n\nImplementing the game logic now...\n\nI should also add lock delay mechanics so pieces don't instantly lock when they hit the bottom, giving players about 500ms to adjust their placement. I'll cap the number of moves before lock at 15 to prevent infinite spinning. For the visual design, I'm going with a dark theme, gradient-shaded pieces, grid lines, and a side panel showing the score, next piece preview, and hold piece. The board will be 300px wide and 600px tall with a 160px side panel.\n\nWriting the complete TypeScript implementation... Defining the piece shapes... Defining the rotation states for the remaining Tetris pieces... Defining the rotation states for the J and L pieces... Defining wall kick data for different piece rotations... Finishing the wall kick data structure... Now I need to verify this against the official Tetris Guideline specifications, since the coordinate system matters—right is positive for columns, up is positive for rows.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":361,"cache_read_input_tokens":5271,"cache_creation":{"ephemeral_5m_input_tokens":361,"ephemeral_1h_input_tokens":0},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"bbfe5c0c-442e-4172-a5a7-98220fa3cd2f","uuid":"31037a67-0485-4bea-af6b-397b54509dde"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01Sr96c3iasPYW7ZzozRcYUj","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser, built with TypeScript. Let me create a complete Tetris implementation with all standard mechanics.\n\nI'll create:\n1. `index.html` - The main HTML file\n2. `tetris.ts` - The TypeScript source file\n3. `tetris.js` - Compiled JavaScript (or I can use a bundler approach)\n\nSince this needs to run in a browser without a build step, I'll write the TypeScript and also provide the compiled JavaScript. Actually, let me think about this differently - I'll write the TypeScript and compile it.\n\n\nNow I'm planning out the core game structure: the standard seven Tetris pieces with their rotation states, a 10×20 game board, and the essential mechanics like movement, rotation, and hard drop functionality.\n\nSetting up the scoring system with increasing rewards for clearing multiple lines at once, plus level progression that speeds up gameplay. I'll also add quality-of-life features like a ghost piece preview, next piece indicator, and hold functionality.\n\nDefining the control scheme with arrow keys for movement and rotation, space for hard drop, and C for the hold mechanic.\n\nWriting the TypeScript code... Defining the tetromino shapes... Defining tetromino shapes... Defining the rotation logic... Writing the complete implementation... Writing the Tetris implementation... Defining the tetromino shapes...\n\nNow I'm setting up the wall kick offsets for the SRS rotation system, which determines how pieces can shift position when they rotate near walls or other obstacles. Defining the wall kick lookup function... Writing the game class... Setting up the canvas contexts for the game board, next piece preview, and hold piece display, then initializing all the game state variables like the board grid, score tracking, and game flags.\n\nNow I'm configuring the canvas dimensions based on the block size constants, spawning the initial piece, and setting up input handlers before resetting the game state to prepare for play. Writing game initialization logic... Now I'm implementing the ghost piece preview by dropping it down until it hits an obstacle, then locking the current piece onto the board by placing its blocks and checking if the piece spawned above the visible area to trigger a game over. The clearing logic appears to be starting but got cut off.\n\nContinuing with the line clearing and scoring logic...\n\nNow I'm handling the score calculation when lines are cleared—incrementing the combo multiplier, applying the base score from a lookup table scaled by level, and adding bonus points for consecutive clears. I'm also tracking total lines cleared to determine when the player levels up, which increases the drop speed. If no lines are cleared, the combo resets. Then there's the game over trigger that stops the animation loop and displays the end screen.\n\nImplementing the movement controls... Implementing wall kick logic... Setting up the hold piece functionality and then moving on to pause controls and input handling with key repeat logic... Setting up keyboard handlers for rotation, hard drop, hold piece, and pause functionality...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":486,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":486,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"03da892a-b2e7-467c-9295-35f274bffbd3","uuid":"72f8be08-6ffc-4edf-bb97-d3f4f3ae67ad"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "off", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2", - "run_number": 2, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:21:58.809464+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:32:02.085722+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=off_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-b2ydasef","session_id":"03da892a-b2e7-467c-9295-35f274bffbd3","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"13be28e0-f05b-49fc-8924-40b22db68340","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01Sr96c3iasPYW7ZzozRcYUj","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser, built with TypeScript. Let me create a complete Tetris implementation with all standard mechanics.\n\nI'll create:\n1. `index.html` - The main HTML file\n2. `tetris.ts` - The TypeScript source file\n3. `tetris.js` - Compiled JavaScript (or I can use a bundler approach)\n\nSince this needs to run in a browser without a build step, I'll write the TypeScript and also provide the compiled JavaScript. Actually, let me think about this differently - I'll write the TypeScript and compile it.\n\n\nNow I'm planning out the core game structure: the standard seven Tetris pieces with their rotation states, a 10×20 game board, and the essential mechanics like movement, rotation, and hard drop functionality.\n\nSetting up the scoring system with increasing rewards for clearing multiple lines at once, plus level progression that speeds up gameplay. I'll also add quality-of-life features like a ghost piece preview, next piece indicator, and hold functionality.\n\nDefining the control scheme with arrow keys for movement and rotation, space for hard drop, and C for the hold mechanic.\n\nWriting the TypeScript code... Defining the tetromino shapes... Defining tetromino shapes... Defining the rotation logic... Writing the complete implementation... Writing the Tetris implementation... Defining the tetromino shapes...\n\nNow I'm setting up the wall kick offsets for the SRS rotation system, which determines how pieces can shift position when they rotate near walls or other obstacles. Defining the wall kick lookup function... Writing the game class... Setting up the canvas contexts for the game board, next piece preview, and hold piece display, then initializing all the game state variables like the board grid, score tracking, and game flags.\n\nNow I'm configuring the canvas dimensions based on the block size constants, spawning the initial piece, and setting up input handlers before resetting the game state to prepare for play. Writing game initialization logic... Now I'm implementing the ghost piece preview by dropping it down until it hits an obstacle, then locking the current piece onto the board by placing its blocks and checking if the piece spawned above the visible area to trigger a game over. The clearing logic appears to be starting but got cut off.\n\nContinuing with the line clearing and scoring logic...\n\nNow I'm handling the score calculation when lines are cleared—incrementing the combo multiplier, applying the base score from a lookup table scaled by level, and adding bonus points for consecutive clears. I'm also tracking total lines cleared to determine when the player levels up, which increases the drop speed. If no lines are cleared, the combo resets. Then there's the game over trigger that stops the animation loop and displays the end screen.\n\nImplementing the movement controls... Implementing wall kick logic... Setting up the hold piece functionality and then moving on to pause controls and input handling with key repeat logic... Setting up keyboard handlers for rotation, hard drop, hold piece, and pause functionality...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":486,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":486,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"03da892a-b2e7-467c-9295-35f274bffbd3","uuid":"72f8be08-6ffc-4edf-bb97-d3f4f3ae67ad"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_014Hftqe1osSTHUNFmsFuF92","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser using TypeScript. Let me build a complete Tetris game with all the standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The TypeScript game logic\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript configuration\n\nThe game needs:\n- Standard Tetris pieces (tetrominoes): I, O, T, S, Z, J, L\n- Piece rotation\n- Line clearing\n- Scoring (standard scoring: 1 line = 100pts, 2 lines = 300pts, 3 lines = 500pts, 4 lines = 800pts)\n\n\n- Increasing speed with a level system\n- Keyboard controls: Arrow keys for movement, Up arrow or Z for rotation\n- Next piece preview\n- Game over detection\n\nI'll create a proper project structure with TypeScript that compiles to JavaScript and runs directly in the browser without needing a build server.\n\nI'm deciding between a self-contained HTML file with inline compilation, a full Node.js project requiring npm setup, or providing both the TypeScript source and pre-compiled JavaScript. The best approach is a proper project structure with a build script and pre-compiled output so the user can just open the HTML file and play immediately.\n\nNow I'm planning the game architecture...\n\nDefining the core types for pieces, the board grid, and game state, then laying out the seven tetromino shapes and how they'll rotate using matrix transformations. I'm also implementing the Nintendo scoring system where clearing lines awards points based on how many lines are cleared at once.\n\nNow I'm setting up the game mechanics with keyboard controls for movement, rotation, and dropping pieces, then starting to write the TypeScript implementation with constants for the board dimensions and color palette for each piece type.\n\nWriting game logic... Setting up the scoring system and defining the core Tetris class with canvas rendering, game state management, and piece tracking. Writing the game logic... Finishing the lock method to place the piece on the board, then checking for completed lines to clear them and spawning the next piece, with a game over check if the new piece can't be placed. Writing the rendering logic... Finishing the block drawing method with highlight and shadow effects, then moving into the ghost piece rendering logic...\n\nNow I'm implementing the ghost piece visualization—it calculates where the current piece would land if dropped straight down, then draws an outlined preview of that position using the piece's color.\n\nThen I'm adding a grid overlay to the canvas with faint horizontal and vertical lines spaced at regular intervals to help visualize the play area.\n\nNow I'm implementing the next piece preview display, which clears the preview canvas with a dark background and then centers the upcoming tetromino piece within it, calculating the proper offsets to position it nicely.\n\nSetting up keyboard input handling... Still writing game logic... Writing game initialization... Finishing up the game loop and setting up the initialization. Now I'm wiring up the DOM elements to trigger game actions when the user clicks the restart or new game buttons, then building out the HTML structure with styling for the Tetris board and UI elements. Still writing styles... Still writing styles... Building the game UI... I need to handle the pause button by exposing the game instance globally so the event listener can call its togglePause method. I'm also reconsidering the project structure—I should set up TypeScript with a source file, config, and package.json, but also compile it to JavaScript so users can run it immediately by opening the HTML file without needing a build step. I need to clean up the validation logic for piece placement—when a new piece spawns, I should check if it's valid at its starting position before marking the game as over. For the pause overlay, I'll expose the game instance globally so the resume button can call the toggle method. I'm also reconsidering whether to implement lock delay for better playability, though I'll keep it simple for now and lock pieces immediately. resetting its position. Since `nextPiece` is created fresh with `y: 0`, that should work fine.\n\nI'm going to keep the rotation controls simple—just the Up arrow for clockwise rotation. For the drop speed, I need to think through the progression more carefully. The classic Tetris formula starts around 800ms at level 1 and decreases from there, so I should adjust my speed curve to match that feel rather than starting at a full second.\n\nCalculating drop interval with exponential decay...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":486,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":486,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"5b56318d-b248-4883-b418-03569cbb10b0","uuid":"8f934408-6e60-4a78-b30d-87e2e5856e1d"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "off", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1", - "run_number": 1, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:26:54.951970+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:36:57.965293+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-tocz7fbo","session_id":"5b56318d-b248-4883-b418-03569cbb10b0","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"b7d289f2-ab53-46f1-b6c3-e5e1c26a3a9d","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_014Hftqe1osSTHUNFmsFuF92","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser using TypeScript. Let me build a complete Tetris game with all the standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The TypeScript game logic\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript configuration\n\nThe game needs:\n- Standard Tetris pieces (tetrominoes): I, O, T, S, Z, J, L\n- Piece rotation\n- Line clearing\n- Scoring (standard scoring: 1 line = 100pts, 2 lines = 300pts, 3 lines = 500pts, 4 lines = 800pts)\n\n\n- Increasing speed with a level system\n- Keyboard controls: Arrow keys for movement, Up arrow or Z for rotation\n- Next piece preview\n- Game over detection\n\nI'll create a proper project structure with TypeScript that compiles to JavaScript and runs directly in the browser without needing a build server.\n\nI'm deciding between a self-contained HTML file with inline compilation, a full Node.js project requiring npm setup, or providing both the TypeScript source and pre-compiled JavaScript. The best approach is a proper project structure with a build script and pre-compiled output so the user can just open the HTML file and play immediately.\n\nNow I'm planning the game architecture...\n\nDefining the core types for pieces, the board grid, and game state, then laying out the seven tetromino shapes and how they'll rotate using matrix transformations. I'm also implementing the Nintendo scoring system where clearing lines awards points based on how many lines are cleared at once.\n\nNow I'm setting up the game mechanics with keyboard controls for movement, rotation, and dropping pieces, then starting to write the TypeScript implementation with constants for the board dimensions and color palette for each piece type.\n\nWriting game logic... Setting up the scoring system and defining the core Tetris class with canvas rendering, game state management, and piece tracking. Writing the game logic... Finishing the lock method to place the piece on the board, then checking for completed lines to clear them and spawning the next piece, with a game over check if the new piece can't be placed. Writing the rendering logic... Finishing the block drawing method with highlight and shadow effects, then moving into the ghost piece rendering logic...\n\nNow I'm implementing the ghost piece visualization—it calculates where the current piece would land if dropped straight down, then draws an outlined preview of that position using the piece's color.\n\nThen I'm adding a grid overlay to the canvas with faint horizontal and vertical lines spaced at regular intervals to help visualize the play area.\n\nNow I'm implementing the next piece preview display, which clears the preview canvas with a dark background and then centers the upcoming tetromino piece within it, calculating the proper offsets to position it nicely.\n\nSetting up keyboard input handling... Still writing game logic... Writing game initialization... Finishing up the game loop and setting up the initialization. Now I'm wiring up the DOM elements to trigger game actions when the user clicks the restart or new game buttons, then building out the HTML structure with styling for the Tetris board and UI elements. Still writing styles... Still writing styles... Building the game UI... I need to handle the pause button by exposing the game instance globally so the event listener can call its togglePause method. I'm also reconsidering the project structure—I should set up TypeScript with a source file, config, and package.json, but also compile it to JavaScript so users can run it immediately by opening the HTML file without needing a build step. I need to clean up the validation logic for piece placement—when a new piece spawns, I should check if it's valid at its starting position before marking the game as over. For the pause overlay, I'll expose the game instance globally so the resume button can call the toggle method. I'm also reconsidering whether to implement lock delay for better playability, though I'll keep it simple for now and lock pieces immediately. resetting its position. Since `nextPiece` is created fresh with `y: 0`, that should work fine.\n\nI'm going to keep the rotation controls simple—just the Up arrow for clockwise rotation. For the drop speed, I need to think through the progression more carefully. The classic Tetris formula starts around 800ms at level 1 and decreases from there, so I should adjust my speed curve to match that feel rather than starting at a full second.\n\nCalculating drop interval with exponential decay...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":486,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":486,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"5b56318d-b248-4883-b418-03569cbb10b0","uuid":"8f934408-6e60-4a78-b30d-87e2e5856e1d"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01F8tLU1c3ZBUmsfrBBJZhdz","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game in TypeScript that runs in the browser. I'll create a well-structured implementation with all the standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The TypeScript source file\n3. `dist/tetris.js` - Compiled JavaScript (or I can use a bundler)\n\nActually, since the user wants it to run in a browser, I'll create:\n1. `index.html` - The main HTML file with canvas\n\n\n2. `src/tetris.ts` - TypeScript source\n3. `tsconfig.json` - TypeScript config\n4. `package.json` - For building\n\nThe game will include all 7 Tetromino pieces with rotation and wall kicks, line clearing with animation, and scoring based on how many lines are cleared at once.\n\nWriting the TypeScript code... Defining the tetromino rotations... Defining the rotation states for the remaining Tetris pieces...\n\nNow I'm thinking through the full feature set I want to implement—a proper Tetris game with all seven tetrominoes, rotation mechanics using the Super Rotation System, hold and next piece functionality, line clearing with animations, and a scoring system that increases difficulty as you progress. I'll organize this as a TypeScript project with separate configuration files for a clean structure.\n\nBuilding out the HTML and CSS for the game interface... Writing the Tetris game logic... I'm laying out the complete SRS wall kick offsets for the standard Tetris pieces, checking each rotation state transition and the specific test positions that should be attempted in order. Defining rotation offsets for the I piece... I'm getting tangled up in the wall kick offsets, so let me just reference a proper implementation instead of trying to derive them myself. I'll go with a simpler approach for now—basic rotation with collision detection, and if there's a collision, I'll try shifting the piece left or right by one or two spaces. Actually, I should implement the proper Super Rotation System since that's the standard. Let me pull the actual wall kick data from the Tetris wiki...\n\nDefining wall kick offsets... I need to account for the coordinate system difference—since y increases downward in the game rather than upward, I'm negating all the y components from the standard Tetris rotation data. Let me carefully work through the transformations again to make sure I'm getting the signs right.\n\nNow I'm going to stop overthinking this and just implement the wall kick system properly using the standard SRS approach with my coordinate system baked in. I'll define the wall kick offsets directly for JLSTZ pieces...\n\nDefining wall kick offsets... I need to step back and reference the actual Tetris Guideline specification for the wall kick data instead of guessing. Looking at the standard implementation, I can see the proper kick offsets for JLSTZ pieces across different rotation states.\n\nNow I'm converting these coordinates from standard math notation where y increases upward to my coordinate system where y increases downward, which means I need to negate all the y-values. I'm mapping out the rotation transitions for the Tetris piece—each direction maps to specific clockwise and counter-clockwise rotations, and I'm verifying that the wall kick offsets align correctly with these rotation states. Now I'm converting these kick offsets to my coordinate system where y points downward, flipping the vertical components accordingly. Setting up the core Tetris game structure with constants for the board dimensions, piece types, color mappings, rotation shapes, wall kick offsets for SRS compliance, and scoring multipliers for completed lines.\n\nDefining the main game class with properties for the canvas, game board state, current and upcoming pieces, hold functionality, score tracking, and game state management, along with methods for initialization, game loop handling, piece movement and rotation, and collision detection.\n\nNow I'm implementing the complete class structure with all the core game mechanics like piece spawning, movement, rotation, hard drops, hold functionality, line clearing, and scoring logic, plus all the rendering methods for drawing the board, pieces, ghost piece, hold display, next queue, and UI elements.\n\nI need to account for lock delay mechanics where a piece waits 0.5 seconds before locking once it can't move down anymore, allowing the player to continue repositioning it during that window.\n\nI'm also implementing a 7-bag randomizer to ensure all seven piece types are distributed evenly rather than appearing randomly, which gives the game better pacing.\n\nWriting the complete TypeScript implementation... Defining the piece rotations... Defining the rotation states for the remaining Tetris pieces...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"dd16e5fb-c7b4-487f-8724-9be08aae496f","uuid":"62e75c3b-82e5-4d69-b1b7-8d1d087f9b29"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "off", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2", - "run_number": 2, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:28:35.101162+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:38:36.614615+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-hdjudlgn","session_id":"dd16e5fb-c7b4-487f-8724-9be08aae496f","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"bdd953c2-961d-4167-b05f-8a8fce39ce2d","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01F8tLU1c3ZBUmsfrBBJZhdz","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game in TypeScript that runs in the browser. I'll create a well-structured implementation with all the standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The TypeScript source file\n3. `dist/tetris.js` - Compiled JavaScript (or I can use a bundler)\n\nActually, since the user wants it to run in a browser, I'll create:\n1. `index.html` - The main HTML file with canvas\n\n\n2. `src/tetris.ts` - TypeScript source\n3. `tsconfig.json` - TypeScript config\n4. `package.json` - For building\n\nThe game will include all 7 Tetromino pieces with rotation and wall kicks, line clearing with animation, and scoring based on how many lines are cleared at once.\n\nWriting the TypeScript code... Defining the tetromino rotations... Defining the rotation states for the remaining Tetris pieces...\n\nNow I'm thinking through the full feature set I want to implement—a proper Tetris game with all seven tetrominoes, rotation mechanics using the Super Rotation System, hold and next piece functionality, line clearing with animations, and a scoring system that increases difficulty as you progress. I'll organize this as a TypeScript project with separate configuration files for a clean structure.\n\nBuilding out the HTML and CSS for the game interface... Writing the Tetris game logic... I'm laying out the complete SRS wall kick offsets for the standard Tetris pieces, checking each rotation state transition and the specific test positions that should be attempted in order. Defining rotation offsets for the I piece... I'm getting tangled up in the wall kick offsets, so let me just reference a proper implementation instead of trying to derive them myself. I'll go with a simpler approach for now—basic rotation with collision detection, and if there's a collision, I'll try shifting the piece left or right by one or two spaces. Actually, I should implement the proper Super Rotation System since that's the standard. Let me pull the actual wall kick data from the Tetris wiki...\n\nDefining wall kick offsets... I need to account for the coordinate system difference—since y increases downward in the game rather than upward, I'm negating all the y components from the standard Tetris rotation data. Let me carefully work through the transformations again to make sure I'm getting the signs right.\n\nNow I'm going to stop overthinking this and just implement the wall kick system properly using the standard SRS approach with my coordinate system baked in. I'll define the wall kick offsets directly for JLSTZ pieces...\n\nDefining wall kick offsets... I need to step back and reference the actual Tetris Guideline specification for the wall kick data instead of guessing. Looking at the standard implementation, I can see the proper kick offsets for JLSTZ pieces across different rotation states.\n\nNow I'm converting these coordinates from standard math notation where y increases upward to my coordinate system where y increases downward, which means I need to negate all the y-values. I'm mapping out the rotation transitions for the Tetris piece—each direction maps to specific clockwise and counter-clockwise rotations, and I'm verifying that the wall kick offsets align correctly with these rotation states. Now I'm converting these kick offsets to my coordinate system where y points downward, flipping the vertical components accordingly. Setting up the core Tetris game structure with constants for the board dimensions, piece types, color mappings, rotation shapes, wall kick offsets for SRS compliance, and scoring multipliers for completed lines.\n\nDefining the main game class with properties for the canvas, game board state, current and upcoming pieces, hold functionality, score tracking, and game state management, along with methods for initialization, game loop handling, piece movement and rotation, and collision detection.\n\nNow I'm implementing the complete class structure with all the core game mechanics like piece spawning, movement, rotation, hard drops, hold functionality, line clearing, and scoring logic, plus all the rendering methods for drawing the board, pieces, ghost piece, hold display, next queue, and UI elements.\n\nI need to account for lock delay mechanics where a piece waits 0.5 seconds before locking once it can't move down anymore, allowing the player to continue repositioning it during that window.\n\nI'm also implementing a 7-bag randomizer to ensure all seven piece types are distributed evenly rather than appearing randomly, which gives the game better pacing.\n\nWriting the complete TypeScript implementation... Defining the piece rotations... Defining the rotation states for the remaining Tetris pieces...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"dd16e5fb-c7b4-487f-8724-9be08aae496f","uuid":"62e75c3b-82e5-4d69-b1b7-8d1d087f9b29"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01Qdf29E38pbVEb19qDzTw5G","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris game with:\n\n1. Standard Tetris pieces (tetrominoes): I, O, T, S, Z, J, L\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls (arrow keys for movement, up arrow or Z for rotation)\n\nI'll create:\n- `index.html` - the main HTML file\n\n\n- `src/tetris.ts` - the TypeScript source\n- `tsconfig.json` - TypeScript configuration\n- `package.json` - project dependencies\n\nI'm going with a proper TypeScript setup that compiles to JavaScript rather than trying to run TypeScript directly in the browser, so I'll need a build step to transpile the code.\n\nNow I'm planning out the core game mechanics: a standard 10x20 grid with all seven tetromino pieces, each with rotation states and their standard colors. I'll implement gravity for automatic falling, arrow key controls for movement and rotation, soft and hard drop functionality, line clearing with scoring, progressive difficulty, and a next piece preview. I might add a hold piece feature too since it's a nice quality-of-life addition.\n\nWriting the TypeScript game engine... Writing the complete Tetris game... Defining the wall kick offsets for the SRS rotation system... I'm defining the wall kick data for the I-piece in SRS rotation, then deciding to implement proper SRS wall kicks for a better game experience. Now I'm setting up a complete TypeScript file with the core game constants and piece definitions.\n\nI'm working through the matrix rotation logic—specifically how to rotate a piece 90 degrees clockwise using the transformation where the new position maps from the old matrix, then generating all four rotation states from an initial shape. Let me reconsider the rotation formula to make sure I get it right.\n\nStill writing rotation logic...\n\nNow I'm ready to build out the complete game. I'll organize it into separate files: an HTML entry point, the main TypeScript game logic, and the necessary configuration files, then compile everything together.\n\nWriting the Tetris game code... Defining the tetromino shapes... I'm verifying the standard Tetris piece orientations in their spawn states—the I piece as a horizontal line, the O piece as a 2x2 square, and the T, S, Z, J, and L pieces in their canonical starting rotations.\n\nNow I'm setting up the complete TypeScript implementation with type definitions for the board, pieces, and game state, then I'll write out the full game logic including the SRS wall kick system.\n\nWriting the game implementation... Verifying the rotation formula with the I piece to make sure the transformation works correctly.\n\nI'm going to define all four rotations for each piece upfront rather than computing them dynamically—it's simpler and avoids any edge cases with the rotation math. Actually, I'll just compute them programmatically and trust the formula; the game will work fine either way.\n\nWriting rotation function... I'm verifying the rotation logic by tracing through each transformation of the I piece—starting horizontal, then rotating to vertical, back to horizontal, and finally vertical again before returning to the original orientation.\n\nNow I'm working through the T piece definition, deciding on its initial shape and how it should be positioned in the grid for proper rotation handling. CW rotation formula is new[i][j] = old[3-j][i], and I'm working through the specific mappings for the T piece to verify the transformation is correct. After rotating, the T piece shows the expected clockwise orientation with the stem pointing right.\n\nNow I'm thinking through the piece definitions for the actual game—I need to decide on matrix sizes for each tetromino. The I piece needs 4x4, and while O doesn't rotate meaningfully, I should probably standardize on 4x4 for all pieces to keep things simple, though that might cause some awkward spawning for smaller pieces.\n\nDefining all rotations as pre-computed arrays... Defining the rotation states for the remaining Tetris pieces... Defining the L piece rotations... Defining rotation states for the remaining pieces...\n\nNow I'm thinking about how to represent the O piece—it should be 2x2 in the standard rotation system, but I'll use a 4x4 grid with proper offsets to keep the spawn logic consistent. I'll stick with 4x4 grids for both I and O pieces, and 3x3 for everything else to simplify positioning.\n\nActually, let me just standardize everything to 4x4 matrices and handle collision detection based on the actual filled cells rather than worrying about different dimensions. I'll define all the pieces with their rotations in 4x4 format, starting with I, O, T, and S...\n\nDefining piece matrices...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"b10a4c9a-b8ec-4002-933a-7f9fdd46ba93","uuid":"3e631bba-c649-4e85-b907-cb848be16861"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "off", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3", - "run_number": 3, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:29:16.891941+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:39:18.256711+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=off_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-jczkdhl7","session_id":"b10a4c9a-b8ec-4002-933a-7f9fdd46ba93","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"40047e27-1a82-43d1-929d-a755ba843b52","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01Qdf29E38pbVEb19qDzTw5G","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris game with:\n\n1. Standard Tetris pieces (tetrominoes): I, O, T, S, Z, J, L\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls (arrow keys for movement, up arrow or Z for rotation)\n\nI'll create:\n- `index.html` - the main HTML file\n\n\n- `src/tetris.ts` - the TypeScript source\n- `tsconfig.json` - TypeScript configuration\n- `package.json` - project dependencies\n\nI'm going with a proper TypeScript setup that compiles to JavaScript rather than trying to run TypeScript directly in the browser, so I'll need a build step to transpile the code.\n\nNow I'm planning out the core game mechanics: a standard 10x20 grid with all seven tetromino pieces, each with rotation states and their standard colors. I'll implement gravity for automatic falling, arrow key controls for movement and rotation, soft and hard drop functionality, line clearing with scoring, progressive difficulty, and a next piece preview. I might add a hold piece feature too since it's a nice quality-of-life addition.\n\nWriting the TypeScript game engine... Writing the complete Tetris game... Defining the wall kick offsets for the SRS rotation system... I'm defining the wall kick data for the I-piece in SRS rotation, then deciding to implement proper SRS wall kicks for a better game experience. Now I'm setting up a complete TypeScript file with the core game constants and piece definitions.\n\nI'm working through the matrix rotation logic—specifically how to rotate a piece 90 degrees clockwise using the transformation where the new position maps from the old matrix, then generating all four rotation states from an initial shape. Let me reconsider the rotation formula to make sure I get it right.\n\nStill writing rotation logic...\n\nNow I'm ready to build out the complete game. I'll organize it into separate files: an HTML entry point, the main TypeScript game logic, and the necessary configuration files, then compile everything together.\n\nWriting the Tetris game code... Defining the tetromino shapes... I'm verifying the standard Tetris piece orientations in their spawn states—the I piece as a horizontal line, the O piece as a 2x2 square, and the T, S, Z, J, and L pieces in their canonical starting rotations.\n\nNow I'm setting up the complete TypeScript implementation with type definitions for the board, pieces, and game state, then I'll write out the full game logic including the SRS wall kick system.\n\nWriting the game implementation... Verifying the rotation formula with the I piece to make sure the transformation works correctly.\n\nI'm going to define all four rotations for each piece upfront rather than computing them dynamically—it's simpler and avoids any edge cases with the rotation math. Actually, I'll just compute them programmatically and trust the formula; the game will work fine either way.\n\nWriting rotation function... I'm verifying the rotation logic by tracing through each transformation of the I piece—starting horizontal, then rotating to vertical, back to horizontal, and finally vertical again before returning to the original orientation.\n\nNow I'm working through the T piece definition, deciding on its initial shape and how it should be positioned in the grid for proper rotation handling. CW rotation formula is new[i][j] = old[3-j][i], and I'm working through the specific mappings for the T piece to verify the transformation is correct. After rotating, the T piece shows the expected clockwise orientation with the stem pointing right.\n\nNow I'm thinking through the piece definitions for the actual game—I need to decide on matrix sizes for each tetromino. The I piece needs 4x4, and while O doesn't rotate meaningfully, I should probably standardize on 4x4 for all pieces to keep things simple, though that might cause some awkward spawning for smaller pieces.\n\nDefining all rotations as pre-computed arrays... Defining the rotation states for the remaining Tetris pieces... Defining the L piece rotations... Defining rotation states for the remaining pieces...\n\nNow I'm thinking about how to represent the O piece—it should be 2x2 in the standard rotation system, but I'll use a 4x4 grid with proper offsets to keep the spawn logic consistent. I'll stick with 4x4 grids for both I and O pieces, and 3x3 for everything else to simplify positioning.\n\nActually, let me just standardize everything to 4x4 matrices and handle collision detection based on the actual filled cells rather than worrying about different dimensions. I'll define all the pieces with their rotations in 4x4 format, starting with I, O, T, and S...\n\nDefining piece matrices...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"b10a4c9a-b8ec-4002-933a-7f9fdd46ba93","uuid":"3e631bba-c649-4e85-b907-cb848be16861"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01DYvKdv4MHX2hp3uEzfufot","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris implementation with:\n\n1. All 7 standard Tetris pieces (I, O, T, S, Z, J, L)\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls (arrow keys for movement, up arrow or Z/X for rotation)\n\nI'll create the following files:\n- `index.html` - Main HTML file\n\n\n- `tetris.ts` - TypeScript source\n- `tetris.js` - Compiled JavaScript (pre-compiled)\n- `tsconfig.json` - TypeScript config\n\nFor the browser, I'll go with pre-compiled JavaScript so it runs directly without needing a build tool.\n\nNow I'm planning out the game mechanics: a 10x20 grid with the seven standard tetrominoes, scoring that rewards clearing multiple lines at once, and difficulty that increases every 10 lines cleared. I'll add controls for movement, rotation in both directions, and soft dropping, plus a next piece preview to help with planning.\n\nWriting the TypeScript implementation... I'm setting up the project structure with TypeScript and planning to compile it for the browser—I'll need an HTML file, TypeScript configuration, and the main game logic in a source file that compiles to JavaScript.\n\nDefining the core constants and game structure... Finishing up the tetromino definitions, then I'm planning out a full Tetris implementation with a 10×20 board, all seven piece types, rotation mechanics with wall kicks, a ghost piece preview, hold functionality, and a scoring system. Defining the tetromino shapes and colors... Defining the Tetris piece rotations... Defining the wall kick offsets for piece rotations... Defining the game constants for scoring and speed mechanics...\n\nNow I'm setting up the core game structure with type definitions for pieces and the board, then initializing the main TetrisGame class with canvas contexts for rendering the main board, next piece preview, and hold piece display.\n\nDefining the private properties for game state... Setting up the game board and initializing a random piece by selecting from the seven Tetris shapes and centering it at the top, then resetting all game state variables like score, lines, and level while setting up the drop speed based on difficulty.\n\nNow I'm spawning the current piece from the next queue, generating a new random piece to preview, and starting the game loop with animation frames to handle the continuous falling and input processing—if the piece immediately collides with the board, the game ends.\n\nChecking collision detection... Writing the game logic... Writing the game mechanics... Finishing the wall kick logic, then moving into the hold piece functionality where I swap the current piece with a held piece or spawn a new one if the hold slot is empty.\n\nNow I'm implementing the ghost piece positioning by calculating how far down the current piece can fall before it collides, and then setting up the drawing functions to render blocks on the canvas with different opacity for ghost pieces versus actual pieces.\n\nWriting rendering code... Writing the canvas rendering... Writing the rendering logic... Still writing the rendering code... Finishing the highlight effect on the piece blocks, then I'm moving on to draw the next piece preview and hold piece preview by calling those helper methods. After that, I'm updating the UI to display the current score, lines cleared, and level, and setting up a message display function that will show title and subtitle text.\n\nSetting up input handling...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":485,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":485,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"cac01f34-4871-4f98-a231-72f46d43dac5","uuid":"0ff7a8a5-0eea-456c-8172-379ab8f53885"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "off", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1", - "run_number": 1, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:10:20.488948+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:20:23.911991+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-q166vcmi","session_id":"cac01f34-4871-4f98-a231-72f46d43dac5","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"66e8471c-889d-4060-9f79-422bb3fdb475","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01DYvKdv4MHX2hp3uEzfufot","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris implementation with:\n\n1. All 7 standard Tetris pieces (I, O, T, S, Z, J, L)\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls (arrow keys for movement, up arrow or Z/X for rotation)\n\nI'll create the following files:\n- `index.html` - Main HTML file\n\n\n- `tetris.ts` - TypeScript source\n- `tetris.js` - Compiled JavaScript (pre-compiled)\n- `tsconfig.json` - TypeScript config\n\nFor the browser, I'll go with pre-compiled JavaScript so it runs directly without needing a build tool.\n\nNow I'm planning out the game mechanics: a 10x20 grid with the seven standard tetrominoes, scoring that rewards clearing multiple lines at once, and difficulty that increases every 10 lines cleared. I'll add controls for movement, rotation in both directions, and soft dropping, plus a next piece preview to help with planning.\n\nWriting the TypeScript implementation... I'm setting up the project structure with TypeScript and planning to compile it for the browser—I'll need an HTML file, TypeScript configuration, and the main game logic in a source file that compiles to JavaScript.\n\nDefining the core constants and game structure... Finishing up the tetromino definitions, then I'm planning out a full Tetris implementation with a 10×20 board, all seven piece types, rotation mechanics with wall kicks, a ghost piece preview, hold functionality, and a scoring system. Defining the tetromino shapes and colors... Defining the Tetris piece rotations... Defining the wall kick offsets for piece rotations... Defining the game constants for scoring and speed mechanics...\n\nNow I'm setting up the core game structure with type definitions for pieces and the board, then initializing the main TetrisGame class with canvas contexts for rendering the main board, next piece preview, and hold piece display.\n\nDefining the private properties for game state... Setting up the game board and initializing a random piece by selecting from the seven Tetris shapes and centering it at the top, then resetting all game state variables like score, lines, and level while setting up the drop speed based on difficulty.\n\nNow I'm spawning the current piece from the next queue, generating a new random piece to preview, and starting the game loop with animation frames to handle the continuous falling and input processing—if the piece immediately collides with the board, the game ends.\n\nChecking collision detection... Writing the game logic... Writing the game mechanics... Finishing the wall kick logic, then moving into the hold piece functionality where I swap the current piece with a held piece or spawn a new one if the hold slot is empty.\n\nNow I'm implementing the ghost piece positioning by calculating how far down the current piece can fall before it collides, and then setting up the drawing functions to render blocks on the canvas with different opacity for ghost pieces versus actual pieces.\n\nWriting rendering code... Writing the canvas rendering... Writing the rendering logic... Still writing the rendering code... Finishing the highlight effect on the piece blocks, then I'm moving on to draw the next piece preview and hold piece preview by calling those helper methods. After that, I'm updating the UI to display the current score, lines cleared, and level, and setting up a message display function that will show title and subtitle text.\n\nSetting up input handling...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":485,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":485,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"cac01f34-4871-4f98-a231-72f46d43dac5","uuid":"0ff7a8a5-0eea-456c-8172-379ab8f53885"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_014jViAnh22eA31fjALq8AeW","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser, built with TypeScript. Let me create a complete Tetris implementation.\n\nI'll create:\n1. `index.html` - The HTML structure\n2. `style.css` - Styling for the game\n3. `tetris.ts` - TypeScript game logic\n4. `tsconfig.json` - TypeScript configuration\n\nSince we're running in a browser, I'll compile the TypeScript to JavaScript. Let me think about the approach - I could either:\n1. Create a TypeScript file and compile it\n\n\n2. Create everything inline\n\nLet me create a proper project structure. I'll need to check if there's a TypeScript compiler available, or I can write the TypeScript and also provide the compiled JS, or use a simple build setup.\n\nActually, let me just create the files and compile with tsc. Let me structure this properly.\n\nNow I'm planning out the core game mechanics: a 10x20 board with the seven standard Tetris pieces (I, O, T, S, Z, J, L), each with their own colors and rotation states.\n\nDefining the game mechanics... Defining the remaining Tetris pieces... Writing the TypeScript implementation... Building the HTML structure... I'm outlining the core architecture with TypeScript interfaces and a main game class that will handle the board state, active piece, next queue, hold functionality, and all the game mechanics like rotation with wall kicks, lock delay, and scoring.\n\nWriting the class implementation... I need to convert these wall kick offsets from standard Tetris coordinates (where y increases upward) to canvas coordinates (where y increases downward), so I'll negate the y values when applying them during rotation checks. I'm getting tangled up in the wall kick offsets, so let me just pull the standard SRS data directly from the Tetris wiki and implement it properly rather than trying to reconstruct it from memory. I need to be more careful about the coordinate system conversion. The wiki uses (column, row from bottom) while canvas uses (column, row from top), so I need to flip the y-axis by negating it when translating the wall kick offsets. Now I'm looking at the wall kick offsets for the I piece when rotating clockwise, mapping out the coordinate shifts for each rotation state and how they translate to the canvas positioning.\n\nFor counter-clockwise rotations, I can derive them by negating the clockwise values, then I'll implement the full SRS system with all the wall kick data I've compiled rather than a simplified version.\n\nWriting the TypeScript implementation... Defining the tetromino data... Defining the Tetris piece configurations... I'm realizing I should compute the rotation states programmatically rather than hardcoding all four orientations for each piece—I can generate them by rotating the initial shape 90 degrees clockwise using a matrix rotation formula. Defining the canonical shapes for each tetromino piece...\n\nThe O piece is tricky since all its rotations are identical, but in a 4x4 matrix it'll shift position with each rotation, so I need to handle that carefully. The I piece is straightforward as a horizontal line that rotates to vertical.\n\nI'm going to precompute all rotation states explicitly for each piece to keep things clean and avoid any position-shifting issues. Defining piece data... Defining the remaining Tetris piece rotations... Defining the tetromino pieces...\n\nI'm realizing the O and I pieces don't fit neatly into the same 3x3 grid structure as the others—the O piece is 2x2 and the I piece is 4x1 or 1x4. Rather than forcing them into inconsistent bounding boxes, I should precompute the actual cell offsets for each rotation state so I can handle variable-sized pieces cleanly.\n\nActually, using 2D arrays with different dimensions per piece is simpler—I'll use 4x4 matrices for I and O, and 3x3 for the rest. The collision detection can just skip over the zeros. Let me verify the T piece rotations are correct: spawn state is an upright T, then it rotates clockwise through right-facing, upside-down, and left-facing orientations. Those all check out.\n\nNow I'm verifying the J and L piece rotations. The J piece starts with the hook on the left, then rotates through right-facing, upside-down, and left-facing versions. The L piece mirrors this with the hook on the right side instead.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"30903a63-1e52-4a4e-8718-657eae375988","uuid":"15f51462-1833-4084-9a97-a9a3159de895"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "off", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2", - "run_number": 2, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:11:23.155284+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:21:26.670398+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-0rfl4qr4","session_id":"30903a63-1e52-4a4e-8718-657eae375988","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"f88639f5-07cc-47ca-b916-536c8d436777","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_014jViAnh22eA31fjALq8AeW","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser, built with TypeScript. Let me create a complete Tetris implementation.\n\nI'll create:\n1. `index.html` - The HTML structure\n2. `style.css` - Styling for the game\n3. `tetris.ts` - TypeScript game logic\n4. `tsconfig.json` - TypeScript configuration\n\nSince we're running in a browser, I'll compile the TypeScript to JavaScript. Let me think about the approach - I could either:\n1. Create a TypeScript file and compile it\n\n\n2. Create everything inline\n\nLet me create a proper project structure. I'll need to check if there's a TypeScript compiler available, or I can write the TypeScript and also provide the compiled JS, or use a simple build setup.\n\nActually, let me just create the files and compile with tsc. Let me structure this properly.\n\nNow I'm planning out the core game mechanics: a 10x20 board with the seven standard Tetris pieces (I, O, T, S, Z, J, L), each with their own colors and rotation states.\n\nDefining the game mechanics... Defining the remaining Tetris pieces... Writing the TypeScript implementation... Building the HTML structure... I'm outlining the core architecture with TypeScript interfaces and a main game class that will handle the board state, active piece, next queue, hold functionality, and all the game mechanics like rotation with wall kicks, lock delay, and scoring.\n\nWriting the class implementation... I need to convert these wall kick offsets from standard Tetris coordinates (where y increases upward) to canvas coordinates (where y increases downward), so I'll negate the y values when applying them during rotation checks. I'm getting tangled up in the wall kick offsets, so let me just pull the standard SRS data directly from the Tetris wiki and implement it properly rather than trying to reconstruct it from memory. I need to be more careful about the coordinate system conversion. The wiki uses (column, row from bottom) while canvas uses (column, row from top), so I need to flip the y-axis by negating it when translating the wall kick offsets. Now I'm looking at the wall kick offsets for the I piece when rotating clockwise, mapping out the coordinate shifts for each rotation state and how they translate to the canvas positioning.\n\nFor counter-clockwise rotations, I can derive them by negating the clockwise values, then I'll implement the full SRS system with all the wall kick data I've compiled rather than a simplified version.\n\nWriting the TypeScript implementation... Defining the tetromino data... Defining the Tetris piece configurations... I'm realizing I should compute the rotation states programmatically rather than hardcoding all four orientations for each piece—I can generate them by rotating the initial shape 90 degrees clockwise using a matrix rotation formula. Defining the canonical shapes for each tetromino piece...\n\nThe O piece is tricky since all its rotations are identical, but in a 4x4 matrix it'll shift position with each rotation, so I need to handle that carefully. The I piece is straightforward as a horizontal line that rotates to vertical.\n\nI'm going to precompute all rotation states explicitly for each piece to keep things clean and avoid any position-shifting issues. Defining piece data... Defining the remaining Tetris piece rotations... Defining the tetromino pieces...\n\nI'm realizing the O and I pieces don't fit neatly into the same 3x3 grid structure as the others—the O piece is 2x2 and the I piece is 4x1 or 1x4. Rather than forcing them into inconsistent bounding boxes, I should precompute the actual cell offsets for each rotation state so I can handle variable-sized pieces cleanly.\n\nActually, using 2D arrays with different dimensions per piece is simpler—I'll use 4x4 matrices for I and O, and 3x3 for the rest. The collision detection can just skip over the zeros. Let me verify the T piece rotations are correct: spawn state is an upright T, then it rotates clockwise through right-facing, upside-down, and left-facing orientations. Those all check out.\n\nNow I'm verifying the J and L piece rotations. The J piece starts with the hook on the left, then rotates through right-facing, upside-down, and left-facing versions. The L piece mirrors this with the hook on the right side instead.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"30903a63-1e52-4a4e-8718-657eae375988","uuid":"15f51462-1833-4084-9a97-a9a3159de895"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01DJ8QX8EiMvAqqgiEPZBPiu","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in a browser using TypeScript. Let me build a complete Tetris game with all the standard mechanics. I'll create a well-structured TypeScript project.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The main TypeScript file with game logic\n3. Maybe a simple build setup\n\nActually, since this needs to run in a browser, I should think about how to compile TypeScript. Let me create a setup with:\n- `package.json` with TypeScript dependency and build scripts\n- `tsconfig.json`\n\n\n- `index.html` and `src/tetris.ts` as the core files\n\nI'll go with a proper project structure rather than trying to inline everything. For the game itself, I need to implement all seven tetrominoes with rotation mechanics, line clearing with scoring, a level system that increases speed, keyboard controls for movement and rotation, a next piece preview, hold functionality, and a ghost piece indicator.\n\nThe board will be the standard 10x20 grid. Each piece has its own color—cyan for I, yellow for O, purple for T, green for S, red for Z, blue for J, and orange for L. Scoring follows classic Tetris rules where clearing four lines at once (a Tetris) is worth significantly more than clearing lines individually. The controls map to arrow keys for movement, up arrow for clockwise rotation, Z for counter-clockwise, space for hard drop, and C to hold a piece.\n\nWriting the TypeScript implementation... Defining the Tetromino shapes...\n\nNow I'm structuring the full game architecture with a Game class to handle state and the main loop, drawing functions using Canvas, input handling for piece movement, and piece management logic. I'll style it with a dark theme, grid lines, and neon colors for that classic Tetris feel.\n\nSetting up constants and piece definitions... I'm implementing a matrix rotation function that handles both clockwise and counter-clockwise rotations by swapping and reversing coordinates appropriately, which will let me compute piece rotations on the fly instead of storing them all upfront.\n\nNow I'm planning out the full Tetris game implementation with all the core mechanics: the seven tetrominoes with their colors, a randomizer using the 7-bag system to ensure fair piece distribution, wall kick logic for rotation near boundaries, a ghost piece preview, hold functionality, line clearing with animations, scoring and level progression, and game state management including pause and restart.\n\nBuilding the complete game structure... Defining the tetromino shapes and game constants... Defining the piece shapes and colors... Writing the game logic... Writing the game class... I'm setting up the canvas contexts for the next piece preview and hold piece display, then initializing the input handlers and starting the game loop. Now I need to organize this into actual files and write out the complete implementation concisely so the user can build and run it.\n\nI'm thinking through the layout structure: hold piece on the left, main game board in the center, and the stats panel with score, level, lines, and next piece previews stacked on the right. I'll use a dark theme with neon colors for that classic arcade feel.\n\nWriting the HTML file... Building the Tetris game layout... I'm realizing I should structure this as a proper TypeScript project with separate files rather than everything inline. I'll set up a `package.json` and `tsconfig.json` to handle compilation, then write out the TypeScript source that defines the game constants, board state, and piece logic.\n\nDefining the tetromino shapes and colors... Defining the Piece interface and helper functions... Finishing the shuffle algorithm and setting up the game class...\n\nNow I'm initializing the game state with the board, piece queue, hold mechanic, and score tracking, along with timing variables for gravity and lock delay to handle piece placement.\n\nSetting up the DOM elements... Setting up the input handler with DAS (Delayed Auto Shift) logic to track held keys and trigger piece movements, rotations, and drops with appropriate timing delays and repeat rates. Setting up the keyboard repeat logic with DAS delays for continuous movement, then cleaning up timers when keys are released. Now I'm moving into the piece spawning logic.\n\nI'm initializing a new piece from the bag, copying its shape, and positioning it at the center of the board. If that spawn position is blocked, the game ends immediately. Otherwise I'm setting up the piece state and resetting the lock delay and hold status.\n\nValidating piece placement...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"292dcf49-2fb0-49a6-8137-41a99b64dc2c","uuid":"b44b6d60-33d2-4697-b286-8bfd89b9ddbb"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "off", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3", - "run_number": 3, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:11:28.280356+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:21:32.082037+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=off_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-2fkp8xky","session_id":"292dcf49-2fb0-49a6-8137-41a99b64dc2c","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"cbffeb51-0e8c-4343-9a05-42d07450a30e","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01DJ8QX8EiMvAqqgiEPZBPiu","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in a browser using TypeScript. Let me build a complete Tetris game with all the standard mechanics. I'll create a well-structured TypeScript project.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The main TypeScript file with game logic\n3. Maybe a simple build setup\n\nActually, since this needs to run in a browser, I should think about how to compile TypeScript. Let me create a setup with:\n- `package.json` with TypeScript dependency and build scripts\n- `tsconfig.json`\n\n\n- `index.html` and `src/tetris.ts` as the core files\n\nI'll go with a proper project structure rather than trying to inline everything. For the game itself, I need to implement all seven tetrominoes with rotation mechanics, line clearing with scoring, a level system that increases speed, keyboard controls for movement and rotation, a next piece preview, hold functionality, and a ghost piece indicator.\n\nThe board will be the standard 10x20 grid. Each piece has its own color—cyan for I, yellow for O, purple for T, green for S, red for Z, blue for J, and orange for L. Scoring follows classic Tetris rules where clearing four lines at once (a Tetris) is worth significantly more than clearing lines individually. The controls map to arrow keys for movement, up arrow for clockwise rotation, Z for counter-clockwise, space for hard drop, and C to hold a piece.\n\nWriting the TypeScript implementation... Defining the Tetromino shapes...\n\nNow I'm structuring the full game architecture with a Game class to handle state and the main loop, drawing functions using Canvas, input handling for piece movement, and piece management logic. I'll style it with a dark theme, grid lines, and neon colors for that classic Tetris feel.\n\nSetting up constants and piece definitions... I'm implementing a matrix rotation function that handles both clockwise and counter-clockwise rotations by swapping and reversing coordinates appropriately, which will let me compute piece rotations on the fly instead of storing them all upfront.\n\nNow I'm planning out the full Tetris game implementation with all the core mechanics: the seven tetrominoes with their colors, a randomizer using the 7-bag system to ensure fair piece distribution, wall kick logic for rotation near boundaries, a ghost piece preview, hold functionality, line clearing with animations, scoring and level progression, and game state management including pause and restart.\n\nBuilding the complete game structure... Defining the tetromino shapes and game constants... Defining the piece shapes and colors... Writing the game logic... Writing the game class... I'm setting up the canvas contexts for the next piece preview and hold piece display, then initializing the input handlers and starting the game loop. Now I need to organize this into actual files and write out the complete implementation concisely so the user can build and run it.\n\nI'm thinking through the layout structure: hold piece on the left, main game board in the center, and the stats panel with score, level, lines, and next piece previews stacked on the right. I'll use a dark theme with neon colors for that classic arcade feel.\n\nWriting the HTML file... Building the Tetris game layout... I'm realizing I should structure this as a proper TypeScript project with separate files rather than everything inline. I'll set up a `package.json` and `tsconfig.json` to handle compilation, then write out the TypeScript source that defines the game constants, board state, and piece logic.\n\nDefining the tetromino shapes and colors... Defining the Piece interface and helper functions... Finishing the shuffle algorithm and setting up the game class...\n\nNow I'm initializing the game state with the board, piece queue, hold mechanic, and score tracking, along with timing variables for gravity and lock delay to handle piece placement.\n\nSetting up the DOM elements... Setting up the input handler with DAS (Delayed Auto Shift) logic to track held keys and trigger piece movements, rotations, and drops with appropriate timing delays and repeat rates. Setting up the keyboard repeat logic with DAS delays for continuous movement, then cleaning up timers when keys are released. Now I'm moving into the piece spawning logic.\n\nI'm initializing a new piece from the bag, copying its shape, and positioning it at the center of the board. If that spawn position is blocked, the game ends immediately. Otherwise I'm setting up the piece state and resetting the lock delay and hold status.\n\nValidating piece placement...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"292dcf49-2fb0-49a6-8137-41a99b64dc2c","uuid":"b44b6d60-33d2-4697-b286-8bfd89b9ddbb"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_014stWFUgQPG5NQMMLNpb1kB","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me create a complete Tetris implementation with:\n\n1. All standard Tetris pieces (I, O, T, S, Z, J, L)\n2. Piece movement (left, right, down)\n3. Piece rotation\n4. Line clearing\n5. Scoring system\n6. Increasing speed\n7. Keyboard controls\n\nI'll create the project structure with:\n- `index.html` - The main HTML file\n- `src/tetris.ts` - The TypeScript game logic\n- `package.json` - For TypeScript compilation\n\n\n- `tsconfig.json` - TypeScript configuration\n\nNow I'm thinking through the architecture: a 10x20 game board, the 7 standard tetrominoes, a game loop using requestAnimationFrame, Canvas API for rendering, and keyboard event handling. I'll define the core types for the grid, pieces, and game state, then build out the logic for piece movement, rotation, collision detection, and line clearing.\n\nDefining the TypeScript types and interfaces... I'm deciding between creating a self-contained HTML file with compiled JavaScript or setting up a proper TypeScript project structure with build tools. A full project setup with tsconfig.json, package.json, and separate source files would be cleaner, so I'll go with that approach and write out the complete game implementation.\n\nWriting the game logic... Setting up the Tetris class with canvas elements for the main game board and next piece preview, initializing all the game state properties like score, level, and game status flags, then wiring up the canvas contexts and DOM references in the constructor. Setting up the game board and piece spawning...\n\nNow I'm implementing the collision detection logic to check if a piece overlaps with existing blocks or goes out of bounds, and marking the game as over if a new piece can't be placed.\n\nWriting rotation logic... Writing game mechanics... Finishing the piece placement and then handling line clears with the scoring system for completed rows... Writing the render pipeline... Still writing cell rendering... Writing the ghost piece rendering... Still writing the rendering code... Writing game state overlays... Writing control handlers...\n\nNow I'm setting up the restart logic to reset the board, score, and game state, then initializing the game loop that tracks time between frames and handles the automatic piece dropping based on the drop interval.\n\nI need to think through the HTML structure and build setup—I'll use TypeScript with a simple compilation approach and create the necessary files for the project. Let me reconsider how to properly handle the Tetris pieces and their mechanics.\n\nI'm mapping out the standard piece shapes and their dimensions, then setting up the scoring multipliers based on how many lines are cleared at once.\n\nNow I'm thinking through the game mechanics—drop speed increases with each level, starting at 800ms and decreasing by about 83ms per level, plus I need to implement DAS for smooth horizontal movement with an initial delay and repeat rate. I'm going to build a polished Tetris game with a canvas renderer, dark theme with glowing pieces, a sidebar showing score and next piece, wall kicks for rotation, and a ghost piece preview. The layout will have the main game board on the left with a sidebar on the right for stats.\n\nBuilding the HTML structure and styles... I'm planning out the TypeScript implementation with DAS (Delayed Auto Shift) for responsive controls, and I'll structure it across a few files: the HTML entry point, the main game logic in TypeScript, and the necessary config files. Let me start writing the complete code now. Defining game constants... Defining the tetromino shapes...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"bcca1e41-d24b-4e3b-b3c9-96034a1195ac","uuid":"977795aa-b02b-41c6-a65d-c2a832f3caeb"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "off", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2", - "run_number": 2, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:11:54.203081+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:21:57.888292+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-wqm0casj","session_id":"bcca1e41-d24b-4e3b-b3c9-96034a1195ac","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"54250a5e-6e51-4260-be2e-15d361970401","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_014stWFUgQPG5NQMMLNpb1kB","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me create a complete Tetris implementation with:\n\n1. All standard Tetris pieces (I, O, T, S, Z, J, L)\n2. Piece movement (left, right, down)\n3. Piece rotation\n4. Line clearing\n5. Scoring system\n6. Increasing speed\n7. Keyboard controls\n\nI'll create the project structure with:\n- `index.html` - The main HTML file\n- `src/tetris.ts` - The TypeScript game logic\n- `package.json` - For TypeScript compilation\n\n\n- `tsconfig.json` - TypeScript configuration\n\nNow I'm thinking through the architecture: a 10x20 game board, the 7 standard tetrominoes, a game loop using requestAnimationFrame, Canvas API for rendering, and keyboard event handling. I'll define the core types for the grid, pieces, and game state, then build out the logic for piece movement, rotation, collision detection, and line clearing.\n\nDefining the TypeScript types and interfaces... I'm deciding between creating a self-contained HTML file with compiled JavaScript or setting up a proper TypeScript project structure with build tools. A full project setup with tsconfig.json, package.json, and separate source files would be cleaner, so I'll go with that approach and write out the complete game implementation.\n\nWriting the game logic... Setting up the Tetris class with canvas elements for the main game board and next piece preview, initializing all the game state properties like score, level, and game status flags, then wiring up the canvas contexts and DOM references in the constructor. Setting up the game board and piece spawning...\n\nNow I'm implementing the collision detection logic to check if a piece overlaps with existing blocks or goes out of bounds, and marking the game as over if a new piece can't be placed.\n\nWriting rotation logic... Writing game mechanics... Finishing the piece placement and then handling line clears with the scoring system for completed rows... Writing the render pipeline... Still writing cell rendering... Writing the ghost piece rendering... Still writing the rendering code... Writing game state overlays... Writing control handlers...\n\nNow I'm setting up the restart logic to reset the board, score, and game state, then initializing the game loop that tracks time between frames and handles the automatic piece dropping based on the drop interval.\n\nI need to think through the HTML structure and build setup—I'll use TypeScript with a simple compilation approach and create the necessary files for the project. Let me reconsider how to properly handle the Tetris pieces and their mechanics.\n\nI'm mapping out the standard piece shapes and their dimensions, then setting up the scoring multipliers based on how many lines are cleared at once.\n\nNow I'm thinking through the game mechanics—drop speed increases with each level, starting at 800ms and decreasing by about 83ms per level, plus I need to implement DAS for smooth horizontal movement with an initial delay and repeat rate. I'm going to build a polished Tetris game with a canvas renderer, dark theme with glowing pieces, a sidebar showing score and next piece, wall kicks for rotation, and a ghost piece preview. The layout will have the main game board on the left with a sidebar on the right for stats.\n\nBuilding the HTML structure and styles... I'm planning out the TypeScript implementation with DAS (Delayed Auto Shift) for responsive controls, and I'll structure it across a few files: the HTML entry point, the main game logic in TypeScript, and the necessary config files. Let me start writing the complete code now. Defining game constants... Defining the tetromino shapes...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"bcca1e41-d24b-4e3b-b3c9-96034a1195ac","uuid":"977795aa-b02b-41c6-a65d-c2a832f3caeb"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_014S25UaVmeHhXLVxFtdeqDx","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game that runs in the browser using TypeScript. I'll create a self-contained HTML file with TypeScript compiled to JavaScript, or better yet, I'll create proper TypeScript files with a build setup.\n\nLet me think about the structure:\n\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The main TypeScript file with all game logic\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript config\n\nActually, since it needs to run in a browser, let me create a setup with:\n\n\n- `index.html` - Main HTML\n- `src/game.ts` - Game logic\n- TypeScript compilation\n\nNow I'm planning out the core game mechanics: a 10x20 board with the seven standard Tetris pieces, keyboard controls for movement and rotation, a game loop using requestAnimationFrame, and a scoring system based on cleared lines with increasing difficulty levels. I'll also add a next piece preview and display the current score, level, and line count. I'm going to render everything on a canvas element.\n\nDefining the TypeScript types and structures... Writing the Tetris implementation... Defining the game constants and piece shapes... Setting up the project structure with configuration files for TypeScript compilation and npm scripts to build and run the development environment.\n\nWriting the Tetris game code... Defining the Tetris piece shapes and setting up the core game logic... Writing game logic... Writing the game class... Setting up keyboard input handlers... Writing game mechanics... Writing game logic... Finishing the restart method by setting up the next piece and restarting the game loop, then I'm implementing the start method to initialize the UI and begin animation, followed by the main game loop that handles timing, piece dropping, collision detection, and continuous rendering.\n\nNow I'm writing the block drawing function... Writing the rendering logic... Writing the next piece preview... Writing the HTML structure...\n\nNow I'm thinking through the TypeScript configuration—for a browser-based game like this, I need to decide on the module system. Using `\"module\": \"ES2015\"` or bundling everything into a single file would work best for a straightforward setup without external dependencies. I'm realizing the cleanest approach for a browser without a bundler is to use ES modules with `\"module\": \"ES2020\"` and a module script tag in HTML, or alternatively wrap everything in an IIFE to avoid module syntax issues. Since this is a single TypeScript file with no imports, I could use CommonJS output, but that would add `exports` boilerplate that won't work in the browser—so ES modules is the better choice here.\n\nActually, I just remembered that `\"module\": \"None\"` is a valid TypeScript option that skips all module boilerplate entirely, letting the code work as a plain global script without any bundler or server requirements. I'm realizing that `\"module\": \"None\"` might not actually be valid, so let me reconsider—I could use CommonJS output with `outFile`, but that only works with AMD or System modules. The simplest approach is probably to just compile without any module system and ensure the output is a single, self-contained JavaScript file.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"c1f3df78-ce26-4ea9-ae14-527db8e2cd83","uuid":"d2a42059-afc1-4e95-b866-06287471c32f"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "off", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3", - "run_number": 3, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:16:48.914643+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:26:54.133900+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=off_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-7h1kp93n","session_id":"c1f3df78-ce26-4ea9-ae14-527db8e2cd83","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"9136c91a-a629-4eef-9d4a-996a2c370917","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_014S25UaVmeHhXLVxFtdeqDx","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game that runs in the browser using TypeScript. I'll create a self-contained HTML file with TypeScript compiled to JavaScript, or better yet, I'll create proper TypeScript files with a build setup.\n\nLet me think about the structure:\n\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The main TypeScript file with all game logic\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript config\n\nActually, since it needs to run in a browser, let me create a setup with:\n\n\n- `index.html` - Main HTML\n- `src/game.ts` - Game logic\n- TypeScript compilation\n\nNow I'm planning out the core game mechanics: a 10x20 board with the seven standard Tetris pieces, keyboard controls for movement and rotation, a game loop using requestAnimationFrame, and a scoring system based on cleared lines with increasing difficulty levels. I'll also add a next piece preview and display the current score, level, and line count. I'm going to render everything on a canvas element.\n\nDefining the TypeScript types and structures... Writing the Tetris implementation... Defining the game constants and piece shapes... Setting up the project structure with configuration files for TypeScript compilation and npm scripts to build and run the development environment.\n\nWriting the Tetris game code... Defining the Tetris piece shapes and setting up the core game logic... Writing game logic... Writing the game class... Setting up keyboard input handlers... Writing game mechanics... Writing game logic... Finishing the restart method by setting up the next piece and restarting the game loop, then I'm implementing the start method to initialize the UI and begin animation, followed by the main game loop that handles timing, piece dropping, collision detection, and continuous rendering.\n\nNow I'm writing the block drawing function... Writing the rendering logic... Writing the next piece preview... Writing the HTML structure...\n\nNow I'm thinking through the TypeScript configuration—for a browser-based game like this, I need to decide on the module system. Using `\"module\": \"ES2015\"` or bundling everything into a single file would work best for a straightforward setup without external dependencies. I'm realizing the cleanest approach for a browser without a bundler is to use ES modules with `\"module\": \"ES2020\"` and a module script tag in HTML, or alternatively wrap everything in an IIFE to avoid module syntax issues. Since this is a single TypeScript file with no imports, I could use CommonJS output, but that would add `exports` boilerplate that won't work in the browser—so ES modules is the better choice here.\n\nActually, I just remembered that `\"module\": \"None\"` is a valid TypeScript option that skips all module boilerplate entirely, letting the code work as a plain global script without any bundler or server requirements. I'm realizing that `\"module\": \"None\"` might not actually be valid, so let me reconsider—I could use CommonJS output with `outFile`, but that only works with AMD or System modules. The simplest approach is probably to just compile without any module system and ensure the output is a single, self-contained JavaScript file.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"c1f3df78-ce26-4ea9-ae14-527db8e2cd83","uuid":"d2a42059-afc1-4e95-b866-06287471c32f"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01Xv7PS9zhnrC2PJwGTdABou","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris game with all standard mechanics. I'll create the project structure with TypeScript and use a simple HTML canvas for rendering.\n\nLet me plan the structure:\n1. `index.html` - Main HTML file\n2. `src/tetris.ts` - Main game logic in TypeScript\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript config\n\nOr I could keep it simpler and just create an HTML file with inline TypeScript compiled to JavaScript. \n\nBut since they specifically asked for TypeScript, I should use actual TypeScript with compilation. I'll set up a proper project with package.json, tsconfig.json, and organize the game logic in src/game.ts with an HTML entry point. For the game itself, I need to implement the seven standard Tetrominoes with their rotation states, a 10x20 grid, piece movement and rotation mechanics with wall kicks, line clearing detection, and the classic Nintendo scoring system.\n\nWriting Tetris game code... I'm planning out the full Tetris game structure with separate files for logic, HTML, and config. I'll render everything on a single canvas with the game board on the left (10x20 cells at 30px each) and a side panel on the right showing the next piece, hold piece, score, level, and lines cleared. Now I'm defining the core constants and starting to build out the game logic.\n\nDefining tetromino colors and shapes... Defining the rotation states for the remaining Tetris pieces...\n\nNow I'm planning the overall structure for the browser game—I'll need an HTML file with a canvas element, a TypeScript source file for the game logic, and a package.json to handle the build and development setup.\n\nWriting the TypeScript implementation... Defining the tetromino shapes... Defining the rotation states for the remaining Tetris pieces... Defining wall kick data... I'm setting up the full Tetris implementation with TypeScript, HTML, and configuration files, using a Canvas-based game board with a 10x20 grid and a side panel for game info like score and next piece preview.\n\nDefining the tetromino shapes... Writing the complete Tetris implementation... Setting up the type definitions and game constants...\n\nDefining the tetromino shapes for all rotation states... Defining the rotation states for the remaining Tetris pieces... Defining the rotation states for more Tetris pieces... Defining the wall kick offset data... Defining wall kick offset tables... Setting up the game class properties...\n\nI'm initializing the canvas dimensions based on the board size and side panel width, then creating an empty board, filling the piece bag using a 7-bag randomizer with Fisher-Yates shuffle, queuing up the next pieces, spawning the first piece, and starting the game loop with input controls. Setting up the spawned piece with its initial position and rotation, then checking if that spawn position is valid to determine if the game is over.","signature":"EseFAQpbCAwYAipAImifUQcZ+ZzLQGMP9D+r3Ewqeo1PUyJDLMx0sz5HQZYWei83vuhR2cAyAu1B01ar/sSv5uFYpn49DE46kyy/7jIRY2xhdWRlLXNvbm5ldC00LTY4ABIMDuwxJz4adShBt8ruGgwoaaMGddh8zdsyYgAiMIYiqqqAAuvHMAQsPn4PN2tFeZHzaqh6o6/XL6XJ3Me+wLtFj8EpPG04IeyCI/ftJyqYhAHQBHqxF53tW0UzhbGt4vrLZALpjSSU+VJvlulE+U9kplyrgHxg36rhpGqxiNTkNAaF49lgfjxlPgO4pWp1gD2FSZJWi/a7/JHaGsjkv/w+uVwvvW+81Ml5K+/G3C2P+VPdYZy1/IGbLxzT4heetZHF2t+3epbdPRhmovzC3lwzKCUYptB8/kS8SFz6eTBmmxg1Pk/PiZW+iqLB9pfOgjCFn7gJaF53hA7bxo83/VgavLas81s98I6/VqpDDWq+tAjvQAFt+k7EYzM3hnR7cvppZpUcp8Js22wIxLTM/SefgYXhyMNPK8xhCHppmR3fd0xwq7nOGNV2KJdPExtuxplDOba5CjWlNR3z7ASRrOVlunh2q+8bWpjzNRDr9waE0igAg3RAQUfdHlXnJKcGet8cxEhkOIYomYP1xFSfXDF/JIQw0PL5X0EK2i8JD5xK8ZZPv1WUhLxsE8ILT7b4b/UlTvgksrXEmmb7Q/JStFjrSnh8mY2wjxwPm2UyD9eYQsQWCBOZ9CdLN+O1aAacd82G64MSV1IfxCyDJqf52Sr3MDtl5jxngLe1+Mcgs+bX53iTHOFWdmBm80syeaBrkinWl08SswNogWlEdnGmEsV1cI7kr2NPx1rowoXH+XG6LFnUrxmnE7NwaqvwQCqjEa5jP3bhe3eSgCFjY0/+qFEr5+/zYquseNdqu5DBqGS4vty24hiXb9l0GIxycAlTuTl/wzVP0RZg3mQzIxuEMv2Qqy9cMy3tW8RjyQcY4pZv075SAq8Cgji91S+67P67n7gcUKT6TeFn8bdiF76iraXpJWvACym/HGKqGcyUfopH4jCU8POptf5k6qgnmR8BI6WD6hQs43u2Rmz2l5gFdhb/xPq341RlJ8LOqL189XEZl6WC6qubxQXrTUGLVCFusBS7fiDLRSYQUmJsqM9CIMN6U6ypnP42KSF+eN8p9REoR4AOClOqYNYNpvsECrHOynJYCjpHOYpTv5dMQAsnq9GL68TARlJtg2BZv7WlJyMHpx34O28b33mkfgYDA/Sh8ZlyI7biiFm6BvDTEM8T/SpRXJAdYaM2Q9g32rbY34b4p8q6B/HEuHmOsz2Lh0PklcHo7EVWaDwMOo1MLWA97unTFHvwWc849xlBQa2s+dPWCWFu74XbGZ1iuI4nFGsjMLr7lTYXtc+xhd13pOAhgYaL/ulJTEACa0OgqRLGE4u1Cf/7kww313JQSGlkypP9Id6amzDQmb1ei1qDByRCAh0o6vNV9iNIBzOFYbgNH1CnNqr09ehAP3p7TopsAsnysekW3HD+ZcLl9cqlkRMYECqJIZUd++0O9GofpO1OkTZjbFEhGLqfv1L5n+AjOcMleFXg2aG49dc9etZfd4X8aCpcY4bYbvFS0u9rf9+QHMo1PYTKNemcSZ3Aa2UOoyD3UfZ72IVh26eK2I+USrXjdLnB1UI6fEriLJpi6OiV+g9i8tll1wswgRmJXECEBfSRcnHCKnb52AuMaKiTw/K7D+VqXY1bIpN1AhAf/wacirjetu5Hq7VzBycRcg4AdMa1hzpuGmkhw633JmSiFQsFcMyDDoGpdfED9BY6V8WMIekYkR4tRruXiA7r/kHMHWfRoPYrOGAmZJ3zIEkX9MoRGQnsFiBPTKwOHLzaTY0kciCSx/C/S9D6s3HlePilorazqyI/zn8x+XmFR3BG58y+ROMp+pDH7jgk+z/n7PbJ24BjSxGRDUMlx/gIoszB06ngtwgIyeIE0st/w6cRQFRMYl7eufaydar42oYkpXN+CEtHXFDvhysp6jfqEWqOR4uDLB9s/i7zU7UWozZt4OgTPUiTdKocmLDyoXWhPsKEJNu8sSuv1BR+ZAnzWB8NM6VdYOtErTSxFzHaEE/D0g0MI3LooKp5OzC1SN6QxfZB0kABul1uIg57GM/a+EeobhTmDBK74ZmK5rWtFI9+6MOJ2URy8FmZM6AWWOrORVTGViVeVHYDGJI/HDL1yE/kTKxQ8vi67iJbmP4uaiBnYHv802hCrfjc4PreQjMKdRgHZheMgjuCXE5wRscGcDK6HR9X65vLiHmwDYDYKwubqHYaDwnk6hJFjfOM/Jac1RGykv8LiB7VbEZ17lO9ZE072xojOQvmtCkVlWczTkZpb8NKOrEV0tyFHsmt8b6ZLdPQQPh7Fv4vHO9jYfTNkSC/Q4k7F9Y9ami5nO8dUNwgFmZV4q/DBlHuZQ1g31raLafC5ns/6uK0gnQkUuwI1+M6vhIjs6CEYGIjAKTUBS2xETBxZdFKZPzStUTZ+tlZG1wo1VXEgn+vv+UBZUziC7v3XpERI0F+tFE/61db4JrnbHYzCIpSUPzmaZFT9tCfxggxj94tKbK4WJTiEQc0yADg6Rxo5RNCWhchf3MtGg0tm0kd4Hkph8/rCmDGN0PzJ8Z/2hV6MmWBOjuvjTOT+ZXSZGUvLTQrng0bQbk8djZKEWmgiLJMn+JtKGogYEmiz8NpTcaOLbdGL9xtkd4b0d0b4/boyhWmrhGxb8N/TvBAUWGNxS47ZlKP8JTIy5UqmhO4AcOUG52sACAcXcOJNe4aDekykwxsryNROrNdugol+B747sSZceYd9GngD6i789pyLAmcwd/BND3iE3+Ag+7hzGYl/LUtC1X0SPz6E1khTGKxZ/GNi0Qr2jfN7KXCpnMtxwGnEd+hXeuJ0BAAaeAXqChnl1GvG91+8V/drPtmESdJ3LKuKVpEVyEoXL3SgSoIaeoq7viCZbQPY7mg+mavbLYvJgspjN0GA6jSbJllauKhQ2d513SHZUBhoIwtg2AKcpAbj1N45JiOLg8OBALavGC88uwG15++s93kBAPEJ11HeICcI6mbc4ypUOeoGTM50i8zpV9f/pRUNpsVmGiBGh5EYvC2GzZRM/R3fMoWuUwv/yAwkwX/vfKDBo6TAyBUmpYxbKwZLnT31PnEqb0gRaZ/RF3QBn9lqmX4KFniBBh1MnRuwtj9gzOm9n62G2a6ztMA6KcV2GYxqthSNXnq5EW5m7DekR75DPW23WMJZ0qTA6iCcELJ+8ZF0+6Uws7P74MKWx/5H/0LRYdnvtB6SwF1EZSouONoUSSFVIcNEkWhVxe6wF7iSHq3dV68dgu6iquZKftd05+5xr5vhJs70nSvyedg7BUuLfy4slBpbB11x99rGjHnJ/x22HJqdMv4a/P0scemvtymcTV20dTK+hpqIsL8jrT/PnrBL6t//bscoa0VfrC3tscvWb8Ps4arIfO85SA/OakfKMNT52a8W5nADgNfuMbKsMkm1zWK6arfZGsR2TXnwLvhwHMN2gHeNo+OA5jEG/r4l/ki0CYaaQPee6OM642OHQxWhoCOZDkB6wTqXQvKAxebYtmqmLMeprP9r9qkON0A4vQ8SA9nAb+5U3HHi8hz7XhGhabWBs4zDwphZN3eHBdgiHAUprYafY9fGjMwlsRcvp52hEfiGe7IuJz5Sap8/xPAzHZjaDtx37gAn3WaDn8QYqWO2TwJwPUpjIH/A9YzmjPAsMQiwcKtGs/p11osepOp+a9Fmz/X12RpmZKKzGvujh5eEzNqrZiMtlZJ5mcqkh2yKkls0onsa1tCfXeo6RRt0EwgVfd3G6UcHKHIdsOZnEl/Gds9ohWENjRaSSqDY1ay2NMMZk0RR8/GsZSfoCeRHZfBGYOtceCeSQP+wgmgDHFyUjSpdnfG0pXsaIMToj10sv5NMCKn1zxNQsQuUKsNkbYFhwzvXsdJGNYP32h/J/mK0PrGIyRgdzG9/kQWTP/QKvZVDL5r/tKPzFW4jIkZhS5sC92LDdItQynZfddHqkotUM5sSHu/IM342Hh7N7VeVDZxcj2aAY+yyAEg/OoEeyIubHNq7katzf8k6YwhpI7EndBDmJUZ2kPWr46/TMVqQbFsvU0k1Qgfw5ZAcFcMBmI/EIif1LdINcthG7VuNImn5Gi8JQhQfFwCav96VjlRemPqbR3881q6SKojRYLncdfzLQrC64THZ1ODhupuLCpWUwYFcX5ccSVELlgkFjLgDtq9DE0OqeMOBeSfwNXg5pt4dzpuMe8qJs2XcICxBkzVkiRheW/X4TqoKhzRQLaeoFHkaBeAzYqHxpTHvL0+mESXFxFQSRXNdoGsARhxoIuPvxL3pRhBD5q8KSVGrI9KqADE4FswggRc6om53djmx70IZ88uDxyjLrBZyBj6J4kPABEjC3V4JwktZtetdFVYJZ4vlzP8AzfMcvlyEzOl4s7arcYFdrgh5f+xrUtn/ALuIc/jQN84lJJRzute0JIRO8mVt9xA7EvSXGy5XmVm7AcWVrbZEvYHh7RmOhTnL+t4CpbEGx6JoxY/RJS98TnimObkVV6FKP9+09jHJmOgtd16jHvTYG7VhxADwQa37cLxsravypRmte39kWur5rj07sGs13CF+jLr90qcGvkc4lR+HQDTsJBaPRVt4RZSRObAfMMPmAYv8QypOOXoiBxqXNtMAFtW57n8F4RwSXVot/cL4BHqoHB60aHbCnsAcNJIhWpd4qAb9TnCGwF1SOmk1DElKCvfutHk5/WbVmCI1OYeo+sJTXnv514fq7UmYolb/ngtNDnGl+ZWPwL5aHwBZ4oGlgHQtLdR59eQqWU8V47uzerEIGQ1Ft6McIYf+qCtj4IxEZMllalKi+te5F8VMNw5xM2HOeWT4RbI8mq9H9SUFqr+asbtrni10HZhdPhuL+JWEMNzWf/sLc8SjYAcUTyerYa4HBN1lmxyFdE1bLXE78jFgLKDbFZFqVBXmWPBhnzel4gOuBaepA6M2m/ZMI18E6QBupdYU8cHPo+2leHDE6yGcs9AZBG/n813gqJjy4EmF4DR7xwvDk5q5lEXP3ejZJcAYqg3aDN6cgVwh9qVQCKUwioc1gRSOhIncb/cSASMBC80phFIh3sdJWZ4ARH2UbWB0LdpP4Zcq9tmnFVvu9oZRQQV3CNvr49pdJXYC3m7V94d7NbJx7pD1BOSkchhODrWeGEYG5wKbY9TM9WpTGTX7jSsK1Iv+TQuAUHizCUY5MwagywNCNj65z2ZE8Z32azpQRy9buXJkd6pCGDsisgsJS4kj1JTzJVJt9BW6nF6p3vRxKGd5Y44S+JZiDit6UmWLILjEGYE/DpTG2uVArUa6XgTg3TYDKAaTglP5MyAPtFugEWcbvCG4K7VqyyxUolKt+T/xzepjV+SUhoP8b8iRU3xBCR5iNC82LeLp/8LwKFqTQeF+JV2X/w+fDY4lPZgV3VQIBgfvtd1TZbAN3JZrV85Hqdj2NV5wOyGtGk0HqckBo+CBk1IWKdWIG2iWWYaGwxdHb4OBHhxpQydQqtygLOqLmc3HFD8nrSoLsQDZeunG3C258TdNK1MHFFJ80VOX0MjrerfBUgPwqgZxZ/h16ZARXdafLg15evlRhqsoWZQhpqde/OGXbectZ1UPrG72hErWDpHJm7ZObVGkkDQvmRJANjp/zIwTbgGbf96WFLvJ1vJrwBb0OX81sX5MbeKGDxC6GbZ1HdFhPJQVYgj9csXUCUipARAizlGGRDdF/LIpngiH92QjzMtp85SJVB37H1HWtPacR2NQeFmUR8T4GOJA75+0QZaMuFmh2cu6/JZmu00LmooLLmUTMLnkeAeym9JzXLWZn4Gjje3uxqnmQMVxyGc2y+VrlWeCPvOEmEieSKOG6KfXM02M8Qbk5cDyrH7Q1Nkl4q6L/vqcgXBtCm0yBizL/+Tqs3GoA4TTEJ2+04mv57a1Ogm/A80zjPf+NghO5UU49lKSZVJA6TK4hhg+1BiD/pbWGFIVTFUOsbHvuRypI7uWEm6q+dBiJpj3WqzOHRkYMwyjG62WJcK0ncKp36Z316MzYi9guTTk7s+6wg+AFc1cTz7Zj8dPdMfMAZJvlMjOwtt3CIv7Zv46ulZf+nhFzd88B6uTHaor0WpBK7QyjOut7tWLLsCNo2hq9xfVBtXc6uNCgmsNFBLKpkAGkJppdIt4jkrHPJX77s05g1ghdSbQQb/+Dx/KSU1TWzOHo0xO5rmcq0lzjjUQ87vED7VKS228Azkrda6bYFU/vJx374Fnq4YcULgP8hsMIXIxbYGgF1igdcGdnqY/58rCns0hb6KneU+wGmGGcm6Fukgt+j7c2a2N592XnoHluiw/yyTV2pYDeiRrV8FJ1+0KwC0kAWrLHNBu1DNkCgkDU7M+Go7aTrT30D0uGXWuPYX7UKZx8Sr2JWdybA5GYEbIDKY09itWSmN0f34hh2yxq9WUQdVXBsvpZk5sU12bcH6hKEfua2cq8b+yrFqaOXArhJQUCUHEbg2OlcxqoWcl7uQIIZR4uqPTgbupmCyMbcs6UGniSuUdddHAgL604VnouPF7LIyPfWG9Be4W8fU1VZplhORREyr+bV/9zgnRcYUpGF0bbO28f5IUid9VkpoyCzwLx4GsDM/K86uAaNGbcFpSEc7d12zLGCw6+oY43+JiEYqcbFKfFYx8SFRBiWXvROBXgpJrKpuU2QRMVC+8VHI2uOuFm30lIN3rIsyaw8aNY1JGoMbGn2oO8HncgyGPAvLy+Tn8+jxbzAe6K6goGVSSYKW5Lj/Xp29mOr2DKcPIKSA6PGNkMR4TcxW7CM6gU/46R9ChHJeR4HfOEzibN6giqDRRSGLFMuLK/JQi0A4rDeLqm29ILFomsIMRhZMmOZHauUoEiOJF08A2ubY+UhbJCBmQCxS1+3cjNF/fwYqextKu9qtA1vl/veKIBPu54nk/lRY2AR26FDRsbnk1GF6HEUejC24XmbuZmmIkoRAEKPVeGK00c2jUR+PbxQbylHYa0Uo50KlJCW42kyDpfbyH+kt0l2EB5cvX778yLCdrmFCCU9k5VowXljI/DOifKGILj5GEYWvfhZrB9z4B59EF3XF12MQBniOmeI4T2uLRfYpHylWV3w4zFbS3wchOHDrI0SFivGsBglnmKV3ISFToz/BVfipP2NkXSg8bpySODoFfSvdOxFvD+rwQ5JzJwH1wf/8d/QrHZDG3ffX/IxMtQu3pJTgqmbGIOjDae9XkZlhdDqDRrU+FKn7XnZADqpp2/NsBrsZMoXBRmChU90Zxj/dzC+50FpLXD2uVY2+Fr2EEg4e9zz0PC2GyLk6EjPQDITqtRwF+aYFwIYx9sTNtub8/3Vw493qKogkWvUyad9hnVZVDnHx4U59HHRxSkDnEJ5TtXhF87bwKl/buOLVrMap9qgAI6yfdq/b0sFpCf74G0Dx08CbOgBGRRItp/dSem26xVednlD36ZlySJRTB+A/G4ddemhwjdVLhCHKzKNAh7c2Av2aALA+Px4b1NeeqGVhKcEiqI5DnAWnN2mRg7cMKUeeB698yDuHJdmFobD6k1jG4iHRXO+SzVKcwQY9aHEh4rlMxVu5QdXAAiaklXJp4DHrn8Jg+U017MUHHL46bEJHvEQfQDj4BuNktzyhiF9mu3o+2GYPfyGummTSsyt2FjP7/tBmp66pL4OaDT00LXdW6TneDbZEpU7a8XsGKg+d6F2uo4ETF8T0O42wGZ17pJlN/kt31oKT6Ymh0SloWs+yn9GQxDN2s661M8P9OmVYGCQAomFBIbU5US1jTENYKClyTlkfTUDgLs99yK/lzH5OMNbSH1dVLrbsiP1EVern29N182JITfBQDCT0nxjbflWp9PcDlQKzEV5cUN1q9rb7k2ET9c30en1KDO6StPY46lew3U03b43vUvIjWbodIfNOJs2mKW1LR+K/LnFQBUN0sZse27CTWI09iDbvciNLb9QWLuVjyG6xgKhVV/o5Of4IcZ61ZT/dkAknh/mkTVsdZ2jTmA7JoxeqKf+THbR7k2IKb//jC3aHl9uBYgqLxZZB/RFvolFwCa9BFEzwnHiTlIfd59aKmMnOxXlsQ8qAYI69jzhRPBb9cgPOLkYgyiIveCtBs5nrKf5bdUjx/Z83cVH77+6n8lmfB+yLyQt2N80K5T0rjJKZnDk62Vyvc1/pCWkxrdkJtBN2TwKCR34QVf/1rDbv6a1rOk9MgLeKiT5I7CTKNUuqdXCRqvFg6HuSXk9x0WDiCuHQHTKkMmklaP7nKv9qc4xTSjbNHF2a1tUw4KZU7lruynE2cw3zGmh640l2efvZ0QGk5sJqqplLTZVQYwvs1j1L75mgxzkk9YHzJJYjF5CBteYZjiEeigfBm5p/THDYhBskgJL+PiH9mQAGGRApSNO+Z9V2I2fNSS7YnoLwZaOj0DPZp5tjeVmONKP4PF4W9SM7M5GGOeYfDdF4cTrcbsMsx2FITM+aFyXlN/yB1t8c+FI4CfmmY+qt0yanV9erccC10UwJNT1vT5pubi9zehn97OEw2PLlsjKYTbCAd3V8JJUNymaSx6Ztqh1/1co2LZbzsPKapW3N8SpgjuipyLpRstXORynSl1S/S2XebCY2VjgwoAuOaZHL4PWKm8y/fVIR6RpEWgICy3dZ+Eq1pR+JttAvRnUl4sUFMeE1q8iwpxfIguiqlt7FEKMX8xSfdvxlS4hlzXsshCMi6hiZWngs5/e/AjwK/x9NPusIoq74y+I/NRVIkv8EZpQhl+1B2g0MQLhcRe7mArfZInBEpAm3O9JcV13TDwT3hwD40FlMhuBAJ1+l/EjLebx2lW8jQAQRKFO/4a/LsvHIP0VGgF6Q9h2EuO0bFvqstRD59zEOKmg7yq7X/EcnLZOJLPeTyRz6vn4FUBSSuXVYkYbLJRklPMXyKpHP1MLQJW4VS33YB8PfyfSMuqucSlXmf9xSIgevV7qk+hB99z7/drEEUYI9psB23fg5fj6guVVK2W1JGCuWG+M8qpbkQVbtEzGEf7gkskZHzizYWBPQ11eVRS/lwHI4lwuR+AX7gF8ObhE9gAvxxaui5nbzu7fHHwO+ymWqcLy1hQl5nHMpGL+6XQhBLRNxrIhGXsTpD4fc9n9AOOmm3cLUvOKMUy3yZ0rf7li1/88vwXJB25f8YgrN6bamk/sfPC4yeU9Tg2kiIC5B5Ozt4KV7BZ9iPlYLaAf4z1HPQTdQbgWaFgLJ7SXfLvNGc0yX74Z4p0UDTIHn6JBPrLTyJEsxotDNkUep0Ujgv7R4PPF9gy7z/BMg8gKtjaLXvN8/KmSHcY9vUV0LCt29iUQCF9YAnMbec1m4T5+WV/t1DUKAwkMCYosXlJ4qaxcLLY5EgTV+7Jl9UiBpqC8UkunmlHXHGiecwm1UIs3egdA9jOONTuJ9zvdL5oN5jUzShe9uMXt12zY2h5in1iu4cE2YW8HFBnPZoXtpFDUJpTrNcBRoGOaaS7lEPCEU3ViusNhsHY+4aA9zWf3JrNrtvTHfXdXxwH7NrVZ7JcO5qynZn79zZfPDiIXilXcX/5ZAksA7Z5pH3HWttwG2R3ausSy/dEhakresCh9D15HAFp+Xw7y7m2ztsFzyiM2N34B5AWWCXwpSW7S9CgXKFYHXXeXmNqh+KPS2WybpjpUEtV9e7edf6Jn35YKhkZSkaxDWcWIW+2an1LQnAeQG9UMrFbLwKNrFsaHAVveL2nqawT2Z0ckMZvAaiFvoGv5V+wUsQhou28NkcQV5E3rfYj1IbXzDtC/rMiId72NBFJwkknSXnN04j33Z874rsTWEL+ItUiBB/KeOeMBI4TmcMTfwp1r9nCVYVPTK9yzxb12QC5o9g1/fiiKqevzS5u26cAHkpiObFbSyzTlUdnAokv8B04N7IMp04oH3Jv0z2+BDXHnrRPmYzY7qhnrMXmeS+NFOa2JxBlS27OdLonbIPdumJfQUnZBPaOGm55+1tV+5fJVKJRXScZtckcoMZsRPFYfyhGOUV9i7xw5u+ZVOmKzSaYgUQ4H+p0VIX+k5c2OIx6k14HDMaxPVIAOpc1pm5hzSEupk1tXQU2tRJKSzoQiBiMwxMwZiwh3khEae8mTLkWqEpew2t/y4TtNVKTs4MWRNaqd09kOhoi9TzSOM/efTNPPY6GU68lH12j4agGOsy5XIlnV+cOV0G+XMXQNOl5NHh/RQ38hHCJ55iKkFdktHb9QbZXkMyKziT1QuJ0AFRXIdfc71SgmX6yH65ZK/GthXVMqJvAdJndZsCR0JEQOHhc6ZgH136n2FiDCFkoYGZssW5iS4fiYV/CNhmkPyLrRlrCQ1Yvgf8d3PJgZH6VAW3BJM1dccfLxIM/vc0i6QXFHN6SFMmu7L/7QHupPG6BbgSR8LpSn6wXZAcpSma4CUUtMKj3ZSYvpjE8zSQ1MD+7vyamrvH41ZYnRimmzkLgOkkTQP84tzaOMqldXnJW5Bv13Qw/G7q15eumOhcIkYQghFUcJnnWNDDCPQc55U6t7hSqX4JFjaXwSPaxOTCMx4ypqTykhngK2WonSej3OG7a6DTFVS2+IjVJNsx2i4lUMHg4uTiyMT/FO8IkC5PJEYJnYoJIfJ2VL6rERjC07NB/k9eajg11SDCD9Qu5WVPtn8hFFwB95uRXAt0HzT7ve+S7FitwqH6nwwiYlR9+vZO1/tHuGcRSQXGBtlvkCRi1+cul5MejVzSkygy5Z4lhxkX5YFHnKZg4FV9KvOhXLFJKed7TrME1nd9dQT5u4eUPcASHcD2yTr8OeBsclBmA/6/9dRpN51PNvH2yCo3y9MgG44wtJPx5jGnBT3Am/wh5ptxQjC8BKU+NBav3TWueIKL6IQeE/cqzVIij7JVMX11pnE77w1ta4mFNc4TFFA0y4uYHgauG+ps4regshoeqKT/tfxNFCbAmYVl62oo4p/J3Q7g1FwOtHmYhS8XcXBEtLLazSSAspOBUEm3PzGmt5H0C1yYfWnrF7S8VshKkfBWaRxyU5zoPtf3RsfHdW9H4b8VTYqHDNuBXGMVMWJIZrezEES+vYzKwHecFUBI5JAf9AMSLroLXWJ0sfSQG/RK44krhpAsbdUcmDtTem37xcZHOYzEANppwY1oD9NQru8cGyDKDoYrbF0+jXWvAHmWZhJs9DYkKlfWg3ev2F6DE64LQEokLHj60ofjNAcYYoKjDa15eaCvy2aGhoqNWAPSdRhVkYKy2AkcbF7NkJOrTk0dcc9Sz5PjPiaExeDiQThDaQX78OpeBgaNGsBQnzZquMYgAaTzOMB9qfIKZ0smoDfno268pLHE5N0nqaRwFS3zgkHYAA2Uvzhoofc1Z4ZoCVZbvPF1rDP+ZblRsjPFjP7p0bpHvIcQwzZUfFDqe0D7C/BNNIMyEZb5qWu1Qv2Ji9fK41XcxGRAwBVdGeLI+/f+lYqoHdEyH8MrvdATeGwehfmIY0VEXGJNK73m6EVaI0odI7qkS/8Kz6ACwgrPNajGsfqIwX9W5xKSkkya14SmJpyAX+ks2nx+J5Ci3+H8n8CsKLtxgNhENB0QEVoXOXKzOazYHyEARpBNgbB9h9/ZbOzpydgHoghwmNBZ8EgwfCRaAYTQLze68zwd6b+gZlTsNPRiFqE+WOAilhMRZxK5kaNxlG31UxIByIus1tPpy8k+mcM6fS5EQvjE8lf9VR8hH7ncxWuczgGTr45IXf+u0Tg3CQV3rv9Do5HIC9BpXlW+lSoL8pvoZPROak1kCZFw+wRp61Y4fJJ9eEMSFV/RXzJWvJcreMS7yoiqvt7jlG7XjVhMFfRV6y7cbNhNgW2bykKDGNfrOqtLqWBnRGMiTec5NMRIT9vYXyHxy1LgfIk8/RXUZe4m4lxXUKihCWMqUEo7F82Q5QCpPAt6hEq5EJsBD1jvcqFZJUx5Qxx8WcuS2j+xXFlqDpyysnXsnXU+G+85TDz82Y171c94LhVUi2Y1OBkK/4C29NabSwZBSLUk7AAvhzh3PkvO/olQGG72yrOoACCDHAf2L+Pz3HSWyWrv33VlH5xFNoOQevqcmdnHcOsj87lAS2zm49EgS3iRd9iNB1YeCR0pVG94AiE7c/Wd59i8nwA6d77j7YZJJ4nT6Qw968kiTFhJ6dvSmMSWAFPZAc0EAmTZ+KtkFmMn/3WbiAHMbF1Lw4urwPvFa0cotkSrXPCeirTp2AO2eyGhRnLo6tTiTC84G1TY1YQC3HOekaokCp0A154+mEnIMqzhZTvvsVoWljJM/jhKluKOSqRYCxrgLklmhj8tse8fI3FBAQ6BK/r3NdQ3Z9j3n8Ny0nnBg8MNkJijBHXH6uWleadpRSm5Tbl+czChVURg+H/TlCb64vc0XZNQOb+5sVIo06G//AeyQrQrYsCIsVL5HNDOALB+894oPCq5NDh2W87c4Pm/W2tfovPEa4gSgh/5siQE7pcCQc/W2wVPAfWXEPmYF3iYqf7Ja/aKespjwMN2hDa6ycvdQB/LSGOnMdC5ox28aTS4hXp7j3R32UTHNUDpVs2MBlW4Gjn2IvBHoXgBi0PArFWA0dpnx2N3NgOxLVekYc8IBs5M7CVWnXC4MvjtEhtrb3vCyGoCJxJ7Si328/uQWE5yu75By0W9kaJ80u8SH+X1UYny1aCdAqUxGIbZ6Qk4oS/6QEKfilm1w/2F5IRDGjEuqKeXlfUIDIT2OymDhQxX1vz8sykRNZ6VkbfoATXes4aOTzg1SUT7hIMq/TzkunVy/EcOZxT36d3Nktx9XsvX4qwM8a5GlbAG4iL56OMW61IFAbl9sOrhu1ifhv3DVUpdtV8wub4w01nYZQWEufmWJOsd546gCVsFp3Z9ESL/zfh+VrRHQB6qTOpnNyvFLrS4T2zaIsOyo6O9s5MlJxAuZ1KQQiM2FhymQpr3dx88Ql/ibMXC16RedLbWRvxUrIe1y4Q1S2vHHljuCKgqVZFEvgFff2lb3XD/17q+6NvMk04/CoOVURkfosM4vSFj4GjasdkDbuRYpVzsoV/o5FSTOyz+IoYDoaG5vHKFcIpZ1PdAMduS8wE71fzoXHJ42KZG6RazkQiycNBg8fbFnpARhepRD0UuPcS4nJa1xZofoH0sylpoJ9TrTYuDs6EU7Yb0/rAZtBqb+lMqScpEDMIkQ4vIZuic8vjd0t/6iPBvYv5G9R4J5Q3P1/17NIIOX9JP9Wv9AtO1RgexwlRfBdVJTv6GOvauZLRjaOet3BwnjjL602l6g7F0pMZVVYCR6Ux4FqDnoy5+eeQNC/A7OtDzPhbyHi8/J++dqP/smug6rfuwH+DLrZr1UsG2i0D8EXk0JNTNvxwGOCV06H6J+BAAi31I7OmnQuD7Xet+1+LXcPN6A2aTosd38Hs4vhW0YcaAwPENFcVJse6FczLQE/vqgyrzcTlgDeeFjlx2NVKHRKRiMfA9LOG+02pfvjzH27kTRG3NgeCpYDUG9Iu51YfsEmRGeHPovpDMTkiHlbAR31GW6ceoJiiaYjRiRFFNUmK2WiuyjX4cnSRRLgwpuVoNdjV1xdB6MfyQxW7xexJUPDKZlPsgXWIlvRd11v97dBDjGK15L4V0f4P36u2t8nwBpkBWvStishYFRfeyihy7fgBgJLjNOvj85eWvR4bgtE9dUJEA2qeQ5R4YhZ4KKHOVJ2K6KaIDIHkplpXG2y4ApSAKRpEj4DdJV470jSaNg1GIg00HqfCLLTxclJC1bXpZfSmPiKBqKEQnboovNojXvoCQiad33+ZW0ewVBa943gz0OPLXWBmeIHVCzb11fIa55yYjtim2hNfim9saCwofo8xwH84vFrOWOHuHVpXefqzgf+pPIvsWFEL+25/VV+9parpJUO0SFzOb3j5ENLNW8DzmZZFWIFFU6eyeLQAy034a7DSY4dSn0DgS12TQp2HZ5yxMt7D+MdXa1lpgxtzNNr9186lO3vnuOr/z73vhKlezUf9Fxq9TGRX9hAtVm4LNBsUSvIJRQB1b3pwlrAwYLDgdA45EZL2rs4GROHSe+89/xeSpDyngQebCbCFdlGCpaf4LPoLMnk2bGfKFJAqtu8ir1fQt+PpMJR5JaRUaq3SMB7lA8QLJjysLHz1Egw/s6MezO/3dtQ9eUZyVMHtb1a6fW1kHoOQmWoOuscUnsS0rpfe9h+U7pRbsgJf9FPjBWej3GBsBocuq0C9dCJkzM52NyTHBb2VESNzMuzhgsnSBE+YugR6sUEuKxZ1kFyZhJ1Itn1wOYeD35+n1ScDfLdj0ixLNWc4O8iDvppJNNeZrr8pHyNOyY2R6XBFYjDKeMYW3hhKreYdAlQM+uMpAEjNhBfbGgaOgNWc3y0yRa4DF1D33DyprwIXoVWxxpSsW+PscACHVHpaixif6FiGixt63g9Hda7TldvL/gSo3O9g+5rPw++plu0qu/3JgepfP+PNIFpqbCZZQEDEkaBK3X39FrLK+Z9ISdBimT/R2t21mKW69OlJPDs82AiiJp+w03wN1JYquWzEeVvmMsbpq3uDz+dwjGiCmY/PLfAVP5xoohoHeuA1M0dZ1IODvqP8JDj1PyUwAAY9u8/mt9K7RdP/ssCdJHEWrcBcY0QEuVjdKOw9aEugisK8ruMnnr49HryDhphIHqcjLQdpkZi///Ew9BidewRrg7EgX/WNZkNjE0BjizWdo/DVv/35Zl9UmVgrK4cSQfLrPi3r88ProwvRcPhtiXUzaAKIDTLR4m2DvfBwXfF5nVCvBXW/K4i4ouuFt9lMi1a8dpC8AAFBCCW2xCrPaV2tqhXpFaPiZVYgMP01KDq4P8b7RyTOj1bwjl+RaRjmPl+cwY+FqulFMCF1WprXuMUZplmPfAhvcPqJMdzvQu04ItbU6cFiQU/tk6Qdjp+nzm4ibbgc+H+i+AJK/5ovMCTeBHE0RHrrgDaj7XFxiPi7I76Kt02+qnif0c/L0AohO85ialS57OGcAt3BPR7qu035BA2X42+rT1dAZ7qe+pT58nbQ4VwAMx6zg0HIpeTj5qBt2rhEP5hKkq6Gkm7x/8l3mTbVHlQilHvadotjb6vZI0WVspkkSdU6Wjq/HwA7AULm9FmTziSItiscHcaWVzRAGq/4rxBOoqF6y91g6Vd/HhkbsIh4tkeDi/AAQUj5A8iiSKNbUQjlx3Suw8xz3RDHTe7FLXlnBWSk9bTRPMy7DRgffRh2yesNDNx6TNseqw5HRbBPcLDz+Cte+4P0ukmHIFY0DI2CXWzsSwzk8s0B/X5FFIPIxVOYfemtaLPdzwV2KgkkjoS1FhOWAVtA3E/H197cYcpZeCPKJ2axrblSvw4vV/SsihtHvTreureXHhaLKPYP2gC6wjQrGbEluQbiYdE/g6wN3V9sQX6R46q0TNeMfBmiyEiK3sXf/bqvmcD/96VTEiqZGhicqf5ijTBh9AmK8l2WUtinPUdr9Vi56rWeBJwRQNgjANnOdZej3wcRi16JKuQx7l3jrdeEiA+juRjZLWizs+58QaewuV7uU+jie0bK68jGVO6Kh+IuKTWEfPtbCzZ8rrpa+ocpEFHvFqv98Yq38ZqAgSZeRP1PAYtMWksyxaYjsN9tIUQXTry7Y5JXFZB7qGaw8/5NG6eui/fShtAq1OgqsY4egXknYTk+BPAxIQ+kR7LQRkvmneBzTSl86oIYhBimC75CAuJNF+UE1ooAXXgm7RL1TROqEhydCOyxGMUzelZ14G3vG5JI9QqiWzV+tPKY0M7eQYOKLVj2GgRJAdfAjzY1aQr68B4AnXmaiBUfP0xoPXd8hKLWKBgs2J0hff5nwknbOCNgMlY+j3oZhPX8TBsA/2e9c24qWD30+2QP3LB5UNFNHSlTVeq+uMxsE2KjTuFpE3ZgJ2tNuXu0bGhNBzSOVjXQ5F2to+y6+Jes8Cne4K4JV/qGxsAr3HmoVEXx3VqXHRdylWTVFNX6I3CePZpbh+syTPWEm9yF09HQoo0s3MvVMrk8ZzdH4Ih20DwMFSprBa5KTuVJBKyqbwm2Aj2Pab9wgcRw9SQgvFGh1Dg8e5XNY3c0eU2UWzxTxbUFxas0CIzpKZkKFawnoRh6/jjNFkU8+ASAQIJYK5+yV4stRrWQT7cF0ES1fSSjYfmuOFrjFYLWhrOW8MoFa3fzxnVCKqProBklkMp0SWQHaVjY/957TTqriaMAGI0zxmTfYz86ZdKNtP9eSfSUmY5b6xPXi003AbQOpZBsLcS9/Zu/46XgYPZ23OTmHeYyyb2u0IuBWqwzmq2SButA0a1CPPJ/zwrPFil+8r2U3trRMUd5o6Q8hQjpzSA4FHllpQXJpoUnjnf/LiM+cpUS/PZPCObxatNYbqoPz62cfSPQqhdLI+evanEB1R/ljbNfvlGQCLhxFuCvy86vdwp9LGfFqMN1XGxk/KXN1ckmB3DVGRRKPTZV8LKLrjA497OjaOT/zZSR4TfciSOd2LV//owj2wSPXf43HUabwXxFAXkeYaV8FQ/JjccNCSW73Us9MShp8NM9YrXd9hZgslzWOherWuNArGboH0YKtWi6XpXPRSuaJORKuA6WeECjDQEHRB8VUMtnZqbn4asauR80yx6n5rs2ysbGTSjkzoGwaSVtDsNdKxBhrKaW4EdDtUHN2P3iF4dEqBhZTm3ueVzUBoys+Z54OiVe1jrlJVfVevPZ2D9pAGX+weQWNxa3sztIKo3Lzh1l1iQM4wO8ht2UEyORInh1GNtIUEGkr1SCSxWngc9sjMBw+q9wOqOtpEugYvilsIEHlUFeBrtKs/aVV96bemD5AMZ9P8UT4VEvJJX1x1MIa1zi8Kib4OlWVlsV5K+eZOJqdmpXLUF85Ze3/SYhR30TAVz2TljhD2r54lwIlwTuAADX8HhQrAELbo3lP016Jdx8RYCvk9Vu4KfoOKi95JZM0bh7KmrmlpGbBLULPlfPX3btYxwzhrI0BVSVFHdMZyOJvdszUgIvbjvdsstn07R6Dxh+CWsw1uNyzKLHmAiBWWG39NvhpAYVWocW72Tgyox8MsINhByL0fQuPVyrsoOumbGtQffZgpoQHMzYi/LgSEmejkjuztcSodpGW+4KX2ZI8rOJdtIN2cfD79kNUuMs9tF6PTwgIfCMKzsjCWlyVAXd0/G0grnq2jheJMPbF01LBBjceyynmy8zyql7Fv6QAu55FRv8lgmiSCCWqVYR7mY3p0DqN2swyyWJg//ukjLzGIRNaR2NtbisvDpcLTBWM1IB1N92E/UW5MW5+0IodIxKRa5Evq4pH5BGp3VUHDaiQVsRGjjuyEYwIewhoXrAz6NehSmO4ZHTVhuBzTuS/vP9iSHf768OU6TG3trTElcQIViSfE1P6kuV3OySagM3oiLJW1SNrcw7dnVKPaw+bAPEr0Wct6N1rvbslw/RDZodE56ASOErnpPNId+47vF385bhVnGDpOGKmuUWlNdw6pFejMnZBl/fosrBsAIo1bJfHPfmoCysS1qgMQZ60PRlYa6tz8NBUMzauhKy+EmNMkco97YMU8hIeEQtbdKqa9wlmm3PkZEyUt/GgYpJ2U8Qy2fu/RLYr/2rkd8jWWPmYjLKKuN2fe0F9bjkiGVjFaHn5LvgjqXgSLTUvHid/jbJKiII+pcgNzcxUWtG6MVdCafWalo1VWB96COaZx2G6JSp7OmszbXJoTa7UQvw6tFzikM2KVIxZJ6vBw80kFdtko0X/XBITooracLP/qHFrk+6A6Hau1sTtqVJ0u+6/OND5oo5w6dDCRivdwzDSFlMNUf2nW1/bjdC0tnzZ/3ZHJTAc6tmW/vi8mHiLrKO0Lprr5jN6q5cFNUZutE9GJiv1wnIwNqNRYFIDHc6ZLLtETM/vD9SPVqcoyJZSXmy7A9BHR27JdmU2Xe3+PspkAcqZZiXv85+w/Icsb4LBU0ASaIPSZlid7JCz0BXEE/mdtaUjMu341KjNpwYjpKtT4bKKxTvYBJJon6yg79O+0PxOAvtOmQOg78d0KRl3OxIQ3BTc9UA2EnFD7Oud2lVKoNcrFp6H7def6IIf0zl+fafjyqf0kFE8zWp9wsnEKU4tqll2WTwXsAWpT4/KAcEjtwzUFHbkAgiP1n62YbunrTWg+yrhldgatOKZLa2rss36UJQJ72htmNNbY83O7On481C8Idr3QKbQ2wHGHeeqCc4/4bn62WFZXaifBKGj43B4D2Isyx0FTmh1hYLbnYYKu/09uFBKXgY1BHNHejXyonuhS8+cvyK4E0xkhFaz1nmaVn17POlshFd/E17vuuxCvkQIBO83D+xLXK0NklEbPVommty2AcOviyAho6fuCkP1cVkgGjLPoe36AU1VrmThEbDlxwJXynwHMt45DuIjUC3lheZKoSDDuaAF8vO6tKZDeI1Kw+98mcLFVFwR2hW1iyxwmkgjQ0X7FiJXkvmyRs5wi0iPkVyMyW4G7bjVNvEg3SacU814OuPMCpEmFftLCcNdPrMV4pE4JlUGIxIi25Njw5vjL5kqVTq1WZyvJ+oka7agm9NncsVQ19MbDK92hdhWGRHcjF7YZ9f1VmUzBYY6m2U2N/BbM9vLLvHx3Yb+rJuKPjVNneasJrrIvMkLUZhx+3lvGBqCevXJIf8EK0nh1jKRN1AaZkJ3MkC3uBNDq7XAgfpGGm5N7xI+93PJ7dFf9mE/m2v2xhrsFHy0gv4aalwFAXhgD55eUm0OMYr1ZTykD1dT2NDe4ZL3EWPXnKXm9HBUhQjnMbTTOq/BfJf3S1MZosUa5B270aYwxu2evkUXAKQcd7YjAD6gY3HiJsPYBHci21I66AyfVFI8Wq+ug7fhfi0iWrWbM9oNDxACybxdHiQG+aDJVMZlKj5v+FH0AOpY9iu/LAV10PlSe1rROulI470gBvn+6uPncf3r7P1LtkTbNMpxWGOGSsEWhGTyrYulowpAcYJbmkfH7TEmQGuRCH2KfSadIZBItGcRuPtO0x0BJDq0zhQLF2BvoJl0QP5iw9BpntFl3mkUnMsuqkvTeNsId8Lzq2lAiG5L5X0xovXPTI5YLaAI4/naGjGuX4SqJDeYi2xgFi6vIeeQR/F9m9YJ5pREUNqkuHEWRDV88CCI5XU+EENC2aHaI+Aj2+AELhDf0vfm27fquFovHzc8OjTkUs5qA6CvenfA0TpnBDlgEhri665gFWoo2FpxWlUtok2sxNj3KxMIstsqW+SJfgZ1uMxyflc9PSDYiUVg1oaLUHlDCXkDR4JjBImUmQ7dcnnXfzfWLs6Wi3CjelL67gtLdKMJzWFY/T7Ed+oLApRpMHk42mCowLM9o5fC2vjskJ7HMaflOdexyF0XoW+JS2dJZzMMPgYJGqe0C4vPMeFdaB4YSyAk67cL1mDYjJZDDFXNEgxKSEq+x/TUBVl6j4lR4VR0+QC9CJtWj7viuOBH2WiRf9N7ewigbTFtDeJBnDVChQ9VKeAmc+TgjbG4wUwFPpdvv0y4KGZjA2rnr24L8mJI9HJf5fbZ8C6A6WHhIZtKg1WDfOj9WkdstAJFTGrOFqtIB1W/MXp8V7m74ds9W5vtMjtvvgaFXCv2E1wYng+qStKipNbJLvf7ajzZC3iaMLz+tkx9zIPBvQszUtzqePEgaqoT7OeLbj1lpj9/xbbYtRVIjhpDCrR33ap63XXGh/bjTYVBf/GA6VVqjMcjnvNHqkyNOZc61LEOdmMb25XwTffxk36eVfekIgnG90/BSnXmMW998qEgZ3aCq4fbgQqFPGRr6jQS4AVcyoV/aWOJu2O6rfEwHzTDoMSpH5u8SGcoXutHlNuj4qz6bRp21k6A3WeKrTnpiNj2rv62m8+hIjgnTGzXVEY55s3Np7YX3rx6MiXTnA3f2Qr86Ud07vOQ+1de/kulrpsvjnq76KDt7yXD6Lq3Dlll9IZoR0YmZANwHOhYwi1H7efm7g6aJ0xYobrLPl5Q+igM7Ct3O3bPZ2macs02z9GoGXIo93MQhimvx9d/n4EgWvJQLDNhIFVKYfAbRn+tLZP0C79Zvp+DUpf73Pl5k27inXx4SwfEQYYlBgWEF4yhV8jBlhtEjW5fR/6DD7We5QzIIsJ6AimiJkpPPJ0Ht8pohEZI4cQBWDN8R3MpcCJvNLX90D0IznnFjPHDvPtIdK4OBCoanIIBACxQrCtDGWVimC7LY9URx8+uu2OSqefK5OS3gJhf7G8Ex1+ZcTr+NflW6jDYpOcujYm9MgvRMwc/GtXSfMfGx0MaXEKrKRRoaeneoKnCA1AKNJBqq3mJ0uNWPEUvCMfY9xTmfu8tXZGOYSakMQMOnf78QtHWOPbCJZ5uqia/YTIrRHtOY9fzcZTmvoyT161B5dHrK5q8YIdIHBku1ulnLi6ZgURhfMkV6aCVu2KCf8Y1zpXegu36T1/TqijyHDa/sGxLw3uoiJY1S94CakIoQgCzeUIx02KUZAj+tuztAdIWlfk1fYVUeASdEif8G79dD87A9Qwz58296Des5elknDy7+ICrbmSRBafsPOYQ9YyfXLcTaeuBxym1kkYMCDOJthFrK00eOON7hLO9dos2d599mXs9qwuB/+P8tIRdh814BcCwuhGlYzpp+d5OLQZGPazZzAWA4x4Uxhl6j1fj69RefkKPFMcuicwwWaibn8Ui4m4+gcmwCDAWjyWI6zEgW6hvgCidCykMVyojuxQxUQJ8X1MctSZ5UbMc6/AD7uuNgfxMDJ+rXnwg78SZUQ213MjeIQ5aS5FTSHZySRCrGauDpp8mn9wC1CNnz7KFC0Fl7hpSFto5qzYbEW3tJ4DFtR5GEsXVApttOaIMTvS3I1cRCWiLTypEiA3afoGn1itWFPoh7S9zw2yc/I8/ht3knv3GEdtuxuynZYxY8w7SLG7DPlqEnhSITRhJMOOwZIsDc2ekYyV6D6abeVwqJspB7aensnWYHDkNMJZpaTopGZB6X3JI4cB3VXllQ5GGrqY9LfTLWucwzuZOJIsOkH7V4go/hc9q1MaYczyM1eiKiR7Y3CXMUY1bwp2LjfWGkEhlTDZ7itwQKYwbGbs+gWYsoh45B+Wt0tqjJ5+lXwAo4utb5xRKAQsz4yVHnlLPHkXASw4RDac1oCmEwcq4GNpFyxHrxEgQE1PkjuncFtaellSC3vkLHhPZDY6X3kXzysiWyd83Viq+T1WEH2BbXn6hwHSFgRTm0a8q98B6TShMIEdw/+RtwcAJ6Mwl5BzE/DBbj2DPpmHVJU2PSimlw7Af1qvxGZnsCFGnpI2PaMeoLqWvWf7bLSvK1LghUvvHh5v/kJGvQygUFY5gXHCa8gM4fzq6E/9DbEYlqdR3LeB73UskEG0m7d0hQJ+iLk105/Qsq/m9GYuzDb1nLC0C8DcCpdxxLY6VvlOmW9QnX4FoZna11Z4lsGRki/KYaiPZ792WLs6ZwnLZEkfFaCl2XKC8DvoI6vOqpn73s354z3qck5/TcZfWdxPUbw02ZgKOcfYmZKL8GUedATokKPkokkTnfB3FVtBMevaIeSp+G1JK/uWAAvh9lT5l3WXhNd77qy3ayZb7MOjtEHZn+8lppefjY9iwZvYON/R3+PWWSX6OV6Ksol+6ZF1WowQJ7sJg6pOqEyb5PAAt0hnZ+vUANgnnBK/ltEfcP3wpVwgdrUpB3Sptt5JhZTC3ApixWnA/eu30sOrLyHX69KRfuaN5E/a4Nz+CpA0c+AguPpxOyMSJfmrWZA2ivmr8b++GBI4jr2eRR686M3UgM8XM3YaPSGcOmqPuNfHEeI944PS/Ow5ANKoCs2zKKBlL+gEivT54BXtc5WCgK0zpm6EySYrjP/sFIDtiZumUlwHPrJZrNe4jaNtOqsh8BxmlbJ27msiq7jTEr7Yyc+fFEn0JwveX92mYLR5l0d9Sj+23iAqCjOakG2p8+8tAjNDio/INqPPXnIrTgsND/9pwODH0/sZwYoTTG2H9qpyjB+CM2p4f/UFhpytvHCp4pS8rnegOq7dI8Aqo1qmRw9/MWLbigcd31Uu9kNvHDSwB5wBpEq2F49mKmgS3VUkKV+4c5oLBpFJSXWBI7DljC2LoqgD5NFECvpjEFc23uAsw2ddjYH2hKhfRSAXUFVi11gyEGNZfbSOKcUTR4LET9n+KXSXaP8HqF2E1aTlph2WNC3OqyAlYj6MHT6oktqlYyqD8t3/Y1z45oJs2zSloVvGVO1FyuSvQmzwVWEtmplkA+RoLck/LC2L8UJxK4voPffamqNse8rSzCv55Y5+Wa0SqrbWOIzyF+S8Y0sshW53dYJ8rIgEtnphd29Tc2DLjURb6HH0FxHQL2SfShGt0YswBZ9F71/ZgZ8Ksk+eg+IK4XKAcHM66V3dUt5u4D47Q4oeG+1NbDChHhzPM92i46xuW+T5P23RtMmgYM1kNCIy53c/UK6gdMgWRdq2J6ziMTIHvR4+ENztvdemVU92CubK9xreWvwVHpH5r3D4T69ALOf0GlIfiD+gS0Ysxo7ad8w4ea0zkkjp1oWEatDgUqusLXkedfGO3DST4MWXCCyrgjVbt018+3hq8jTwNsg3TBRgAdfWYuiMMC36DzD7CxhUA15mQH567weFz4TuONXoEaVTtXX18jRLm1PYzueydQF1JTFNks2G/a7zDSopF7wLc3/LSZxZS7xiCPfm80CURrrJMA0C9qugLHcEoBpu4ax/Fk2iF5GKmJr8UuWmV+ooMZ9ahVCMdUN0iUGf8jN65qRtZqWu+YvdB4GA9IDkZmhInC0YAQ=="}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"497a2ad3-38df-4092-9c3d-eaa2c7d68381","uuid":"a1b12dd6-f110-42a0-ad9c-1d7205c31924"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "off", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1", - "run_number": 1, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:18:30.718245+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:28:34.152770+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-5xg4xitj","session_id":"497a2ad3-38df-4092-9c3d-eaa2c7d68381","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"1d549199-cc3f-4224-acf1-c8beb7db9738","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01Xv7PS9zhnrC2PJwGTdABou","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris game with all standard mechanics. I'll create the project structure with TypeScript and use a simple HTML canvas for rendering.\n\nLet me plan the structure:\n1. `index.html` - Main HTML file\n2. `src/tetris.ts` - Main game logic in TypeScript\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript config\n\nOr I could keep it simpler and just create an HTML file with inline TypeScript compiled to JavaScript. \n\nBut since they specifically asked for TypeScript, I should use actual TypeScript with compilation. I'll set up a proper project with package.json, tsconfig.json, and organize the game logic in src/game.ts with an HTML entry point. For the game itself, I need to implement the seven standard Tetrominoes with their rotation states, a 10x20 grid, piece movement and rotation mechanics with wall kicks, line clearing detection, and the classic Nintendo scoring system.\n\nWriting Tetris game code... I'm planning out the full Tetris game structure with separate files for logic, HTML, and config. I'll render everything on a single canvas with the game board on the left (10x20 cells at 30px each) and a side panel on the right showing the next piece, hold piece, score, level, and lines cleared. Now I'm defining the core constants and starting to build out the game logic.\n\nDefining tetromino colors and shapes... Defining the rotation states for the remaining Tetris pieces...\n\nNow I'm planning the overall structure for the browser game—I'll need an HTML file with a canvas element, a TypeScript source file for the game logic, and a package.json to handle the build and development setup.\n\nWriting the TypeScript implementation... Defining the tetromino shapes... Defining the rotation states for the remaining Tetris pieces... Defining wall kick data... I'm setting up the full Tetris implementation with TypeScript, HTML, and configuration files, using a Canvas-based game board with a 10x20 grid and a side panel for game info like score and next piece preview.\n\nDefining the tetromino shapes... Writing the complete Tetris implementation... Setting up the type definitions and game constants...\n\nDefining the tetromino shapes for all rotation states... Defining the rotation states for the remaining Tetris pieces... Defining the rotation states for more Tetris pieces... Defining the wall kick offset data... Defining wall kick offset tables... Setting up the game class properties...\n\nI'm initializing the canvas dimensions based on the board size and side panel width, then creating an empty board, filling the piece bag using a 7-bag randomizer with Fisher-Yates shuffle, queuing up the next pieces, spawning the first piece, and starting the game loop with input controls. Setting up the spawned piece with its initial position and rotation, then checking if that spawn position is valid to determine if the game is over.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"497a2ad3-38df-4092-9c3d-eaa2c7d68381","uuid":"a1b12dd6-f110-42a0-ad9c-1d7205c31924"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json @@ -1 +0,0 @@ -{"type":"result","subtype":"error_max_budget_usd","duration_ms":464237,"duration_api_ms":100029,"is_error":true,"num_turns":1,"stop_reason":"tool_use","session_id":"3b99c715-a4e2-4f7d-a850-28cfa0db714a","total_cost_usd":0.58716495,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"output_tokens":8000,"server_tool_use":{"web_search_requests":0,"web_fetch_requests":0},"service_tier":"standard","cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":487},"inference_geo":"","iterations":[],"speed":"standard"},"modelUsage":{"claude-sonnet-4-6":{"inputTokens":6,"outputTokens":38842,"cacheReadInputTokens":8969,"cacheCreationInputTokens":487,"webSearchRequests":0,"costUSD":0.58716495,"contextWindow":200000,"maxOutputTokens":32000}},"permission_denials":[],"fast_mode_state":"off","uuid":"e81e3da9-0f8c-4343-9c0b-6530fc5228e2","errors":["Reached maximum budget ($0.5)"]} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "off", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3", - "run_number": 3, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:21:27.461359+00:00", - "wall_time_seconds": 464, - "exit_code": 1, - "completed_at": "2026-04-03T21:29:16.067530+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=off_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl @@ -1,7 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-fzndjvgb","session_id":"3b99c715-a4e2-4f7d-a850-28cfa0db714a","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"c24d17bc-fd99-4c59-87e9-c9df63ca56ea","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01T7PyndD31cRz6ogiAmRWsc","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game in TypeScript that runs in the browser. I'll create a well-structured implementation with all the standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - Main HTML file\n2. `src/tetris.ts` - Main TypeScript file with all game logic\n3. `tsconfig.json` - TypeScript configuration\n4. `package.json` - Package configuration\n\nThe game will include:\n- All 7 standard Tetrominos (I, O, T, S, Z, J, L)\n- Piece rotation (with wall kicks)\n\n\n- Line clearing and scoring based on lines cleared\n- Increasing speed as levels progress\n- Keyboard controls for movement and rotation\n- Next piece preview, hold piece functionality, and ghost piece display\n- Score, level, and lines counters\n\nI'll set up a proper project structure with TypeScript compilation...\n\nWriting game implementation... Defining the Tetris constants and piece data... Defining the rotation states for the remaining Tetris pieces... Defining tetromino rotations...\n\nNow I'm deciding on the best way to set up the project—whether to use a build tool or keep it simple with inline compilation. I think the cleanest approach is to write TypeScript and compile it directly in the browser without needing a complex build setup.\n\nActually, let me reconsider. Setting up a proper project structure with TypeScript, a build script, and npm makes more sense for maintainability. I'll create a package.json with a build script, a tsconfig for TypeScript compilation, and organize the source files properly so the user can just run npm install and npm run build to get everything working.\n\nWriting the full Tetris implementation... Writing the HTML and CSS structure... I'm defining the core game class with properties for tracking the board state, current and next pieces, score, level, and game status. The constructor will initialize everything, and I'll have methods for starting the game, updating game logic each frame, rendering to the canvas, and handling player input. Now I'm working through the wall kick system for piece rotation, implementing the standard SRS rules with different kick data for the I-piece versus other tetromino types. Now I'm looking at the wall kick data for the I-piece, which has different offset values for each rotation transition compared to the standard pieces. I'm listing out all the wall kick offset combinations for different rotation transitions, but I realize I'm making this too complicated. Let me simplify and just implement basic rotation with a couple of straightforward wall kick attempts instead of the full SRS system.\n\nI'll try rotating in place first, then if that's blocked, shift left or right by one or two cells to find a valid position. This should feel responsive enough for a playable game. Now I'm ready to start coding the actual implementation across multiple files: the HTML entry point, TypeScript configuration, package setup, and the main game logic file.\n\nFor the visual design, I'm going with a dark theme using a deep navy background, a subtle grid on the board, and colorful pieces with gradient effects to make them pop against the dark backdrop. The UI panel on the right will be clean and minimal.\n\nWriting the TypeScript game logic... I'm settling on defining each piece as an array of 4x4 matrices, where each matrix represents one rotation state, with 1s marking the filled cells and 0s for empty space.\n\nDefining piece rotations... Defining the rotation states for the remaining Tetris pieces... Finishing up the piece rotation definitions, then moving on to spawn logic where pieces appear centered at the top of the board, with the I and O pieces positioned slightly lower to account for their empty rows. Now I'm writing out the full TypeScript implementation with a 7-bag randomizer for piece selection.\n\nI'm planning the core game mechanics: ghost piece preview, hold functionality, basic wall kick rotation, lock delay before pieces settle, and SRS rotation system. For scoring I'll use the classic Nintendo formula scaling with level, and for gravity I'm implementing the Game Boy Tetris speed curve where drop intervals get progressively faster as levels increase.\n\nWriting the complete game logic... Writing the game code... Defining the rotation states for the remaining piece types... I'm realizing the piece definitions need to be standardized—the O piece is 2×2 while others are 3×3, which could cause problems. Instead of using fixed grid sizes, I'll switch to storing each piece as an array of [row, col] offset pairs relative to the piece's origin, which is much cleaner to work with.\n\nDefining piece cells with offsets... Defining the rotation states for the remaining tetromino pieces...\n\nNow I'm thinking about the spawn positions—the I piece needs to be centered horizontally on the 10-wide board, so it starts at column 3, while the other pieces will have their own positioning logic. I need to adjust the spawn position so pieces start in the hidden area above the visible board rather than at row 0.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"3b99c715-a4e2-4f7d-a850-28cfa0db714a","uuid":"aa6b75e0-af75-4280-9654-a6c1bf06b059"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01V9pBQyp58tsgNHx7TjPXPE","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in a browser using TypeScript. Let me build a complete Tetris game with:\n\n1. All standard Tetris pieces (I, O, T, S, Z, J, L)\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls (arrow keys for movement, up arrow or Z for rotation)\n\nI'll create a TypeScript project with:\n- `index.html` - the HTML file\n- `src/game.ts` - the main game logic\n- `tsconfig.json` - TypeScript configuration\n\n\n- `package.json` - for building\n\nNow I'm designing the game structure: a 10x20 board with all seven standard Tetris pieces, each with their own colors and rotation states. I'll implement line clearing with a scoring system that multiplies points by the current level, and keyboard controls for movement, rotation, and dropping pieces.\n\nFor scoring, I'm setting up a progression where clearing four lines gives 800 points per level, with the level advancing every 10 lines cleared and the game speed increasing accordingly.\n\nI'll organize this as a TypeScript project with separate files for the HTML, game logic, and configuration, then compile it down to JavaScript for the browser.\n\nDefining the piece shapes and colors... Setting up the game constants and piece definitions...\n\nNow I'm planning the project structure with TypeScript configuration, HTML entry point, and the main game logic file. I'll organize it cleanly with package.json, tsconfig.json, and the game implementation in a separate source file.\n\nFor the Tetris pieces, I'm defining the standard SRS rotation system with the classic I, O, T, S, Z, J, and L shapes, then implementing the game constants like grid dimensions, block size, and color mappings for each piece type.\n\nWriting the game engine... Defining the piece shapes... Defining the Tetris piece rotations... I'm laying out the project structure with TypeScript configuration and setting up the core game mechanics—a standard 10x20 Tetris board with all seven piece types, rotation controls, ghost piece preview, and hard/soft drop functionality. The scoring system scales with level, lines clear with animation, and I'm including hold piece mechanics and game over detection with restart capability.\n\nWriting the game logic... Defining the ActivePiece class to manage individual tetromino pieces with their position, rotation, and color properties.\n\nNow I'm thinking through the overall game architecture more carefully—the board as a 2D grid tracking filled cells, collision detection between the active piece and existing blocks or boundaries, merging pieces into the board when they land, clearing complete rows, and implementing scoring with level progression that increases speed every 10 lines cleared.\n\nWriting the complete Tetris implementation... Writing the HTML structure... Writing the game logic... Writing the complete Tetris implementation... Defining the piece shapes for each Tetris piece type and setting up the scoring system for line clears.\n\nNow I'm writing utility functions to handle the game mechanics—calculating how quickly pieces drop based on the current level, and implementing rotation logic to spin pieces clockwise and counter-clockwise.\n\nDefining the Piece interface and helper functions...\n\nNow I'm implementing a 7-bag randomizer for piece selection, which ensures each piece type appears exactly once before reshuffling, and then starting to set up the main Tetris game class with canvas rendering.\n\nSetting up the game state... Setting up the hold canvas and initializing the game board, then loading the high score from storage and attaching keyboard event listeners before drawing the initial state.\n\nNow I'm resetting the board and game state for a new game—creating a fresh piece bag, zeroing out the score and level, spawning the first piece, and starting the game loop with requestAnimationFrame.\n\nContinuing with the spawn logic...\n\nI'm checking if the new piece can be placed at its spawn position, and if not, the game ends. Then I'm validating piece positions by iterating through the shape matrix to ensure all occupied cells stay within bounds and don't collide with existing blocks on the board. After that, I'm merging the current piece onto the board by placing its color values at the appropriate grid positions, and finally scanning through rows to identify which ones are completely filled so they can be cleared.\n\nNow I'm implementing the line-clearing logic and score calculation—removing full rows and shifting the board down, then updating the score based on how many lines were cleared and adjusting the level accordingly.\n\nNow I'm handling the piece dropping mechanics: the regular drop moves the piece down one row if possible, otherwise it merges the piece onto the board, clears any completed lines, updates the score, and spawns a new piece. The hard drop instantly moves the piece to the bottom and awards bonus points for the distance traveled.\n\nFor rotation, I'm implementing wall kick logic that tries to rotate the piece and if it collides, attempts several horizontal offsets to find a valid position.\n\nNow I'm handling the hold mechanic, which swaps the current piece with a held piece or stores it if nothing's held yet, and I'm also working on the ghost piece logic that shows where the current piece would land.\n\nContinuing with game controls... Writing game loop logic...\n\nNow I'm implementing the block rendering function that fills in each tetromino piece with a color, then adds highlights and shadows to give it a 3D appearance. Still writing the rendering logic... Drawing the current piece and handling game state overlays...\n\nNow I'm finishing the overlay rendering method that darkens the screen and displays centered text for different game states, then moving into the preview piece drawing logic. Writing component methods...\n\nNow I'm finishing up the game class with the high score persistence logic, then I need to set up the HTML file with styling and the build configuration so the user can actually run this locally. Setting up the build configuration...\n\nNow I'm working through the dimensions for the game board and preview canvas to make sure everything fits properly on screen.\n\nRefining the game loop logic... I'm planning out the visual design with a dark navy background and the classic Tetris color palette for each piece type, plus some gradient effects to make the blocks look polished. The I piece needs special handling for rotation since it has a 4x4 bounding box, but a simple matrix rotation would just flip between 1x4 and 4x1 matrices. I'll define the four rotation states explicitly rather than computing them dynamically to match the standard Tetris layout.\n\nFor now, I'll keep the implementation simple with basic rotation and accept minor centering offsets—the game will still be fully playable without implementing full SRS wall kick behavior.\n\nNow I'm ready to write the actual code. I'll create the project files: `package.json`, `tsconfig.json`, `index.html`, and the main game logic in TypeScript. I want to make sure the styling looks polished too, so I'm setting up a dark theme with proper layout and typography.\n\nWriting the stylesheet... I'm setting up the styling for the game panels and controls—defining how the next piece preview and hold box display, along with the control instructions text styling.\n\nNow I'm ready to write out the full implementation. I'll handle the piece rotation logic by defining the tetromino shapes as 2D arrays and rotating them using matrix operations, keeping the pieces centered after each rotation.\n\nFor spawning, I need to calculate the correct x position for each piece type based on the board width, and I'm deciding whether to start pieces at y=0 or y=-1 depending on the shape to match standard Tetris behavior.\n\nNow I'm writing the game logic code... Setting up the scoring system and helper functions for the game mechanics. I'm defining the point values for clearing lines at different quantities, then implementing utilities to calculate drop speed based on difficulty level and rotate pieces clockwise on the grid.\n\nNow I'm handling counter-clockwise rotation by chaining three clockwise rotations together, then setting up a randomizer class that uses a 7-bag system to ensure fair piece distribution—it shuffles all seven piece types and dispenses them one at a time before refilling the bag.\n\nDefining the Piece interface and game state... Setting up the constructor to grab canvas contexts and DOM elements from the page, then initializing the board state and loading the high score from local storage before refreshing the UI.\n\nNow I'm attaching a keyboard listener and drawing the initial game state, then defining helper methods for the board—creating an empty grid and validating whether a piece can move to a new position by checking bounds and collision detection.\n\nImplementing the merge logic to lock the current piece onto the board, and the sweep function to detect and clear completed rows while shifting everything down. Writing game mechanics... I'm finishing up the hold piece logic by storing the current piece type, then moving into the ghost piece calculation which drops a copy of the current piece to show where it would land. After that, I'm initializing the game state in the start method by resetting the board, bag, score, level, and line counter.\n\nNow I'm setting up the game loop with the animation frame callback, which checks if the game is over or paused, calculates the time delta since the last frame, and triggers automatic piece drops based on the level's drop interval.\n\nStill writing game loop... Writing input handlers... Writing the drawing methods... Drawing the ghost piece with semi-transparent styling, then rendering the active falling piece on top of it.\n\nNow I'm handling the overlay states—checking if the game hasn't started, is over, or paused, and displaying the appropriate message with a dark semi-transparent background covering the board.\n\nStyling the overlay text... Writing the rendering method...\n\nNow I'm setting up the draw pipeline to render the game board and preview windows, then updating the UI to display the current score, level, and line count. I need to handle saving the high score when appropriate.\n\nBuilding the HTML structure... Still writing styles... Building the HTML structure... Finishing up the HTML structure with panels for lines cleared, then setting up the TypeScript configuration to compile the game code to ES2017 with strict type checking, and defining the basic project metadata in package.json.\n\nNow I'm verifying the canvas dimensions—the main board should be 300x600 pixels based on the grid and block size, and the preview windows at 120x120 give enough space for any tetromino. I need to trace through the hold piece logic to make sure swapping works correctly when there's no previously held piece. I'm realizing there's a subtle issue with how `spawn` and `holdPiece` interact. When `holdPiece` is called without a held piece, it uses the same logic as `spawn` to set the current and next pieces, but I need to make sure the flow is consistent across both functions and that `canHold` is being reset properly in all cases. I'm replacing current with next, and generating a new next.\n\nBut I also need to set canHold to false after holding, and I'm doing that. But I need to make sure the canHold reset happens in `spawn` (when a new piece spawns, canHold resets to true). That's already there.\n\nWait, in `holdPiece`, I'm not calling `spawn` - I'm directly setting `this.current`. So `canHold` won't be automatically reset. I need to be careful about this.\n\nThe flow for hold:\n1. Player presses C\n2. `holdPiece()` is called\n3. Current piece is swapped with held piece (or next if no held)\n4. `canHold = false`\n5. Player plays the new current piece\n6. When it lands, `land()` is called → `spawn()` is called\n7. In `spawn()`, `canHold = true` is set\n\nThis is the correct flow. The player can only hold once per piece (can't hold the piece they just got from hold). This is reset when a new piece spawns.\n\nOK, the logic looks correct. Now I need to write the files. One more thing: in the `softDrop` function, I'm both dropping and incrementing score, but the score increment should only happen when the user explicitly presses down, not during automatic drop. I'm separating these by having `autoFall` just move the piece down, while `softDrop` moves it down and adds to the score.\n\nRefining the approach: I'll have three distinct functions - `drop` for automatic gravity with no score bonus, `softDrop` for manual down presses that add 1 point per row, and `hardDrop` for space bar that adds 2 points per row. Implementing these separate functions...\n\nAlso need to add null checks in the key handler to prevent errors when there's no active piece.\n\nI should reset the drop accumulator after holding a piece so the new piece doesn't immediately land if the counter was already high.\n\nNow I'm verifying the piece initialization flow—after `start()` is called, both `current` and `next` are guaranteed to be set, so when `holdPiece` swaps pieces, there's always a valid `next` to assign to `current`.\n\nLet me trace through the `sweep` function to make sure the line-clearing logic is sound. It iterates from the bottom row upward, and when it finds a complete row, it removes it and adds a blank row at the top, then increments the row counter to recheck that same index since a new row has shifted down into it. Tracing through the logic, when I increment r inside the loop body and then the for loop decrements it, I effectively stay at the same row index to recheck it after the splice operation. This means consecutive full rows get handled correctly—each one gets removed and replaced with an empty row, and the loop naturally progresses once no more full rows exist at that position.\n\nThe implementation looks solid. I should also verify the `softDrop` behavior when it lands a piece—if it triggers `spawn()` and the game ends, `spawn()` will set the game over flag and redraw, but then the keyboard handler will call `draw()` again, which is just a redundant render and not an issue.\n\nNow I'm ready to write out all the final files.\n\nI need to set up the project structure with `package.json`, `tsconfig.json`, `index.html`, and the main game file, then compile everything. One thing to keep in mind is making sure the canvas dimensions in the HTML match what the TypeScript expects—the board needs to be 300x600 pixels, and both the next and hold previews need to be 120x120 pixels.\n\nWriting the project files... I'm checking the canvas dimensions and verifying they match across HTML and TypeScript—the board is 300x600 and the preview canvases are 120x120, which all check out. Looking at the preview grid logic, I realize the I piece centering might be slightly off since a 5x5 preview grid with a 1x4 piece doesn't divide evenly, leaving it flush to one side rather than perfectly centered. I'm realizing I should switch to pixel-based coordinates for the preview drawing instead of grid coordinates, which would let me handle the centering math more cleanly without worrying about fractional grid positions. Writing the complete implementation... Setting up the Tetris piece definitions with their colors and shapes, then defining helper functions for game mechanics like calculating drop speed based on level and rotating pieces clockwise.\n\nNow I'm implementing a 7-bag randomizer class that ensures each of the seven Tetris piece types appears exactly once before reshuffling, using Fisher-Yates shuffling to pick the next piece.\n\nDefining the Piece interface and a factory function to create new pieces with their initial position centered at the top of the board, then setting up the main Tetris game class with canvas contexts for the board, next piece preview, and hold piece display.\n\nNow I'm establishing the game state properties—tracking the current and next pieces, the hold queue, the game board itself, score metrics, and various flags for game status like whether it's started, paused, or over, plus timing variables for the drop acceleration.\n\nSetting up the constructor to grab the canvas contexts and DOM elements, loading the high score from localStorage, initializing an empty board, and wiring up keyboard input...\n\nNow I'm defining helper methods for the board logic, starting with a function that creates an empty grid and another that validates whether a piece can occupy a given position by checking bounds and collision detection.\n\nI'm also implementing the merge operation that locks the current piece onto the board by copying its colored cells, and a sweep function that clears completed rows and shifts the remaining ones down.\n\nNow I'm handling piece spawning, where I pull the next piece from the queue and check if it fits—if not, the game ends. When a piece lands, I merge it, clear any completed lines, and update the score and level based on how many lines were cleared.\n\nContinuing with the movement logic...\n\nNow I'm implementing the hard drop to instantly place the piece while awarding points, then handling rotation with wall kick offsets to allow pieces to rotate near boundaries, and finally the hold mechanic to swap the current piece with a stored one. Writing game initialization...\n\nNow I'm handling the game loop with delta time calculations to trigger automatic piece drops based on the current level, then setting up keyboard controls to manage game state like pausing and restarting.\n\nHandling keyboard input for piece movement and rotation...\n\nNow I'm setting up the rendering system with a function to draw individual blocks on the canvas, adding highlights and shading effects.\n\nContinuing with the shape rendering...\n\nNow I'm setting up the main render method that handles drawing the game board, the next piece preview, and the held piece display. For the board itself, I'm filling it with a dark background and then drawing a subtle grid overlay by iterating through each row and column to create the visual cell boundaries.\n\nAfter that, I'm drawing all the locked pieces that are already placed on the board, and then rendering the ghost piece which shows where the current falling piece would land if dropped straight down. Writing the rendering logic... Still writing canvas rendering... Finishing up the UI update methods and the initialization code. Now I'm moving on to write the HTML, package.json, and tsconfig.json files, but I want to double-check the collision detection in the piece rendering—the bounds checking should be consistent across all directions. for `ny < 0`, so pieces can extend above the board during spawn, which is the correct behavior. Now I'm ready to write out all the files—I'll start with the directory structure and then create each component.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":0,"cache_read_input_tokens":4728,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"3b99c715-a4e2-4f7d-a850-28cfa0db714a","uuid":"0f43424f-5d68-4133-9fdf-9819915414bf"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01V9pBQyp58tsgNHx7TjPXPE","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01MTLcPhPhafEEQvQpd9DLat","name":"Bash","input":{"command":"ls /tmp/loop-bench-fzndjvgb","description":"List files in working directory"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":0,"cache_read_input_tokens":4728,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"3b99c715-a4e2-4f7d-a850-28cfa0db714a","uuid":"b27f7b57-8d62-4dc8-9a53-0fdcc847a6bd"} -{"type":"result","subtype":"error_max_budget_usd","duration_ms":464237,"duration_api_ms":100029,"is_error":true,"num_turns":1,"stop_reason":"tool_use","session_id":"3b99c715-a4e2-4f7d-a850-28cfa0db714a","total_cost_usd":0.58716495,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"output_tokens":8000,"server_tool_use":{"web_search_requests":0,"web_fetch_requests":0},"service_tier":"standard","cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":487},"inference_geo":"","iterations":[],"speed":"standard"},"modelUsage":{"claude-sonnet-4-6":{"inputTokens":6,"outputTokens":38842,"cacheReadInputTokens":8969,"cacheCreationInputTokens":487,"webSearchRequests":0,"costUSD":0.58716495,"contextWindow":200000,"maxOutputTokens":32000}},"permission_denials":[],"fast_mode_state":"off","uuid":"e81e3da9-0f8c-4343-9c0b-6530fc5228e2","errors":["Reached maximum budget ($0.5)"]} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01LTE8dsmxh2cUNvSsT5JQov","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris game with all standard mechanics:\n\n1. All 7 standard Tetris pieces (tetrominoes): I, O, T, S, Z, J, L\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls (arrow keys for movement, up for rotation)\n\nI'll create:\n- `index.html` - The main HTML file\n- `src/game.ts` - The TypeScript game logic\n\n\n- `tsconfig.json` - TypeScript configuration\n\nFor a browser-based TypeScript project, I'll set up a simple compilation approach with the TypeScript files and configuration, then compile them to JavaScript that runs directly in the browser.\n\nNow I'm mapping out the complete game mechanics: a standard 10x20 Tetris board with the seven classic pieces, each with their distinct colors. The controls will use arrow keys for movement and rotation, space for hard drops, and P to pause. I'm planning the scoring system with multipliers based on lines cleared and level progression, where the game speeds up every 10 lines completed.\n\nSetting up the TypeScript project structure with the necessary configuration files and source directory. I'm defining all the core types and constants for the game, then building out the tetromino definitions and game logic... Defining the remaining tetromino shapes... Writing the game class... Setting up the canvas contexts and initializing the game board with an empty grid, then creating the first piece and next piece for the queue before setting up input handlers and starting the game loop.\n\nNow I'm implementing the collision detection logic that checks if a piece would overlap with the board boundaries or existing blocks when moved, and then the lock piece method to finalize a piece's position on the board.\n\nImplementing line clearing logic... Writing movement logic... Writing game logic methods... Writing the input handler... Writing the block rendering function... Writing the rendering logic... Rendering the next piece preview... Finishing the animation loop and then setting up the game initialization when the DOM loads—I'm configuring the canvas dimensions, creating a new Tetris game instance, and wiring up the button event listeners for restart, pause, and play again functionality.\n\nNow I'm thinking through the HTML structure and styling to make it visually polished. I also need to reconsider the update function logic—there's a potential issue where paused or game over states still call draw but shouldn't keep scheduling animation frames, though unpausing should resume the loop properly.\n\nRefining the update loop...\n\nThe key is that when paused or game over, we draw once and exit without scheduling the next frame. When unpausing, we reset the timing state and manually call `update` to restart the animation loop, which ensures the delta calculation doesn't get thrown off by the pause duration.\n\nI'm tracing through the game over scenario to make sure there's no issue: when `moveDown` triggers `lockPiece` which spawns a new piece and sets `gameOver = true`, the current `update` call continues and draws the final state, then requests the next frame. That next frame immediately sees `gameOver = true` at the start and stops, so there's no real problem—just one extra frame request that gets caught.\n\nBut I'm noticing a bigger issue with the initial `update(0)` call: if `lastTime` starts at 0 and the first real frame comes in with a large timestamp, the delta will be huge and the piece will drop instantly. I need to either initialize `lastTime` to the current time or handle the first frame specially.\n\nRefactoring the update loop to call `requestAnimationFrame` in the constructor instead, then checking the game state before scheduling the next frame...\n\nRestructuring the update method...\n\nIn `togglePause`, I need to reset `lastTime` to the current time when resuming so the delta doesn't spike from the pause duration, then restart the animation loop.\n\nFor the `update` method, I'm checking if `lastTime` is greater than 0 to skip the first frame since it would have an artificially large delta from initialization. After that, the logic calculates the time delta, accumulates it in the drop counter, and triggers a piece drop when the counter exceeds the current speed threshold.\n\nContinuing with the update logic... Finishing the update loop logic...\n\nI'm simplifying the wall kick system for the I piece by testing a series of horizontal offsets to find a valid rotation position, which should be sufficient for a basic Tetris implementation.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"47c68084-4282-4e2c-afdd-88e9321e37b6","uuid":"7d62ad76-7046-49c4-8a6b-820d913ca11a"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "off", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1", - "run_number": 1, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:00:16.106372+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:10:19.697934+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run1/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-q9v5p087","session_id":"47c68084-4282-4e2c-afdd-88e9321e37b6","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"e17bae00-c71a-4d7f-a3b9-3442edbb2000","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01LTE8dsmxh2cUNvSsT5JQov","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris game with all standard mechanics:\n\n1. All 7 standard Tetris pieces (tetrominoes): I, O, T, S, Z, J, L\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls (arrow keys for movement, up for rotation)\n\nI'll create:\n- `index.html` - The main HTML file\n- `src/game.ts` - The TypeScript game logic\n\n\n- `tsconfig.json` - TypeScript configuration\n\nFor a browser-based TypeScript project, I'll set up a simple compilation approach with the TypeScript files and configuration, then compile them to JavaScript that runs directly in the browser.\n\nNow I'm mapping out the complete game mechanics: a standard 10x20 Tetris board with the seven classic pieces, each with their distinct colors. The controls will use arrow keys for movement and rotation, space for hard drops, and P to pause. I'm planning the scoring system with multipliers based on lines cleared and level progression, where the game speeds up every 10 lines completed.\n\nSetting up the TypeScript project structure with the necessary configuration files and source directory. I'm defining all the core types and constants for the game, then building out the tetromino definitions and game logic... Defining the remaining tetromino shapes... Writing the game class... Setting up the canvas contexts and initializing the game board with an empty grid, then creating the first piece and next piece for the queue before setting up input handlers and starting the game loop.\n\nNow I'm implementing the collision detection logic that checks if a piece would overlap with the board boundaries or existing blocks when moved, and then the lock piece method to finalize a piece's position on the board.\n\nImplementing line clearing logic... Writing movement logic... Writing game logic methods... Writing the input handler... Writing the block rendering function... Writing the rendering logic... Rendering the next piece preview... Finishing the animation loop and then setting up the game initialization when the DOM loads—I'm configuring the canvas dimensions, creating a new Tetris game instance, and wiring up the button event listeners for restart, pause, and play again functionality.\n\nNow I'm thinking through the HTML structure and styling to make it visually polished. I also need to reconsider the update function logic—there's a potential issue where paused or game over states still call draw but shouldn't keep scheduling animation frames, though unpausing should resume the loop properly.\n\nRefining the update loop...\n\nThe key is that when paused or game over, we draw once and exit without scheduling the next frame. When unpausing, we reset the timing state and manually call `update` to restart the animation loop, which ensures the delta calculation doesn't get thrown off by the pause duration.\n\nI'm tracing through the game over scenario to make sure there's no issue: when `moveDown` triggers `lockPiece` which spawns a new piece and sets `gameOver = true`, the current `update` call continues and draws the final state, then requests the next frame. That next frame immediately sees `gameOver = true` at the start and stops, so there's no real problem—just one extra frame request that gets caught.\n\nBut I'm noticing a bigger issue with the initial `update(0)` call: if `lastTime` starts at 0 and the first real frame comes in with a large timestamp, the delta will be huge and the piece will drop instantly. I need to either initialize `lastTime` to the current time or handle the first frame specially.\n\nRefactoring the update loop to call `requestAnimationFrame` in the constructor instead, then checking the game state before scheduling the next frame...\n\nRestructuring the update method...\n\nIn `togglePause`, I need to reset `lastTime` to the current time when resuming so the delta doesn't spike from the pause duration, then restart the animation loop.\n\nFor the `update` method, I'm checking if `lastTime` is greater than 0 to skip the first frame since it would have an artificially large delta from initialization. After that, the logic calculates the time delta, accumulates it in the drop counter, and triggers a piece drop when the counter exceeds the current speed threshold.\n\nContinuing with the update logic... Finishing the update loop logic...\n\nI'm simplifying the wall kick system for the I piece by testing a series of horizontal offsets to find a valid rotation position, which should be sufficient for a basic Tetris implementation.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"47c68084-4282-4e2c-afdd-88e9321e37b6","uuid":"7d62ad76-7046-49c4-8a6b-820d913ca11a"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01X29BtzYaMC2jWB7TWdVdLX","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game in TypeScript that runs in a browser. I'll create a well-structured implementation with all the standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The main TypeScript game file\n3. `tsconfig.json` - TypeScript configuration\n4. `package.json` - Package configuration\n\nActually, since this needs to run in a browser without a build step being complex, let me think about the best approach. I could:\n1. Use a simple setup with TypeScript and compile to JavaScript\n\n\n2. Create a self-contained HTML file with TypeScript compiled inline\n\nI'll go with a proper project structure using `package.json`, `tsconfig.json`, `src/tetris.ts` for the main game logic, and `index.html` for rendering with HTML Canvas.\n\nFor the game itself, I need to implement the seven standard Tetris pieces with their rotation states, handle piece spawning at the top center, apply gravity with increasing speed, manage left/right movement and rotation mechanics, detect line clears, track the score, and handle game over conditions.\n\nWriting the TypeScript implementation... Defining the tetromino shapes... Defining the rotation states for the remaining Tetris pieces... Defining wall kick data for different piece types... Setting up the game mechanics with a function that calculates drop speed based on level, then defining the core data structures for pieces and the game board, along with the main Tetris class that manages the canvas, game state, and all the key variables like score, level, and piece tracking.\n\nInitializing the constructor to grab the canvas elements and set up event listeners, then creating helper methods to build the empty board and handle keyboard input.\n\nNow I'm handling the key press logic—checking if the game has started, managing pause and game over states, then routing arrow keys to move the piece left, right, or trigger a soft drop.\n\nContinuing with rotation controls and the hard drop action, then setting up the start method to initialize the board, reset the score and level, spawn the first piece, and kick off the game loop. Writing game logic... Writing piece rotation logic... Still writing game logic... Writing game logic... Finishing the block drawing function...\n\nNow I'm implementing the ghost block preview with a semi-transparent outline, then setting up the main draw method that clears the canvas with a dark background and starts rendering the grid lines. Writing the rendering logic... Writing the game overlay screens... Writing the next piece preview... Setting up the game initialization and now thinking through the project structure—I could go with a TypeScript setup using a bundler like Parcel, or keep it simpler with just tsc and a static server, but I'm leaning toward a self-contained approach that runs directly in the browser without extra build complexity.\n\nI'm planning the file structure with index.html, package.json, tsconfig.json, and the source in src/tetris.ts that compiles to dist/tetris.js. Now I'm ready to write out the complete implementation with all the core Tetris mechanics—the seven tetrominoes, proper rotation with wall kicks, and the ghost piece preview.\n\nI'll also implement the 7-bag randomizer system...\n\nImplementing the bag randomizer...\n\nNow I'm setting up the game timing with frame-based speed progression, where higher levels drop pieces faster—level 1 drops every 48 frames but by level 5 it's down to 28 frames.","signature":"EvejAQpbCAwYAipAVOWdI3dQ/ynVdOMeoixQlQ42gvHMLwi7NBL+QOuFYOYpVlXyjY3H4xtTEqtJ71OoHOixQJZnGPsjwh+ZgbOWWjIRY2xhdWRlLXNvbm5ldC00LTY4ABIM7FXpVdgVSgHW2QJrGgxthiA17wAd2yyM9h0iMCgeNLwR/hjvgi8PmaP97V8mEuItE/O/2iRKg1Eq3eVHDpJodrInpt0v9hF50nUdQyrIogEZlC2gKDs0+rMc0BFzh6yJfZ3/ujkzGGnLQu4rZwkMKUGLVrB1oJDuwoDLL9oRB3vk4OKaHdlUkV7b9MSvNVcAjMYImXMnU+pvkbL3WM7ew4GIZVEq9BIf15+M0+CpxIpxRK8G/+OuovB5i2R13kFILkF0sF8Ix9O8vr0yPHQaQX0zXzVrr2tdDbvurU3mYXZ+s9e7l+vFQQkwY/x8mjaWaxht8woeBeoRCDIj4mzSYvqVswCcJu8oPpC0scKTU3Gus9vcb6RUKpLCZxoeRZWLC6ljH4NIq7gPF4brw2Ef9UExhJFcIQZQOulJvTikCf6YUxbjBpTVrGd1Dpka8Uhiqmv00/fLTAeB6oXhN+GeAyq5LS5DLpE5+f3B12+9TDGa6GahUlYHn6QU3+LmhR5e5rZDJkSnd63YdxliUalVCeiBHcnawmv19dKYK8dyQPkoCsO288VpT4zrMAVaclxuqaNjtOlIEAUU7GCSKSz0cTvlBE6dOSd5yeRYVGrLlCDplvwl9rAzdtIUuhGUNywq0eDU7K6sNY83xARXEKirXxB9pgHO09ki1IrWw2Vp3V4Gq6Qb6c2u8oh3xL0v76Nem3ERUx6O+ciia3ytbsYVjyJI/NEiQaQlDcUfskrB9TcYCL9DF7BDMWeFpoVswOm/U+WIAEOeoGY7Jv52wB9oOmGbMbpV+ba5sY1G3DFOZRWYhnTJ0DLBT7ADu+KwzEDVRLpVx1zVKhWXMTX/e18zwwgr4uTNJhnu0obcARBN94PObwJIK1k0BI5UXria1LqhGurfOe4+W0oPYOqpjEPt1vXC+TYeY/pmk1CCUGJ1VxuaLWEntQdlmbLtGQ7YGjXSfj/F/OI51rZKM7UOGf8dF0hRS4PzTMIU8ufaMDSBP7+Xa3HEy75TOApaFZn4ksyi2pQ3F+okBe1HW55aKsZFGWQ2wG4IJANNDzGQX43ZN3RZfmymTBAnI7x2SvRcfqijdZeWZZPbVqL525TL6eXgtE+0cEWySM904CkYVGGYQ9JaOthtJnMwIX8K0AgECCH7gJmNOrXRui2rLLHwiAvwhE5q2+bXAfoW6D7XBBUJxwK6mSXyn2kkzOC7VGwV7O42eGxsF1yBYHnPuHZ+PQ6ir9Q/+64tG3U6jE4LN1yJAbDgg0nfN8W8Vs/iKil/qE0zgTFnv6WWr09ThnnsqStNkIV/fSpmWEbzPxXzp9TnGOlAG8i02WJz0nev2K/FzMFLDeErULWdQVvZpEXwAp/d1sdgR3zsn/nGFTSVxnlikLqb7zN/m9oRRRs6h8L9z3uUpL+lky/2NBSC9mbqNWFuuRZfBzO+Q2HNR6IFxwEJsE94o6YhDI21aGy8Zw8JaBk/AhiyzN1lsfyhPHxUtVY6CFhUvB3j9hWHs+L3VhW5Oi815VeanMDqXx6g4Iu14gLpsp2hGRQoCVtdmF6ILW3c4GPKEpPGHT0ympzaLBf/sT42rPT6/uy2h0Ra8IQINURS/9AXJpY8gi7AMEQyxXhy6bz90ijdxLSMziGuNDj7uy4MkF1Airaw9dpxqmgXdkCgp+FHBM6XT2KYgpBpVQ469LHuztiMuulBumlp0TbQTfnp/bpjWITZfSP69f3Xg5GCvS2aubkksHYE0aGC1J+6mkoYv+5ZBEo4mBlvV8Ozgy3FUre7OKOGzswynpxJzXvv10+vgwOU3vKzRGw3i3WSc4uMpcdM4wtH/6Nk695jnPErTi3W2cqSo6d3bTRLjAakQtTyyRc6wsgso32X3Y2cEyJbu9znUTH/kvITyi+Za11B4Ixg4p94/gNRaixHKL13qCwTvFqvkVD7ZKSbgDowFiIHlXXonTl4R3JuUgxgMzUjffDtwDtuq1WH2VP83qlMGQdW7sYVf56+Vhgt0y9/aXkQ+vYNKFUab2bcmVupsOvK+Kf0tbT8bzJVQITsYzIcDc6rptNe1Dj5GkoVPmIwqGmFyvDxz6zUwRQHFFQHvv5VdNi0bJravTZbFaHXEb/ZUQ7rsaX2HsKM5k33z5k0GwX01wHGzjH5IuUT6EicOdib+QIx5IQ7ncMAtyrSDzHswKbGUircdxdqnbkCP6sOYo2jGndzEdpPqthwehi4ZU+nvdx7yX75GF+rpcY/fvbMgM3wn9v56OHAN7tf9Q6PMZh6pTPeiUwlWIhwRWgYcV7MrYKuR5xPdYBgNFkQ6pZKQZRPXxQowwANcgGt7t7C930eH8b9p2CdppSFdGSKGDxThwPAwND7BK8Z5l27VyZASG0lCTYNHHQm+mrxTUHBt50lteqyFFckM87LbgYdSvWhsQZxQg7EIKWHTavjqIkem/4YgKU9ENckUCxSq1Yavw3lyQXKdMYDWsa7ThAd8HNDUTzrDB7LZoCdW9rgz6nNvjdlx417pMyY/TWQlPar5p6gwstqSI5pHV8SP0RxI43dePYNT5dHH20seDlmU+1CcVRJ0SEmL4Z/2THLhu/Bn2IRyn8iOOIBcBpR/P0kDtY/7sSXo564uy23seFqv+mNunXQEnVSz4WSm/xnirpfDIIajoTV3iBulVIle+Jri/rehAe/eYAOmmDcHiZTEstIwDgcByPPJ+vaRalgQw9j4zo8qHE1C+AHD4EYcS5i+IXx/utMN2zCAoyBGZWsN6IdtQqSG0g/4Y+fRlMNq0Rcn4QmWv5vqhfM6YPE4KWToozsIXy5buxLdNpaGxk6Y1AhfsbXTig02vsR1W3vwAqs9IHyUYYoPzLSGdW0rbznF2L+uUzR0DVdjpu1VZDT6p/9qvObBu3IfDK4gax7JOEI29of4x8RKYiLluutgC0ovVfE0HmWl+s7NTWao2XfW9heh+xuwhPUsZRFNvImxfS27BBVT5qqeTscw8FcHlF8J6lKyXDnWIP5zC81+oKP1KKHLtEtqDbQDuAXbnBuE1mTpBbQ2K14Uiq6bty1hc/R/An0OM3m2IMoc60odQOZn1d091s2xCQ2crc1KsnqzWfP5CyjypOYe95yxjO7em8jfjuUIRDmds4SwKkq5MHNrZ0r2Ph7HUqtdeNp6Nk1Q5DGEdFoT0j2Kyd5WULZK/YJP3q0Xf7KfyKjG1flI+DgNsFmh0b6wwphKOUxOa0lkD4FxwUC8oG5Sva2e1lWwydsAJKoRRgMgUvR2EeMHpqcXE6qibCYTP5dNVHP7dZH2qNR8XaR3QkW2PcB0NkUr6OYs8EtJDbONGbTp0zIRXtYejeOvKjxj1iV/+piTVfrZ9T3n2xdiPIRDyarTpP53w9j1FrjaLWl2YmATu22JlWF6MxNTyakTpIjp/Lh472ikWZnxT0rtglLTnmoF42821txyZ568xD4+8zvit9zvEYqjTfx4ZDfwLP9LPOclyfT1R0Dm+oBqyjGN2/G0881RtqmDLJEYiBGVp/voO4vcdWIDsO1CG8Uu/VUgz00aNR/GChQx/Y6e7gv/sWHBgVSFoJdLSrnnoiJhkzR4m8JyrOSwHr+oE9DSqjS46QgwNVPjILyFllOPc6fwhjKPForFArYJ2u/bqldHHrgAQ8WKTD2CW8qduq2CKtXdai3myhJlbswaJyyGYAbeNeqPNv4hwfe9oep6zi1PF/mrzldopB5HL4GRjgEWLjvTeRuUqjbN3JWdHx+AkdQtQtB/CZdAMqi8jGTUe+ejFT5bP9khCfBUNxaCfda5AHDRQSrogGz/NFVm57h8Q8caM9T0YkHbjcqJ1+nVtFe0CoLK/DAMJK1n2gdSH1jNnmnO2LtB/Tsb4y/lKb522+4AYbZxnCWQSFKqU9yTKsPACRf7jKanM79ghtgRig9/rIwXWFkmKSLEpjsOISJZkuDK2YG9Upjcv2tESrCtGofrGeH4vgaaqh17cYJ4xJ9o3u4oRRbNABXFU3x+2AeLVOpSs9Ges/UyoloWJUGu/dhYE+rIKQ0y/2rFqupy67lrf0twW0jri1nkiTz4DeJcMc22xfTAp5mvHtkDwRINKjye130BlgXSJVHQk+PnPCYcXwcbvOue+qKhjWjx7eDovGL6vVUXN7bwOvF0hLhemsTLUX9Mf9qLa7i1rMaihA1m+/78VdqrQ96PXuOiMQXUJknaaNsZF9kpMdd7iMFW5NYvcUcnhRHosRw827Pg20FBJmv+XoonhS4nW41P7tMwrX+6wi8qGewXL78BbOHN1UFQa8fHVMmUrinOkoexF4Qmmbcr2koVak/qZcplruYWQSdl6QxbpFh0KUvR/8p9SB2pwK3fJE9bBqxACYkAWJ9KW7EuaZP3sZ1Ox5q4kUmhKxRdomUDU7Bsl1Lse0tLwYuOIjgIKREC/ujqvjR3N9Oiy04XwOJR4yYfK1olBJsjkxWXhZcVuHvV0y4Iat9G6DuOuZq4Y/5yhlu1qzdBywf+e7NmkpVpcTa6ebwg0JwnGwqPqFUwKUYExhJfIKuTrbntPET1DowQPM993BOXKKdGstZxqIvxzvsXpv7gt6TihsogiAlt1Lx7eYiUTanVJ3nhorlKfWP0VXMLPKosZngBZzpEoZCm5a7OtpopGJVsncfbprvmYJl7SO2t+jdHJav8n1kZEclg29Qxivp2G8YjHXuA6UYy8cb2KG7vF5QAm3xyAA5Eb+P6vf996PVxAk9Wco/SsnmuoU1AmMGOiv9yFhxJstkZTSO1X9DrgkjMP/b4uhzqMH9AJa1PZmPhzWcwU1uu+7zj+NrGC1xqnaZcA2fe6sitA1775qpBT51Efww+/Gu8yfbeqyDukS7EQ0XR8UQFKA9YCr0NkvV1Vl5l5qsOKEs7qqq5qtBxXUifEtViGlU4oQe7qXYtBNoDBMgDBzdDPDCG+0tjYk65Y3SG/YmZWVN5s/qPo1ELMaSQxPYXWgGrVQOuuj3PhVJKQUAizp/c8dTE4LY0GtzHu1emACA7sHfY1ZbOye/Jqz01gTnPDC/JTQ7LP/L5BtHP3eKL7UstngzIFkiO352yUJQ7+EIq5J6C8QKMiSojMCm/Wp0YlGDPMEVSdf1q7O5iJaVHHRmuZm0ZpKp1xjHChMKMOrewd/IgDCFmOmVYR/u8pQPALBZqxTNM1P6M63ZhboV1mxfVwN/oLUdyDa2UB0omjPNUeCJQVeHJAnNuRp7v6j3kQY0vJyXsKpibur3hIASym3MfhZvllFO9A5d01EDxMfVgIVwjV/ZvHm1uziOxCPWJQ3VGWS/UQ1mHTFloGpHGi56S6vNtFac1Z2RUdcRrVjMyeV1w5aHHkrVMXUSQKLgMB6DqjDbtOzEjP9fNFQCRNu/aPRzVdDrEjUDCIReszgWl4bb5nx5DLkSITnInSSNliv0bLZF4LeJAUWgJlortc/tFx2es4EC4XiRpaAPPCzdsjp6JE7SGK4d+yca3zIEuJ8omUDbbt44eP5hvudDwaqOLuALaMYZZhOcCRt171vgVvi6GO5rQjZ4QkOwZasFgdTPTfHa1Lb+FcoSOgL4dpf50REs83oZCJOmNVhaQsmHASFhJHGqUkbs5kEOwjuFL6fjpkNuRKu3jSWJG9jI2nr+kLshXlKehAiY6NCoZ/2CvNJ4BHaON3kalrJ42tP1qD7cD8J5XYR6E+E16g53kvNY5o3IpNkRuda9mHeOYu+qCOlDVDyFvIMM1bfQTlt2aDagI09dcpqG3yX4QqDoQ1O7Gtm6dfE87n0TNul3Dwj4S4/4+bKJF0LSRxYW1o/DhkLh6yUsS7tQ1ltv++j5xWbhRK4WOWci3Is2NtM50xkDUFRY2fCbKmpR2bHnNPRjVQSD/Eg3oqUr4zZj5I3SXIZEXCFdhuzhVn7PfM5xrt5XxD8tcSsE/KcyJxkJO5xT4xPSCe8Wtdvk6pXpvO3djU0DlDNbNK9BxD7E9hV8beoKe1h5kxuO0bFjayUZe7++k0C8hQEc1IbDp98wpMaRg7zJutJ2Xd/vy9g9vuKDfEY8l65M6p4e67niBZrAjI05zlgjDiBj/QwgchsLo890Kteb3qVJEmdsindkvty2VaPiuWd1P+VWo1JA6yzRNsOdbYPUZsFy3wfyOcXpfiBA9DW16tBxqyUqiBYCHnrUq/sUepvLn8lBoURdWRPK/l5NLwB5UBJ7jZ+9hxY4CjNDEzj5AaOzeDg1zczwV6tjEDtfhiiiqxPHwN95sMtqwY8BuumR2fEsSiAcU79oj9LZbYdUcTzEpHAdgO2pOOfZ0aHFLrLUA9xKHW3abNPVS7QDVyRZGEKTXQuL/nzQGZ51HdyqQEU9T2bDjRn/tFAVRWrlHRqYdOnPKxMDKY8ebV74tK00T0VUWmSlumkh7sQfTBjFKyB9opEzlvYg8kFbBOlYYHrGSuMLazsar5DSzNVYDVGD+lUsaXW6xJBtawLlwTM1/umMe07R5mSIIeM/pkw9gc8UNeo47hXiWnLJSd+sEMy97F8Q1Hp77cRmTkgBqDWORCcyhXwJz5F6RHxppKcREcdkZmUeiO6MdQieirKM5f2DIqu03beiNip+q7Wcx6hUKiKnFIBXCZwUZZllNb0i9OvyAkqFTg+26bPrjlTxCsNxWgyxii95yrAsJ2bvEqTZtGDkEiJkl4yTsa/zzWMamPPvPCJ/z1foa4T8cElUnLDB5TIFIgnqsmph+Sw4N0RcR+ZxEJtfAdUBEVdPWd7LsWkGBhFQc0xWcCfwGIMc2fb+FIa6aYbUvy68vrQLEOCuITGolNj0XJvpsDax1F9MGPe6MHH0WDZfW+xbjuvc2oZpVSTYXMcXF6GzDcBGpAZXq88oPZIOffMGCPDTIWZVrbEeQmuQVWbduWieUVnUEGgctzH4HvBUhGS7ZZMk1vsICKAqM79STP3Guh80jr/pkB9fktxOLpE9CoZd9zVDxgT47w8mPflXHXZy57mkBnlYG4lLcr+///wwdUxivJs1b+o/0pKZF8whKjxtmcISJ5v+GpD1Z1CdLqlzbhf6ih7n5S8bse1Y27Dbzc7SQ/A6jNS7a7AV6V3lMhmhtYmi4itpJD0kxFCpi0iGBtJp7Yil0s99ttaP5udCLlLAOTj8FI3TL6dXSqweGl031oE8xVI5uN81XPlHB+GuL7Q5fKUK/oEAXxjiqL8GZn23kvXDBtp7tV+ltjGRbAl/vayDV5fmrmu+nvlQZWnEqTFJAgX51Hlma4wYaUjFLDTH59DnPF/8xY5rBrZzCzOy+n87776cFWowsvsHgSXkwraakRrzxOWM6h1upxI1yjjoApsCWLvvOIM+l5IlH3mUTq3gpwydWMMdnUNPOqs3+Enql9foIF3NXeqW3Hz9qqSTm3V2t40oX6V19UMvPlOH0Sf6MZ8J9DYviYLhyjDlA2yorTr/Noa0qmp7bRii6c9lGkCl3OE38W39wx3wQqzCMYbj3g/Xs03J0w1UjOQP9BNFdw1TgxH9WJPoEybqllOmw3nI5l75cQ2kLumYF4FHV7edid9vj/ExzpDEZMnEeqe2qTJzp6A3RtTJSY2pkOveXW9fr42uiUMZY1uVV4NAhIdbMYzmarRWgrFhyTh+vWRQ7+gVemMlBcgGjEfgubCfsZMqTZov86KLRCfMNxKgKwM7fFP/tefYUddQQc1WQg4Di29t49QI5JleNBL6RyajOtjpOGy+18lTX+OGI8ydwPRSqDLDNeDeAeOUzeH9p0WF6xvVrXXJasmRZq8R0Lk00HA0Mgqy3c+30LSZdF8Vuzdr4evcjYFlWvBNbdcQxH/qNmreGjsPEYzHGDzpsr/UrIWBWUXZzOIH195stc3zNTim2f0UiaeI2UfcTgK6/zwpOXqWjS85IPdg10TD6qn27F4sY8goov9xN9kyxAv9stJPimhbIGY5v+TOMKNKycfw+wa92Fce0YN38oLSlTZHgP4gg6v4jlDXNlBiR7Q6vZb6iyYn2ecYQxUsptyxp1ONIbdERMoK2+B98PAnB/flt6sICdAxn80NSM0weF0tjzceMJsu7mublEhZ16c2m+xHS4NC1plM3kM0Ub7Emd4wd6d8kOjM2lBsFcXpKss2mW0kGnxX3gD/lRk9rxZ4OFzxhhv2zQjKndWGi6lqjP1pxZgJ6JacfgrxRY8PeBLFLjg9dOuAUvWblv4zhRQKDCiV3KOromy/hh8rnIGikLhrCU6dOVwf4ZFlRyX3TmsIBBrg3GjBSM56Mhel5fOeJCGjltQ5d71zvD8CN4v8IRh1T/Q9lSpY4m+mY+SkielORElKR7PvIgo+/wyWzmUsXuyEDqtaTyw2VqXc1WWsDkotGmzqBkwsyQag4mLzatZGihEyMElxS9pWSI/PgeQrLt38bxL5tWXwJPFCiB+pvq2OfURJkdFPsi2NCtBljRsFFLkfCMMPl1QRV2VgEjfJ+lACNMQD2YpCDDeZrLbHRkeu/DM9juIzXK9gKhcLz/LZD/QZCgy5K58qYztga8EAvANlc5fS43v3vWIqLVg+e0wxVUPp2Enkz/Ho5RZyiK+rMKJWs+szr7hXI0GaSEXctjo97XiFNsOMx875/p8LIfKoeh2y+d25OOQa0ZbXVUDZuELn1/dAhDbK4Uw/LC5dnveAZXm+t4RujUEMROOnEZTqRhNKwRMtZBiRejfLQNM1EFFRMOBijla0e4EI1mRtQ45aZJpKLORnGOouQ9dUfcKGL2fHpvkgPc/HI3/ptXQRmLOZqe43QTH3h4/IEY0uFnot/gyrCrvzle5Zb0O3usqEDWcRNcf95X78XN3EEDVScHELBKzeeM5Xe81501ypAXxYsydpof1w98E1BETsQZoXpnwkGFwfH+TiHNF87JibqYTSWH5jncgKcgtriPrVRHj33d8wqBD3tS2f70Dv3JDGHCOhMkH4CS1D6Fq2U7KYrzML2oeAwIp256RwOJpH7GjvzYfP915FmgT5owWlbEpuwJ4++TEyoPbzjvJecjp5d1bXv5iPOomn6YFT13dSEdAmWFipIlmlKAiVuBsHjcKrNLNrBDqT+ibmc7nAXyVtI/nOlodMlw49wqV2qMEJhaqA05lrJwXqxMuV721sku3Y53402LfeD6XgSQKYIVz3N/GBC9DanOF6BH8h1imRqbszLI9vsSCVmtNSGRXTh/hj9zkSwXPq+Sy7STYkDnaXH6llgDQoBLNXkCAd6ilhqsneqAqGp4I54+WOfoe7U10oAzBY/SNNc8P29I3nfXarIiG9binlB1S7V69znmodbjA4xGcl5GW8gtSeruQxFjFwm2roNFOLSYwdxYvYyKtRwM9jXvcMKmfpr4khyf3POa7p4sSAdNCOxUg4B4COR8Mjrp2nysFfIdx1Anoe3Vb036uWxv6BhX+ksVPjKWNhmZBsJ0QZTk+aHL+uj/0WxGvWceSFZiPtnLRULDwM5PanxQA8vSJouRCKUTI/6mLA5zESqNcZ+6qGb7YJT2L9+Sj0F4ZKmbTZy++0Q5CtwFrHT60YIcDv5zHzT3TOG6jusN7ULVe7utMszMNVXjbjBYO1xDJ0IGrN6S8CbpwbGGVpsYLyZ7agN25FSeoWsAJHP/OjsV5VkJY49/WhesDiJpLme+zmbywIJIqc9p7ELID2cPCR1hMEokC3jnh3dL9bsvzJGOvmbh9Zrn64p98Anf3oR24ALkcF2FSTGsXS6tFd/nM1wRHk+oQx9Zo6rhI1Jo8oR/IVeyQLBknBrg7RCTk3uC+ODmlggKTNYQv7lqqpvWF1Zj+7w1545AquCEbkU0bnFzHPyUrsMtgDFPi4lZsfiiQvI21mXq37LEMuMrPR4B/1gubsQPSow3iS4zGOYm/nqYV1GEQHa6PSazSnxFdAx2tx3+yhAHNBEES6FRVZ4tocteTcQuEXxdgYgNxzjhBriaRY3cZ7yF3jtckyKqQ3Vq5oV/P2UjOlGXdUVqctzldwo52zx80gSfvGF71+E5ayv4OyFNGJAMvfTIll+bR/07iFNsxrcWpg4JtW2J+102WcYEhPBDKLI13Tyzpel8+u64Jons217MLNJGUB1ZV0vyIe+QboNTzC3uLLNsVRv4sDXYKWm0P7c9nVFGMiRho4OeHB3cMgrNYR19LHITdxi/aEQw/I6baFiV3JDi9L7G9jF4l6eh+fif+TnBELhygcbmpJYYSgpmFg4f5sgSHgHtKztncNDcDey9tMgXnQjfEfd5KdEtHTXK8P42OSIZ0M65b5mEyIMkiQoXCVEy1PpHwf26drlK8pgWG1y6OvItSgy8222wtFZ3tOGggm3UUfIbQ+fl2rSjsG5Kan5AsxgQ2cDqOMfmca5VcIfuUo1wLYbmSkgLU1GKZUjA/Tguzg1yhEcPBK04UoVScu9LfM0NtjRi/zzCyAPMUjraYpZlVr3bu/iRs5OtiDQs7MVreHIR8hCszvinOdiAj7QtIh5DTY7jJCKJBtTT++pm/+6QmS8sWgCYlzEktbPA7/XGm0Uy9v++J0iYeC2WD4UOqT9oLe4GFRlKDWq9c0h89wLgB9EnuymIejQYgAyEEvSvcXSbaF/nXz9NonchiPNap+jzPviQm6Up7QRvGnSV1cswPT41TKSwOiD9PUubeGtqOdEF2wUEWPAo75JPvG1S0EnzxjPz88BTgRRW71cXenwXZ0+sefeo8MR0DLVdKt0t/bSDlSy6MQ3wQeic6OQqqUgoMY+chlGqzMFmbKCCrwAhhBjWbpONdDlF0YCX7SBGhNJa9WjvZYAi4VMCr5XM6FMW5E6xAf6rLahtucgHVKLCk5LRCAwx614Mzm1cZGyFE80wL3ak0pDrQ0r32Amut7mckHMf03Dm+bd7iqBWxMHtCPHpynmjN/UWb1Va2R3sn+80fcz7RmLGUwhzXqD6jCaxuazBEK7HsCUiVemKNes6Y3SOPuF67YZPZS5ASu7228BWSqCFF9krjnpGrts4I0SlF7lBomu15DVHJtnf6u7gVkcWz7wVok7HZNOc3kSJRCpIONG/xpaTGQMNU5r2+k4rzuUcOzqCUalspweUv2M1CUZ7SygyrwZl0BnJvmCmQDzN1StaLJl/WU4Re2BrY+Dh/Rqlw7JZ3neV748eroIqnZ8noZ3kfcEUg2GCfWOsFVM6TeluQfYQjnvxcSAgY/LgyR7pxX3H3p5S95wymbB9JJhzaaWNV8ruyWjopj0wQdTjF+lHhqYJ0dtSayHNUC2RW5i/FZnBnFH/1RZZy//97EduFFLXeI3VH8iqDnpqVWo9tM+wwDFyR3ojG5ypJNCWUbS3ScPjrOc5nGxwU/VTfceIaH0NF3e9EDR6khO2REw3UR0bnU94rxbuQV/Hb6FNZRavtp56Nh3RP8EG5LtpnQRH7YzPMES+2rDwH/jq+CACSN8K81jiSQf+WBe/hPFRvObsxn5iHcaNJiawLB2FdALWJkyih4ot8pmqIp9IIo/tFKQ8wBGAJgyJII5/SStrtMlKTO7phdquVIJ/e4B3+UwGn48L/15xj/IgUn5zbA9NxvfUz5tSBHh/FQ14t0xNT6KYA9c5jOHco+q8EDjhwkKcLcQ5klSwD86F2NShQvm2c0P/5tLUh7YKZY23Iqqmx6Iqd/2hufbKyUQeWmFPNDfKx57AwCZFuf8t//BGZGDfkiMw+tZO0A4nfSpf93OYeEGNv8bW3tqOU3JX78VHE72cNBpkqQ4yCQpk5om3q+XrhIAf/fVlutx554uWn72en48gaz5tZkOzsrEK9Z1DOQo09RIPztjIn2rM/GhMeTECGjv9UNap9yy+RHYfGwEMPiddZnqgCokpohbadDUn785BbhtJynVd4M0KOmjxvjPzjfZt141ZHtc0uxqICncIIKrNtGJ78wB6qBKtZA1QnjN5WPK5/rCjEuuX3YOX/GqxSUtoY0yrv9dTQGhjUeZ6zN7APyjjlanra3tBc7HBtW0rS/zNymRR94hXXlhp8zv2nmziw5HHgAIFBtePjiauYIit8xR9Fw1NJpONnUya+Al+seOluSmuQvG9UfWKPPTON+vVrq+luMPzrylMwODfiAR+fBRAHlW9GXS5JTcOr0QztqDB2YgPiGGjgguDJRfWoBQ7nm0rgQasRZtmeJ+PzhZVCqFJARzGChNVQWU1y+ODyzrkIaFvUgy502xFEBD25BnqNS4B2SsT5s72j5tD144arEjR/O0ZTc3IUgaNrGLohgWUCyXssZ/jQq1nsX2p29LdWS5N+VHu5AyPLu6EJeGnQymgZ4v8s6C7hTL3uXg2zO77pOjN2pEbB8jYsSQDZlnAyzkfVrwcxMAQWTHql+5hurWT5suK8YmfuwzShkE4trikagXQT1oZ9xDEcdsuzM603k9AjM9ZLl5oZrzEASd1zS5el1mFlQH//cES5d7krduq+D0WR98hAp/NyTAFk+Sp9K/KvJfGntUMBX2jzJjGDguMOQVsfLcXZcoPiW0uh4N5wRNCY20MaCQydyOS6w3lPYPjLOBc/NeA76DA3nRut8k3f0Qzfkb6kbGW30aA+SNo59/AWNmiG9wiKfCtAUCXjqUYbp5T9RE8fGGimjwEbZZK4hgYTrvmBD5dBaCd0RvWGKIG3pqsqqGhz5o6I4y6Ou0ieXG4QQ2EkhECNsesaBL5RT3Ic3JHTxj2Toti3PuKkZ+bUXBSte1+AOWOuzI2l4GL6Vw5PJ2JBxayrNogPuToQhfKbZNK5xPE3YrvySt1SIJyW4yz0/e9hKxYgFhiPCh+zPg78pCTk92jZI84Hn58kCDbhMLXLBjmJ0sZCu1ijhq1lFZDkKLe1QHauG2afdp9tkmp4TLgkiCsK6Xm4m/kV871HMfJRKzPuSwK6hJqBvx0yfCrFWMzpatkuJI1g9mohbdXT1Rjmzh4oiAVkq3/CXkAU7v5nr0FA9AUTJs+LpTDm5xWyxmbEE6K5c9LESEw89rvrXtG0XR1RDxOFi+evk1WmBojzgvfvBgGZsxMxk1CGopgjbHpJiJjbG4ZUyYVfcAvjjp2KM5Y5jQSrtLRZIFBiHasPMHwdhW1a++3ESjWTGP0AtVMalNn53zBk5PC2E38s7uTv7nkZ4iAs3T6kk+FEgCl+r+s0YFbPSzbgDO4lFvQxx5I/v3TbSNXR4Hdel4VNnm9/DDcIs88wDS2tBxh1EoUfDDVKGugs28XZ6ZSM24Rgj4dJLGzyyamfuqBQdP4l/qjSoHkIfABlcmNpeFD50ilchTRHbE562AhVc++drssE2SZIFAqPRw2z1ZwYWge7o+YhlFPJzeXe8IulBLgD3Bx1WP9kLmc6X/EC2imtOIKaPSaQjzW9IFlc5pSUuWoo/OgQzOWKnW/KvYwdMsryK5q4Xdn62thhZiHSWIAQdLAOEwX7GnwKC1M5ALC86Jyh/3O9pKwhdd4SPdUvdggCuqooDOHOjk3uswDDmRFB89Bnj9iKPH3ctNqX+YNKnM6WEU1F26FHTE3Cg1srfdHXtZN5rwH4GVp25HJZLsG0c1C+zU1MrT+Ut97YcSm67dUx2pSrhvPknHgVUD6qRbu0QP+sXGoWT775uKi/ZXgbt01FbNvAtrEjB8mImJmH8LvVTaVmlRDfcKtDTsvmPjGGFUGkmFJh5LZuU1CbZSM6sGqJOvP3lONsS4Ke7Kbk+ztz9um7oqFxLJmk6Fcv0SQAg6WfKrHVtDIFvYna/MAGTpuaeSD1nv07HaiX9CMbGIIWfi9qtZjv0KEzAq7+9tSCMmGyNKXcWjDs1cTWOAzSQKt9L6fP2LlLSEyAwo9lL/FkbZqOBpQ+rkONf9GOhU+aV5I3SEl0OlH2WmCDFhgk4rZ0/d1j8RbeCI2/o2MWXOgzpZ1KKGS3cSNfMolSCu3Xu74VN2VFwvlQmA0czhagRTuTsT4ZXOrALFuNOtFDNd06ZqU+Ost9HlvyC96UfpBMYVHmfg2AB2Cu+Hq7ojkuoNvx0AtIsuZnrVL3rH06jQuB1tSAmtbD4NXp91d/6eVWS5NLL62pKo9BNIHc7A3EGf506dkn1vPfK/ZtWlhG70ffDA47Gg7PysUaGHrnMBf9X3Y2NnIgkYimF1JeVgH8LladFUlRpQyJMiPaG2BfKfT3RlDDXBf4APJk8mAtfovzsESwYeP1SH7n394lhRy3eeO+QTYYHVwJ47mCjDQMiAx/NFSm566sHG04j1/YEeK1pnLY4AywwFECLHtpJPKVvTJM/NMiTC4ElPzjXpXNmy70N8idSVwtv+eHK8L3B6Ipd89okhu017zmftdAf4k8RvV4B8MkL5TOM6LJEFNS3GMFndb3cwQbgxeeqVxJg/XBPIMjtc17mAruJOBpEAB2qATrg7J6/sGkSTRPcuHT4o6yP1vFDVkCW/uQuyU0CO/v1C5YWXhLLLdIQg30RNPPVrR0Yd60aJ2tFA0kcdHoy7F2NHGoQhEZqvPLtCNoYhJymvwDF2Awtyu0fBpnMAAorUgM3N55pcTip6lN1FBLLEedGT3SI5hkHUp8PoFdDJoI75x7T2x/XWpjFtzdAZIZ4CmTl0Xj84jbCOs+STZC19bUNN2EErt/WQFsmh4JBurz3oF/jatnffh1H4mCQz8kuc/90YvRRZh2EONy9QUA5VwsieGfnoQ7EMPWfvu3GPdaOjqdIOtErb9B4U0GR+FaMWuwXt9qCe7u1uAq7stgytQfhgVkzwgnGu0Z3S0ZOJk7UhgTFVjH/UZonX0WGELRLVMtPd46ecdS3K929oQzI4y2jadevx9zAMic9GBcGXnEfAVJE8QHWbV9sWVVgBVTZMLtt7Nymr5tRosu7lpp5I6TlaVBDwqvee5sC5AgJa1tEssqVtd9AvipByKG41f9zpn4wIbidIgvdrEU+ehBlNcHJA8B822A8hwOEY/QjAAOGdXaq16+Eu2FwqOdTwuhlX3vcY8OeMsO2J3ZtmDaL/MhpWLgh43hl+XdC0GWJWOVW2479cw/WLc+pqptzuEvnfiTEPpj4CvhKezae6J2PWPJYE7Oz6ZTE5jcsO8s+Nq9UkvOEM7TCzKG1p3kMClCiRPmTrzbtdR2o7ZaScY2f7KPV4gTM+p539QyFtZCfWiP7sD/Tp7zJzmFkyBPIOXzspzxR161psvtHejORuMeB5CC1OL39MWutyxE2G6B9W95ioSaRkox6v8/Imf2SK47Ef9LP4XnVi9LXPJvT6AuLsbK1uI0e1G/yy7JJELLkgWpgS06WiO7FOCzqRFoBr/hy/nym9pRJZoAX8mp2vT83k8KQRyTr0rCSI/m3HXHrW6Frs4gO11IUyP3/iif5PrErvPVv5xQIEo7Ya3dgDSM1K/bZrF3MKxCNh4MY5f9k6LLh5CCASWjNmfrVRvuXp475KNpr+H2Ioi9HjF0ayidAP4st1v3zznJdVB6QTF6m8nG/zahkTXKty5vKjyvUnhx5wH0BtbyPj1R+YLRVsjaBdbu3yG/AiIXrtwAuT9pNUvsslracFEiyBMMy+OJbhC1lLdZYQBTdPITF8fWW0CjJbMP6xNnqf5V5mizNqrr8oYNgyOxVfTMeACMg4vPqV4GfoiWhOptxsSIxOYJwQcVaAKsn1A3fPTyLM1sgjRHt0uYbDAj+LDu9mScOdWosYTiQLLEzqGOmxwGrTWCKwAHf5S/T2U+Ei0OvdBYYwEyXvbJPWlJiJQD9aLb85JpcLw3GSS8mMfb/3EuIif47UNf/+Z2r6HImyhBh3PFG9r7pRSc8OWQH3L+1jZdlnxfPyjx5fDXWrsNCkGvlCK7MUzLF/s8FN0Y6PX9u6VdzI9grsB6wllzxkEP41ZCvsMhlb9ZMLqSdDwdWw11wCePesS7Cnw8aRXs876fHreaQ8i2Lm50J6cr8OeEVF/t75gpbtD1DqbyEO12GSP/4J9xk3nUgF9cPywpHTdrOb1injNCcVsF+5cprMO8X4kSPWvgy4ajTuy4mWBdAH3PNUaJ2EcHuooL8VKINoBWRpq89u2KlWEwEs0kPbwjyL7ZTVF9SJhn4QDvesJ7bw6/HVzM7kj+2kuwx30PaMTOM0ZCWBOYPU8jdRhzvvjHgk1MFyVlcR1XDpL5KkqtKZnTCCUVQkIVEJkgzTUtNPCs1VaryJvMaKn92/XdWN5kjyBa9xb5BCAILJ2IOxZjmwE9I7kUKGSHGgZ75vreijb1Qf0EDt1sL09oYk/dqMCMiTP80eiVn/RmTWTtOCSDyQ66mgI+mHSHKxmbeKfhf841hTxI869q7TuZ2NNu1fo6j02aPqZBPBZgZ03QOTmgBwPxIDAahkSppPmRh8cijQnTjUgpwr0fTS6gWOrP4CppWctk1zaiVZT1jD224yFqrYuFQFACRiL5dfVGkDK1YsVy80vo7QYP3sPrrbB8I4jPdwGy7ya99L/e55563MCi8RN31JfcNOyExiizhvivHx94dPSldIbsX7NebBCWWqH6Z3sqUTyw8ngSmqzBl9ZuKlZjzA+XLcRusnl1JnBMUMFM1b8lZtzwttRtPS7YLFaTnlwXjZNzsCpcYcZXCMRXEYTZGm9oL9RUxRRGhZb9VgkpTv4Xi7z6AzSG5Kx88noUfUQz30bG0aFoCRecf4g/SZ3MUz+F4KuA4HEEwKiG8JxTTgBhDYj0CspLbGtSiPUW9dYwHDASgrg30l2Vr24UPjeBrsZJB1uWoazhJUYFaOWoKha1PjPzhjtpz0YLdaCoE1rKIG+UFRvrGKiQk5ZiY+GEfkzZGhTQNJoA5SeannKzmCD91ZN/G4vpvy62yuHRye46PQ8VBWoKpHTiq0OCrqMG28A9SLtfjIOTfBzKe+/HJKJv3P2i6ZGOKDn+3IMuR3DxQjVLjuZFo9WnIN0YYDOsmkkFkJ8+v7+gpXJLkWIyqfUPF3942O+mmSY5MNGL1C/EDi8jQCYWddR/dQWV5+7diF8kaCiA+B8HUuk3P5horSJqdwZ8EjmtcQTPIiGG5fA29j+tSGPZOx6fNQg9wKzDh+vSk2HzCFNfdDN0eTe3wYPB2zt+ycjzr4NkMj2YKPARIFdBKE2S93XNzCtR372KU1UixPPzwQNm705dKhgYwdvTP4b3p2r8tR/39vZTv5eJ1qR2VHQd4ppWBk6G8I4FeuC4fNRYOK6ovSPaEyCKVP6Sw3Epmv1EN29Ui0XPOarpr0jlSDHpD+bRk9cEqzQMQXt1Xy6yULaHpFAbrTw8h9z6kgoDwHM///+43YF/+ycE3bmD3Cx8dtywRVhglZ/d73uJQLslgFAMyuwKa4T3OOSwkCkv4VjZdWFxUIBrQWHbgzlblfdfeeS8dfrqNwRoSlpnKckZ2pZOT6VQRyTBtirXBXcQyc8zvLCiUGEDyeWTvSmTQGHJS/4TpyqImTV90F3I0JZQzTYgABZXp7hXSjTtUdgRA/wcPGOXn0ulFi586crzjrCDmgDkYeaXn7USqrPp8WFPVqrCGCjgkTsAKKixkKpXUdwYNyor9TGVNBcBDgkdpZQfV5yQ+AsHdFRVYEWiZm0bDo38ZNjPOUt82VAzgN1ALs2nmklz6eY6M5veSd7NO0SWYll4QWMjBh+QVfrjfA2xHFDkYS5jwogCF6gZdbfGlzij9MEPZQwGsFMZ9lVs/Ty4zWs2MZFIaz/30uiElpRQBMsHywdtGTwUUzdWfqJ2FkF/AaxAxaU/aUJV+NjnC66DopQnbMjhVDPmiXxFniSvdrQMxxk7iciDW/GeMlWBIl7Fpa45D7og/QHTB35MBnkoXxEbu2jFwMrrAeLEdLiY8tiA9omy9fpymO/sN3ZSXz4P2CZVpp2bz7HX1qhkyK6ER82j2BzRPXBL3zkAowyMw9/2K/DtwTrRA7quqsTTTXtfAxsXOv6/5KEprqsCZAPCTfQIfHdoCDeUuCA20liR19VC1fXcf1MBq9gWG/2ZaRR4ojB/qhoSDhapoEds7qhAs37bzJwROv6kjSt58EBWxvdey3yiF7z/7CDuBxXFhYntYT71VOAc624s2m3KO9Vujb9aEqNWcRuAFR64E6xUvQB0B7MNK+QXqPLFcun1iZRZB8Wb5MdGhSnWWaMak1KNo6OVyuAV+yTWbDjX1FNpk+/qv+UTZ0bqnxNm94BCeMj6QZc/SHw7XOON5KEfrwBmpgVkJq8DvirTCIrdYRoC4zVNAphSWZ68pRjDe2dwmtLYAF1AasgOx+Wen3AMoLzkkRFI5Bo/o+OYhxfx7lP3evtFXhRU60lXWuHu4P6ku6oHQcVx0nMMq9LPdH4LiBu8rRnSHjVF/b/0zPVBuFWXFttRUhsCrGxE+XjPOTvriWoNmDQ7FA047bB6Pl0gICnu3CN5GZIQ79FWXUmRaDZuRganwoyO+/fw71UT7UOndxD8MAOoOurshcbH/ua2gvt4rhb+3Hn9yl9CNxINVKkx6MAtV3OXz+mpQ6IoiszknmR1yNJ37uBEyv4CsrdJiJ/BFBZOspAChgr/DF32R7zcJaeivKWDB92RxUcKVLDkE6Kpvlct1qb5rIuEcUeqizXpula/0l9vId0cPVIRL/TM9Ar+nyDyYVW/k/Rz36WSiZ0pzlTt8vmSOHP7feG35FbsPF60dU8yTzh+byusgiN2WCcEjdDxeyQQUPUcmf+RXifsfnT8lOJaE4fGtyBQyIWzyYhWt1yDmSz+/xooAMAkIGS14ZihjV/NwaiJRKD1lJ9rxHOhXxdoBlCbqkpvWQlyLQeiuoJMYAv97Qxu1SN7PJNjb6nkVjk1iCkq8uQVj5lFdlJs5wiEEXB+/MgUU9GVlUo5V/LdsXbBkSmnXJgkfllaW70pebUOrLz/1WpZ5SER3/gkyV6AY31+Gr0mDfheXLYM3PCvlrhxwNc13+uTrfzSpkV0AU8zYshUPd8a7jv/0iekb8Gy9k/yq1fjPWVO7/nWbLRJi7u0SrEvizLBexFJ2wcK3FactOVCz0Aku/rk0owjiKPcMe4w6G68hwIyZB2VvcEHRwPOsfFH6QkjPFK7u4WwArFTGFueW+3jd/Ay08TEQRb4KuY6hNXJ30DO4YElWfU6d0s4lf86r7wwN72USTM0WEnn6geiijgziEYo1ivY8TXY6Ifplp2I7qabO8/Kfu+V7tKlHxwfPUghXBJzkj+B02IT9XXiVrhWoI71+5ZzY8BQGo6tVBg1f/dR3RR7/SZfU77PvQTxAUFjDQ6o2ASI09PU+zoKdADt7AuTZlEyCSmTrUnPrfZgeyHdMQpYtE+rXMG0kJAB7fhjgWsrOHpuP3Y6GnjwzUuQGaPEsQ767wx+3iq5iUGsaHzUf6y/i73J/E1UBD2qAhGhsUqtNU4I8HCc+OW+4/xX5F2lVuqsn4a3Ckn+kI9CZd8D00tAk3D3RxSLoNAjK2fi0jYQHnYmKsXcRkr/crMrB3otk83EVqEQ7Vk7wqwR2v3lQSmFOx+EouYrznaLWP6uEHWSwDgcpJg4uxrtwgqTL8166F/XuUuvlZzl+nlOi0c9248a91T/FX7IQQCg35q+VLbvoLGFPGVs36NGRNJAeeJL8Jf01j9UpxbRrB9l2N0cS4RGAOh83/TNj+14Jbkcfd+TWLcsgA6wsTQ62mOCGN1bkfecw3p5SAnrUEbo1zI0fVRL+4c9BL2KR20LaYC4NQtjywASjgglRuVuahKPvHuYM3ooEuOHhB2mxR4xg7ZShZolifbnX1fo6UUGt38xH0Q2Fm/Vw9xvYlgGDnjyuJAm4dtorDUFq3lqnPfenYiD+xFSG3GgwHw4mRWZDcIR4gIsMeClZR14lF1ygBYUNw9rV3Tbk9KvTVGlsvrOVjGjr4/MJ91AwVAuJQkxOTza6LhYmDHRCJ4PrHO0zNaXo9b0BJtfdT0an+Doaq15kfnfuEPy9x0Z5lIzwYA2efurgIvEktizfohZAZhflxemF0BhLd8Q0tNbq4wNLjrqnYIIuI3HQJMnvs1i3fXQuLHjXuNDDtOkL8ZwoSiNdJgcLfQMKwayPsL/n5XIR33v4C/Oiwv6PLeuHz9kA9hD+LE5DPz49pOUH1vdxbI/ILQS6Fybtl1ag4dNMVvwBU09NsqRKmHkU2EvhbyS5JckhusgWWrQU3EY37mNvukp1lLgEu7v1w2K7HI/f/mwc2nP7dEewU9wcp+va9amwL79wA8Zn6oCOmsjP+YRMCLKnmd1nWRcOyEjhiwRKACGe+NuZPsD3AVZ7O+SVSlPLGzZyrqd8j+aCLoa8D5WbGSzKMphfF8z6HZ+QSMKTGzB3uJ/SKlI8ejtPWibxJ54K9T0bCF5UKdwLTny9s5FVjadjaZudxY//6ZttZne58GqG1cyHwkx2IAEBu+TREIROlgwrYOy8cYosj1oHCMyaDn9OItmaignAZxzQPtoOTIxhIvK30oJ88GNGlIpxinMosIek0sFZ7zMwoI4BxjN7XEYm4+1hKrbP+F/8wL4Ka+wO0Db6+rKBfFZmmg9TUqxP7cjdeovR+d1BczfOFucCk7IcLrpNkoLobaIUF52IhNa8D7YPWkPXfuBthxlGZlHYHIedzlB9AVg9mkuaQYg9HD1a/1J2JnOnIzJnkhFykyVfnnHXA4k1kmF8Ln7Az1mRKej8wldDL0STW/gqGG+MWjKEFCi9Vy4MIFG21GU6KyHzXETdRm9Rk/XqhpAABaMnGXiOgap0/npVHvGi895/jTn5CVYp54KjtuNDUz3sjG0ZtmssPXO/Pzi2IoWbrcNGw3dkJlRUxl5jCHd6CVWp9LXbG3d+/G8p0pUejyWD1F/p7sdQq/K+8WgA0A8pRSx+GJF117wVcxBpZWlSbwi3kcmutV73S/pDH7adCRbkFEEfdXFhSJI034MMSglKpFv660bXXPPAomIvUMMlTONLjlep+OPSautFjINuh673C7kqDBNzx3Am5+vt38WR1DRRB419iPS8G7hM/yocbHpYRcfEfO5xDF7D9wEtj/rcy8Vp8LWCWT6E9GeZwtRiclIHbDc+aff6zT+4FgI07iTZaawSfYixZBTZ60HFKiWcMRFsYI7ML9vWns5h3UEJrlh7nDo1q8NbHFLS1fZInjWUbm1srLjGdsIEZv24Yvu+BrTIoFtULvDCb7hJaJQ+GEjU8FZv16jCHEUk1Exh523TdFR/uAM4ZTHM5T9Uwqzy4k5wdmiO5mEI4/QayKNXmpZQ/4QewWSEWV/f/G5BvP82WeQUMGCGvHprO5J9mqhgjOpRXaHFBVcnqn++zywVy45/bDHtW/s9EiE/psRAMqxlURzRxwdz6m4UQsbEmE8sCdBQqfgrzDFdb9hIP8PF+YaVGDS3BR3gROENS8XMpZvuz4ryozoWWsXB2xvvyqH/rfDwmTMmAJaytP/5WTgoFdhHDU2NNoTFZdZgj2ZnGWY681Qqd5RMjnG7gJbV0bGB3wquHkUc8NlIZ8dv8sr2ekAMboqoq9tyO8IWjxB2DzQ4iSxkQ+W9U+WPjNwBLwOrcEKx4up3sp78ttOyiBl/QdHfp0pDCLt6lFbTjrdtTrZveO/X9WKE66kcFgANMiPzj3qm5Hv8IJXct46ipOb1xo1gewHcvKlTeO3MPYLJ8WRfzpOVDpqJ6zUhonJhhVlOW5uVRYTMLvMCl7ydItJtXReXA6r4TbV0ieHMoAnR/0HBMgLYzCV4hXvCaVTVXgemzL3fbyZtIXovTv2llr8OMILbuNqtB05gJ4SSLXDbkbgzZm7eXFOn1+Ij9eqPeg0NPkCoxj1c8k2CLyz97viPPHMVvpBvo0iyRDdrOAdZXMhF2HyaF4RCOSOReRdOSIUeD5RcweIG/ZX4OJPcqn4xaPkBI4TwW9OJ1QpjPjciTxTT60C/WZkSlxgeIC2RcqpVigbQohGOOT0ab1Ua3gtrgylXyCTsiqEM+b4hk7KgZeU/voN4SasAFfPnQUKwD/RJY4Ra9JnYU/AVSk/5tVPwUZw6RuQc5CTA61iMi+oTu+keapuDm3cSlGZUw6EAhe/lIJObC8BCEwHN9ckluPKMtnqk4Qu0w0eJdyURRHt1HdiF6CBgY2fiuiBoTOkFqR+DI1G6aNaXW+fEeA7Va4G3v1DIehK8DOarsORhYKGXQKp83d468PPrARVDZPdsBXJgKOMrP5wW0IFZ37zsmnfKPZMCtPefG1BgW3Q1+i6SGrEfyf8EPSUg51H6w7327kIhBatyRwbbzW7XDdgyzoNBJvPMG5PZKIH+6IZNuvQ31x3iDrHtQDr5j7RjbOVr2QrwHK3LhP+iJIyBlqid3pg393hQO06h2HZJozGrZ0UhQ9UxOv0i/WJSC5/8HqnmsdOvyvfOOO5wM0whp0KTmpGqQmSNqa7U0IxS23Jqwuxewo+pB4QMhIBIAvijXvK1yn4LsdNlp281ps0h9T1+lK43DTOLTbAsvUghELUflrCN8ZE6sjW7sIzsORpcUbY7foY72S0pcIXhvnHcD1G92mEkhKwkOfcJH1JfLPCg7qxxICYFnjZGeU3zC4hGcAXYfCpDg4gO5et2vAMpTzz9Knyv7cs3bcabjP8Ys2Uks9uLNs6wIuFNq33gUqEu6lDT0qedgAH2bP7ZP4sul9fHPUaU/NgS5HzokgmACRm8vetAYS8qO/vJLzhzxd6CJ1Dn8GLzFZvM2VNrjXAI3wEEL3wAAvTON40o8lT3O+CJ4h2W1kCNE+YSA1YMZMdDvysXMdIHnQboRS5FuB6Eyg/uohpB/Nl+FIrCdMhlT4s54iy1ADVm39S18mpDALK2F4/oOfLtw5W7zjEzd2SDCYFrMuMaG401zh2SnyzcEE6AIZSOdilMvVemCiMysGe6nnDuQrD+1ljMK/aehx2PjuDkv4PIcgmwDCBHF/Z1SE4KQjONK/OkPM2nPsRUIowpnzYAcWihztLON2za71DiM18Ib06Lxd+R0PK4LvAyQ/W2HJBTP2F5FbScvgObrex9eWQuWikxfVBuM5Q6DHzk7cZubyxdIRWs5WZR/Wkc5YxfyK3jPelhLhDSgmR1Ue5t2ALJ7MBOWAWOOIRCfat+To+e58zlbN29UfIkFtgOpMn97u0Oi42HScr6B8XZeZ2LvCr8bNlA/LRnVgPKN7Y3vA6UceEHeWrHIlWV5DJtD+tF+P2fPuS9iynu5aStLYioG7lRoBBuuatFJc30T9LOSMN0sLj6QoGOZmKVJzs1aD1DJN43q11Gk7uxv826Ai5StsPj3ihr267LvEv+EBoy1wcSYjhpFUZUmGmCt1BfQcfYEe9yRJZx7HIOqTW2LeMFD4f5uQMZuVtZHAdZMMrygu24UTB/4I8zrhGVf8b4uaE25f9K5A0NbkmvRNwHWYje30FDsfesd6S3MRlPMm23N+H7cxJ8a2hIL5Zo8Bybm1j7MEbek4Z/E25MoL7pCk0qykGVyEYhzdRAMbGE1PjI2NIK/luPnA1r1XxqQvEdY2LlKzR8qx1iF/XiWeb1BNxL1xDfeTxwC8hIui5auLc33nalJRmzhAzb0BvPXKhLllNx86iu4FAghhUUz5sL/cff2AOudSMPJLYD7DwuUZ5APsAWKjGTtVV5aFdbVwj1lRvK8LjS/iC/J1U62M/N4Z85h1vWHa0DDqEomVxd/hJXcZr7BK4IOg34ijnCk5y56wJgIofEM8tpQ1vN3pL3/Tr3Zt1mwxmSUWOF2mY5qk6E7NjcVDVa3lnLHxTZAlHvVQOJ414Jdgo1xMobz9kHK5bR55f/CL/FzZJ130P+tzCO1dG6LuI4cjaYCl31YJZcMx8pkY0N7ztGYPb8doiPhhwjX2k8BLu+7TjhlRl6MLaah5WdmwUuJzGbINSOP2+NcBjFTJ4sDC7RlI7QPynfZ6SAR8hclG/daYuvrQ8gTeBhE8gUmMY2rvy5z4TI5pC4NP6Fwth+ctBT5kQ81Nnxjgng1ASV5IdWfkv92XRP0AUsqddKZiKS8T8Y0Y6bxUK8dFa5vuMKFeijbBBmetmFwxxtWJeNA+Db8FRpTDStnlzHclwx3oP8FH0AI/itJTNkzdDRmHB2igSExeP7qJA0EL2pOF9d0y5/E3FzBmH1QSrPyL9Rt7/OrEfQi57Zl9NikOO/JpYGv/JmUA0e+64P61Z+/lJgcKfi4gGD/ybdSyc8PCr0UswrAb6wiu0uLf5I04TqkkqGJ27rg2JJc6n+x+w3jVoHZb6fF7uHGg3aMocUiHugQwl5HedC3gDs8Y4nZCIRyLxA5DpPv09K1hcWlmQ+XL3HpZr2SaVHDNt0eZWhtCOq7tVFVTCmdtwrk/D5Dp+rW7sT0rBXvmDb8f2Z1T92p32MqM90UOjIYJkByDE6xRIn8FCLLkBuKynptLZCrlMqz/uhjObmmx4Ir55onlsHJQlakwP/zkr2CR+QzuFeNE9aIBLbnsNr0TzncAnrupp2E8lLoa2IhIW/ZL/WK13LU+HRkAgFeVIZ8tREv7y+4N2xYfXxLRtWmFvTAVbrog/2+wLUDULEmx5z8TZi0BrigmTcGr5xrgDa8Dv7dwhRT3KVCf5TDxbnyxiDgmQXfMbnAvvCzpJV/XX4b2HK3y5XHciT0Jh+3JKh19GGoa3j+tdoOmtrsMmF9kcIat1QHJFFNq7esLfknF9YirsoVVDyMZ31q+V7psBXW4hcRTLTuMb7VFa01Ewncxq4kboOtKOzEtCki24qanWEEUyiE2HrmXRBgLZPRal3bGm44nTraO5342kcXuWYRQByJcL57km8ngkcCz6yHTbm106isV92281wwHhVs+E2wgYOI7Q0ZUkXnhYd47TR/ONLIC8F95UzQhf9ns5AJuWg7bNLzhKNSl/fiQ5t7MAYHOHZnX4fDSfD2fBl1HWEY2qyOTu9wy3x8AScxw3vTSkuEd2wKZ/PpjieYKE0UW1nZNeAWruH1h9NnDa2tCq1qW17Y+crA6aN4vXT2opOURkJvzCK1/w4667wLFnc2y8vVajNNX2ELmWMbspZ9lUKm3JCHsDvh5WJv1OuaMdL2DPUWVY+kZhZaGhmgCvRVHi97xJTCQQcRTYlohGvy0POJ3ihmAVBsJYoYaH4exeSPOKgKIuaKxAI13aSgua9UsZrkwNZMwIsOxVwYzYTQB+ZiA5xnEW9Ii7FiB2/p2jXpwEMRfQx76w+icxiachrRlwjRNoyyeQeXNZOVc2Cg7hmt2R47JdZNZD6TnMjKu9KBt0s5O1bkDdC6wWitk5PH/zL1n+7azTt7DSTsujPvDq5dYI/W1A/zWPT4NagJ1p6RbvVPAuz7T2+Tr9x64J9C/ELrkfC1WkFvCzP9WFa48xwRQ7DlHYWSb2SoGwnw7Wksq82x82azuRMD2XN2sD6sh5ZVtYDIIN08symov7PdlTBm0gIjh628oUdJAntB5o76IbYKLdjPrNUY1WKBqJZaCwvjKEYYqcHcnYCRjH9FNM3ikK4Zq7e8lzL9beX8jKNW4r7tK1fm03S2mdHa8de3lxU6K6x+V3jMDwPwnehW9Jo7Huzg9wgiLqvIaN9QkJwnfJ7OL+sfA1RxjN2Cu4ocxO23f3m4eA6q+nKX0XHp/tqpsZSzGs8sxZHckUwvgmGYeT1ncBI6eHiCCpRQmPREZMcGvlOKySI37EkDg27/0BlXGfLuShUFjwt1S1dVVmOOFtY91RbirKTURdsqtewBg/e9KJjahK9JqGJOAT+aCkdlWuSCg2SOPmaRYZgSCFMvKeTtWj/N747tT8LIQEVNeV/xK8+Vh1tUoqGH5Hlsychy/eCsY33Zp/nwY2fG8k9t9aRqHDUBY8byuIYCRUMAx3MiYvfHruhquIwk9451BPV4C3S2loIyzAApaySsMLhc/OUKJZBrQhT+1m1dFlnvi60eBYs2ira47z+RYfbx70P9RpJVoPmwKxNvdjuASY5sz1El/kPtSobfxb/t3dxDemVnPfj/2w1a+CqL+dPbULJN08GOoSkS0/fk8tMBYaTDYIEoJszdmBSaSnn6UrPWFhbvoC4GBLRhAbtwpgQJhTUAUfPpBh32noBzH5TwzBsaKisNBHykfvH/wa4zi0NDqBmfjg9hBuhheK3jCSvblFXO5zd+hdrhEt7gB0xQ4i3FZpl2HTJZdRCAXz0yng+LTkZdH6BKQJE3hMTmGwOkcF6D09FFKXDmri9R1EzbKOxnmTowgudFaeBRtloUWVphWMf2VceZTSXlcPoiDeG2tba2c/S74qCsoesHZ8FRgNoPy92KqHCgVCe0K+z0i49lZNRXgbkzMxaYcfbAJ3wea027x5/PNHiKs4Tgh9xTEPLmIrqsCMz4ly8+6mN8UTXvThfOzzV5EV9XAO4vVD4j+KbP1uniD33bBf65W/jPNCoWyOCHtroQv/khPnCIF49fH5Nrsmea4O4V+ATbGf2Wg8cjJcT9bRE2F5uL4GUp+Zi/66NoQhcTgt2SLKjv7S3G8I7DTTjCAqfjACgHJW4DIRmIbtCMlf6m6gWQn82g77asPkYNL3BZYhE4ITTH0ZNO5JrdJ772+uV21TL33j8wHPtd/gzf23JjxqbT9LTAZL7d5Q54iTtznRIgVp8PYdNtqJ0C7//2GH0PNc4+DBF7spHo9GNdtUFGw0SeWoAsJZNZqU3NtVt4firzo8Pj17fUGBryFhlzKnzy0cKPZ8Sad1incuCay7rwk3LrTqvGJQfJwRD3qtVl91fA0QMpu6wGllMRtJOFJ3vgcQwkVqiS+dkc58njFu+YF1VPfYpKnB+B+YptSZ4lUs5pKiwpTkZnuk2hzyiBjie+xtrAYkj4ODDHfqmvWfFdsyYMjUdSNcaAuuA1FGNmB7m5+kYMAVPATx5NNbilHXFA06tIk0E8uw+BaXHTOV9Ae4aL1JjaK+bZa8kiz6AWO0F+xsqai/A0pwFf9lEF+t/oCRhBKmSBg+RIc7wo9BGRnH+Izw2MrY0M+v9yxdePuYaR75Wkn03seFEbvRMH48Ku9Uu5SI+1tGyGXeesjcVaUSOarhFlxkz8FqH1FeFYtRl0yAnKcJqjrwF1/iaR3Nm/XPIgl+gEU6UG3MIML7E2uILZAQ5OzhWnhLg26cc03WhcWJvmteRC2hkO19YH6CYVTs4Q7xJ/N9BnDR98LSleWW/i3zgfXKmUHpiI8D+qd3rzw8/bJn+IsC5ifzEStkgjU6CO5UEf02ipvArruijuHU8YlCAO/HGWTWz4Y4t8Yy3CrlX5sqA8hGVi7JN0sLl0EDbkFxyFob2qoT2ttu/9Uod/JITTk+Zd6iKsPjIzQqnDtFvHnwXLPZngPoL3AEHBHSqR0ewRAecQ2cdhTCDuVFDRmRWxfE5+pvTILyQGV/zqZk3+Nf15WVHMIQmetNoGHb545KMa9IijXPo9me1T6hKzDOM5jPxyRTj0PqbXzEzIZn8QoGSyGMaOu6XcS5m/nouwqI9AtuqOuH6wEKoi3VRcOtOHrsdg/WUUxZ7VeHJ1H8TNlzHiY4PMYPUiRkj3a2EByXBdX4QbNpR4vQ64HAcNgaR3zibr0760nKMokus/8J3MZ6bx/WmYSG4xjW6a33MVoKT372x+noVwMfPvNS8m8ahlHK4x0Om0qx8UrJYQNudbCC8mufKKZ5bD4+xsabL74vr8JQKnXzy0JagGapnmFm6K3nwMGTP2AvAXwbNiNpoB7jhy1Q6dFY+o/LDYUOwPRgc1ExKPHDxVeMCRoxKt0K1P9xrHGZXr8evD69UNzTfVXdEQowCLDS2ayLtCwffJGydb4ruSXzOp74KrpxFabqxc9pU6Kh81TsjEbS3Th4KdXnPY0F0bK9t2k+S9Li6WcnKKNUcpy3PgUZ1RcAgMvbMUhwO4vf2MDck6+u7CeEO3z0Gf3IuSk/KIM+NQEhNfyMcIJzkPWn9kbxmnUEda93dpSRKmAwFvW82g2PiUlR8/ehaWrfiIW5Cw4uN+YPdM0acckpyFuuQDWZJSrWku4ebbQNJMuMYAQ=="}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"6eb34f67-d786-466a-bc00-07ab76ac95fc","uuid":"52e7466f-e9b9-407c-92b1-e4c455c16360"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "off", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2", - "run_number": 2, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:01:18.584544+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:11:22.363143+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run2/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-jws1b2du","session_id":"6eb34f67-d786-466a-bc00-07ab76ac95fc","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"56c77ec5-5ee8-4b8a-9272-0d446ab674ba","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01X29BtzYaMC2jWB7TWdVdLX","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game in TypeScript that runs in a browser. I'll create a well-structured implementation with all the standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The main TypeScript game file\n3. `tsconfig.json` - TypeScript configuration\n4. `package.json` - Package configuration\n\nActually, since this needs to run in a browser without a build step being complex, let me think about the best approach. I could:\n1. Use a simple setup with TypeScript and compile to JavaScript\n\n\n2. Create a self-contained HTML file with TypeScript compiled inline\n\nI'll go with a proper project structure using `package.json`, `tsconfig.json`, `src/tetris.ts` for the main game logic, and `index.html` for rendering with HTML Canvas.\n\nFor the game itself, I need to implement the seven standard Tetris pieces with their rotation states, handle piece spawning at the top center, apply gravity with increasing speed, manage left/right movement and rotation mechanics, detect line clears, track the score, and handle game over conditions.\n\nWriting the TypeScript implementation... Defining the tetromino shapes... Defining the rotation states for the remaining Tetris pieces... Defining wall kick data for different piece types... Setting up the game mechanics with a function that calculates drop speed based on level, then defining the core data structures for pieces and the game board, along with the main Tetris class that manages the canvas, game state, and all the key variables like score, level, and piece tracking.\n\nInitializing the constructor to grab the canvas elements and set up event listeners, then creating helper methods to build the empty board and handle keyboard input.\n\nNow I'm handling the key press logic—checking if the game has started, managing pause and game over states, then routing arrow keys to move the piece left, right, or trigger a soft drop.\n\nContinuing with rotation controls and the hard drop action, then setting up the start method to initialize the board, reset the score and level, spawn the first piece, and kick off the game loop. Writing game logic... Writing piece rotation logic... Still writing game logic... Writing game logic... Finishing the block drawing function...\n\nNow I'm implementing the ghost block preview with a semi-transparent outline, then setting up the main draw method that clears the canvas with a dark background and starts rendering the grid lines. Writing the rendering logic... Writing the game overlay screens... Writing the next piece preview... Setting up the game initialization and now thinking through the project structure—I could go with a TypeScript setup using a bundler like Parcel, or keep it simpler with just tsc and a static server, but I'm leaning toward a self-contained approach that runs directly in the browser without extra build complexity.\n\nI'm planning the file structure with index.html, package.json, tsconfig.json, and the source in src/tetris.ts that compiles to dist/tetris.js. Now I'm ready to write out the complete implementation with all the core Tetris mechanics—the seven tetrominoes, proper rotation with wall kicks, and the ghost piece preview.\n\nI'll also implement the 7-bag randomizer system...\n\nImplementing the bag randomizer...\n\nNow I'm setting up the game timing with frame-based speed progression, where higher levels drop pieces faster—level 1 drops every 48 frames but by level 5 it's down to 28 frames.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"6eb34f67-d786-466a-bc00-07ab76ac95fc","uuid":"52e7466f-e9b9-407c-92b1-e4c455c16360"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_013gT56c5o9dAixhBAjZEnR3","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser, built with TypeScript. Let me create a complete Tetris game with all standard mechanics.\n\nI'll create:\n1. `index.html` - The HTML file with the canvas and styling\n2. `tetris.ts` - The TypeScript source file\n3. `tetris.js` - The compiled JavaScript (or I can use a build process)\n\nActually, since this needs to run in a browser, I'll create:\n1. `index.html` - Main HTML file\n2. `src/tetris.ts` - TypeScript source\n3. A compiled JS file or use a simple setup\n\n\nNow I'm planning out the core game structure with the seven standard Tetris pieces, a 10x20 grid, and mechanics for movement, rotation, hard drops, line clearing, and scoring.\n\nWriting the TypeScript code... Defining the tetromino shapes... Writing HTML and CSS... Still writing styles... Building the left panel layout... Setting up the game constants and piece definitions... Defining the tetromino shapes... Setting up the canvas contexts and initializing game state variables like score, level, and lines, along with timing properties for the drop mechanics. Setting up the game loop and piece spawning... Writing collision and rotation logic... Writing game mechanics... Still writing game logic... Continuing the game loop logic...\n\nNow I'm finishing the block drawing function by adding the 3D effect with highlight and shadow details on each block, then resetting the alpha channel.\n\nNow I'm setting up the main draw function that clears the canvas with a dark background, renders the grid lines across the entire playing field, and then iterates through the board to draw each block.\n\nStill writing rendering logic... Writing the rendering pipeline... Writing the input handler... I'm realizing the message overlay positioning is tricky since it's nested inside the relative container with the canvas, so I should draw the pause and game over states directly onto the canvas instead of using DOM elements. Let me restructure this and also refine how the preview canvases handle block sizing. me just keep it clean and use the BLOCK size for everything. The preview canvas will be 4x4 blocks.\n\nLet me think about the canvas sizing for the preview:\n- Main board: COLS * BLOCK = 10 * 30 = 300px wide, 20 * 30 = 600px tall\n- Preview: 4 * BLOCK = 120px... that might be too big\n\nLet me use a smaller size for preview, say 25px blocks:\n- Preview canvas: 4 * 25 = 100px\n\nActually let me use a PREVIEW_BLOCK size. Let me keep it at 30 for simplicity.\n\nWait, actually the panel boxes are 140px wide. If the preview canvas is 4 * 30 = 120px, that fits within 140px with padding.\n\nLet me finalize the code now. I think it's ready to write.\n\nOne more thing - I need to handle the `tsconfig.json` and compilation. Let me check if TypeScript is available and then write out all the files.\n\nWriting the implementation...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"b6af3229-4ac6-45af-bf46-d7ebae854195","uuid":"137278b5-ca31-4006-b124-b413a1b75bb3"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "off", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3", - "run_number": 3, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:01:23.725642+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:11:27.432923+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=off_tool_write=on_web_search=on_run3/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-g82l3q6_","session_id":"b6af3229-4ac6-45af-bf46-d7ebae854195","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"1159654c-8b7b-4c98-9728-926adc9ed2b2","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_013gT56c5o9dAixhBAjZEnR3","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser, built with TypeScript. Let me create a complete Tetris game with all standard mechanics.\n\nI'll create:\n1. `index.html` - The HTML file with the canvas and styling\n2. `tetris.ts` - The TypeScript source file\n3. `tetris.js` - The compiled JavaScript (or I can use a build process)\n\nActually, since this needs to run in a browser, I'll create:\n1. `index.html` - Main HTML file\n2. `src/tetris.ts` - TypeScript source\n3. A compiled JS file or use a simple setup\n\n\nNow I'm planning out the core game structure with the seven standard Tetris pieces, a 10x20 grid, and mechanics for movement, rotation, hard drops, line clearing, and scoring.\n\nWriting the TypeScript code... Defining the tetromino shapes... Writing HTML and CSS... Still writing styles... Building the left panel layout... Setting up the game constants and piece definitions... Defining the tetromino shapes... Setting up the canvas contexts and initializing game state variables like score, level, and lines, along with timing properties for the drop mechanics. Setting up the game loop and piece spawning... Writing collision and rotation logic... Writing game mechanics... Still writing game logic... Continuing the game loop logic...\n\nNow I'm finishing the block drawing function by adding the 3D effect with highlight and shadow details on each block, then resetting the alpha channel.\n\nNow I'm setting up the main draw function that clears the canvas with a dark background, renders the grid lines across the entire playing field, and then iterates through the board to draw each block.\n\nStill writing rendering logic... Writing the rendering pipeline... Writing the input handler... I'm realizing the message overlay positioning is tricky since it's nested inside the relative container with the canvas, so I should draw the pause and game over states directly onto the canvas instead of using DOM elements. Let me restructure this and also refine how the preview canvases handle block sizing. me just keep it clean and use the BLOCK size for everything. The preview canvas will be 4x4 blocks.\n\nLet me think about the canvas sizing for the preview:\n- Main board: COLS * BLOCK = 10 * 30 = 300px wide, 20 * 30 = 600px tall\n- Preview: 4 * BLOCK = 120px... that might be too big\n\nLet me use a smaller size for preview, say 25px blocks:\n- Preview canvas: 4 * 25 = 100px\n\nActually let me use a PREVIEW_BLOCK size. Let me keep it at 30 for simplicity.\n\nWait, actually the panel boxes are 140px wide. If the preview canvas is 4 * 30 = 120px, that fits within 140px with padding.\n\nLet me finalize the code now. I think it's ready to write.\n\nOne more thing - I need to handle the `tsconfig.json` and compilation. Let me check if TypeScript is available and then write out all the files.\n\nWriting the implementation...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"b6af3229-4ac6-45af-bf46-d7ebae854195","uuid":"137278b5-ca31-4006-b124-b413a1b75bb3"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_016uSMn869PFZYQZscupCqJC","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game using TypeScript that runs in a browser. I'll create a well-structured implementation with all the standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The main TypeScript game logic\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript configuration\n\nActually, since this needs to run in a browser, I'll compile the TypeScript to JavaScript. Let me think about the best approach - I could either:\n\n\n1. Use a build tool like webpack/parcel\n2. Compile TypeScript directly with tsc\n3. Use inline TypeScript that gets compiled\n\nI'll go with a simple approach: compile TypeScript with tsc and serve the HTML file. I'll create a self-contained setup.\n\nNow I'm designing the game mechanics - I need a canvas-based renderer, the seven standard Tetromino pieces, a 10x20 game board, and controls for moving and rotating pieces. I'll implement wall kick rotation, line clearing with scoring based on standard Tetris rules, a level system that increases speed, and a ghost piece preview.\n\nFor controls, I'm mapping arrow keys for movement and rotation, space for hard drop, and C for the hold piece feature.\n\nWriting the TypeScript implementation... Defining the tetromino shapes... I'm setting up the scoring system with points for clearing lines and defining how many lines are needed to advance levels, then planning out the full implementation with features like wall kicks for rotation, ghost piece preview, hold functionality, and a 7-bag randomizer for piece selection.\n\nWriting the HTML and styles... Writing the HTML structure... Writing the game logic... Defining wall kick tables... Defining the game constants and piece data... Defining wall kick data for rotations... Defining wall kick offset tables for I-piece rotations...\n\nNow I'm verifying these against the standard SRS specifications to make sure I have the correct kick data for each rotation state. I'm realizing the coordinate system matters here—the Tetris wiki uses y-up while canvas uses y-down, so I need to be careful with conversions. Let me just implement the full SRS wall kick system properly by referencing the standard tables from the Tetris wiki. I need to reconsider how kicks actually work in practice. The board uses standard screen coordinates with (0,0) at the top-left, x increasing rightward, and y increasing downward, where a piece's position marks its bounding box's top-left corner. When rotating, I apply the rotation matrix first, then test the kick offsets. The SRS guideline defines kicks with y pointing upward, so I need to negate those y values to match my canvas coordinate system where y points down. Converting the JLSTZ clockwise rotation kicks from the guideline gives me the offset positions to test in my coordinate space. Now I'm converting these to canvas coordinates by negating the y values, which flips the kick offsets to match the downward y-axis. For counter-clockwise rotations, I need to derive them from the guideline data—the CCW kick for one state transition is the negative of the CW kick for the reverse transition. Now I'm working through the I piece rotations for counterclockwise movement, mapping out how the block positions transform across each rotation state and how they translate to canvas coordinates. I've already mapped out the rotation kick tables, so now I'm going to implement the full TypeScript Tetris game as a class-based structure with separate concerns for the board state, game mechanics, timing, and rendering to both the main canvas and a preview canvas.\n\nNow I'm thinking through the piece spawning logic—in standard Tetris, pieces appear at the top center of the board, but the exact x-position varies by piece type, and I need to account for how the I-piece and other shapes align differently on a 10-wide board. I'll simplify the spawn logic by centering each piece based on its width, with the I piece starting one row above the visible area. Now I'm ready to implement this—I need to set up the TypeScript files and get the game logic written out.\n\nWriting the game code... Defining the piece shapes and colors...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"434cef12-764f-4657-80a6-801afb9b31f7","uuid":"1296378c-6431-4736-ba93-6d74d7c76168"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "off", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1", - "run_number": 1, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:01:39.171001+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:11:44.033905+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run1/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-ibfz5vun","session_id":"434cef12-764f-4657-80a6-801afb9b31f7","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"e488db9b-2d07-4bbe-a9b3-6caf45d1729d","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_016uSMn869PFZYQZscupCqJC","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game using TypeScript that runs in a browser. I'll create a well-structured implementation with all the standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `src/tetris.ts` - The main TypeScript game logic\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript configuration\n\nActually, since this needs to run in a browser, I'll compile the TypeScript to JavaScript. Let me think about the best approach - I could either:\n\n\n1. Use a build tool like webpack/parcel\n2. Compile TypeScript directly with tsc\n3. Use inline TypeScript that gets compiled\n\nI'll go with a simple approach: compile TypeScript with tsc and serve the HTML file. I'll create a self-contained setup.\n\nNow I'm designing the game mechanics - I need a canvas-based renderer, the seven standard Tetromino pieces, a 10x20 game board, and controls for moving and rotating pieces. I'll implement wall kick rotation, line clearing with scoring based on standard Tetris rules, a level system that increases speed, and a ghost piece preview.\n\nFor controls, I'm mapping arrow keys for movement and rotation, space for hard drop, and C for the hold piece feature.\n\nWriting the TypeScript implementation... Defining the tetromino shapes... I'm setting up the scoring system with points for clearing lines and defining how many lines are needed to advance levels, then planning out the full implementation with features like wall kicks for rotation, ghost piece preview, hold functionality, and a 7-bag randomizer for piece selection.\n\nWriting the HTML and styles... Writing the HTML structure... Writing the game logic... Defining wall kick tables... Defining the game constants and piece data... Defining wall kick data for rotations... Defining wall kick offset tables for I-piece rotations...\n\nNow I'm verifying these against the standard SRS specifications to make sure I have the correct kick data for each rotation state. I'm realizing the coordinate system matters here—the Tetris wiki uses y-up while canvas uses y-down, so I need to be careful with conversions. Let me just implement the full SRS wall kick system properly by referencing the standard tables from the Tetris wiki. I need to reconsider how kicks actually work in practice. The board uses standard screen coordinates with (0,0) at the top-left, x increasing rightward, and y increasing downward, where a piece's position marks its bounding box's top-left corner. When rotating, I apply the rotation matrix first, then test the kick offsets. The SRS guideline defines kicks with y pointing upward, so I need to negate those y values to match my canvas coordinate system where y points down. Converting the JLSTZ clockwise rotation kicks from the guideline gives me the offset positions to test in my coordinate space. Now I'm converting these to canvas coordinates by negating the y values, which flips the kick offsets to match the downward y-axis. For counter-clockwise rotations, I need to derive them from the guideline data—the CCW kick for one state transition is the negative of the CW kick for the reverse transition. Now I'm working through the I piece rotations for counterclockwise movement, mapping out how the block positions transform across each rotation state and how they translate to canvas coordinates. I've already mapped out the rotation kick tables, so now I'm going to implement the full TypeScript Tetris game as a class-based structure with separate concerns for the board state, game mechanics, timing, and rendering to both the main canvas and a preview canvas.\n\nNow I'm thinking through the piece spawning logic—in standard Tetris, pieces appear at the top center of the board, but the exact x-position varies by piece type, and I need to account for how the I-piece and other shapes align differently on a 10-wide board. I'll simplify the spawn logic by centering each piece based on its width, with the I piece starting one row above the visible area. Now I'm ready to implement this—I need to set up the TypeScript files and get the game logic written out.\n\nWriting the game code... Defining the piece shapes and colors...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"434cef12-764f-4657-80a6-801afb9b31f7","uuid":"1296378c-6431-4736-ba93-6d74d7c76168"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/claude_output.json @@ -1 +0,0 @@ -{"type":"result","subtype":"error_max_budget_usd","duration_ms":567834,"duration_api_ms":91918,"is_error":true,"num_turns":1,"stop_reason":"tool_use","session_id":"9b662fc2-2fa4-40ce-93e1-bfdc5169357a","total_cost_usd":0.7511340000000001,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"output_tokens":8000,"server_tool_use":{"web_search_requests":0,"web_fetch_requests":0},"service_tier":"standard","cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":488},"inference_geo":"","iterations":[],"speed":"standard"},"modelUsage":{"claude-sonnet-4-6":{"inputTokens":6,"outputTokens":49773,"cacheReadInputTokens":8970,"cacheCreationInputTokens":488,"webSearchRequests":0,"costUSD":0.7511340000000001,"contextWindow":200000,"maxOutputTokens":32000}},"permission_denials":[],"fast_mode_state":"off","uuid":"89b93679-2a21-479a-b828-4675c5a775bf","errors":["Reached maximum budget ($0.5)"]} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "off", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2", - "run_number": 2, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:02:21.252762+00:00", - "wall_time_seconds": 568, - "exit_code": 1, - "completed_at": "2026-04-03T21:11:53.416864+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run2/transcript.jsonl @@ -1,8 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-vcqnhbj_","session_id":"9b662fc2-2fa4-40ce-93e1-bfdc5169357a","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"62812e7b-8998-42d8-92a4-9bb98d583757","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01SDzVwrDAnPeTYsECwxkoCw","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris game with all standard mechanics.\n\nLet me plan the structure:\n1. `index.html` - The main HTML file\n2. `style.css` - Styling\n3. `tetris.ts` - TypeScript game logic\n4. `tsconfig.json` - TypeScript configuration\n\nActually, since this needs to run in a browser, I'll need to compile the TypeScript. Let me think about the best approach:\n\nOption 1: Use a bundler like webpack or esbuild\nOption 2: Compile directly with tsc\n\n\nOption 3: Use a CDN for TypeScript compilation in the browser\n\nI'll go with tsc compilation and provide a simple build setup. Now I'm mapping out the core game mechanics: the seven standard tetrominoes with rotation and wall kicks, line clearing with animations, a scoring and level system that increases speed, piece preview, hold functionality, ghost piece display, and game over detection. For controls, I'll use arrow keys for movement and soft drop, spacebar for hard drop, and additional keys for rotation and hold.\n\nThe scoring scales with level—single lines worth 100 points, doubles worth 300, triples worth 500, and a full Tetris worth 800. I'm structuring this with separate files for HTML, CSS, and TypeScript, along with configuration files for the build process.\n\nSetting up the project files now...\n\nWriting the game logic... Defining the Tetris piece shapes... Defining wall kick offset tables... Setting up the game class properties...\n\nI'm initializing the canvas contexts for the game board, next piece preview, and hold piece display, then wiring up the event listeners to handle player input.\n\nSetting up the game loop... Writing collision detection and rotation logic... Completing the matrix rotation logic...\n\nNow I'm implementing the piece locking mechanism—when a piece can't move down anymore, I place it on the board and check if any rows are completely filled so I can clear them and spawn the next piece.\n\nImplementing line clearing logic... Still writing game logic... Writing the cell rendering... Writing the render function... Writing the preview rendering... Writing the game loop and input handling... Still writing input handlers... Finishing up the game initialization and event listeners, then I'm realizing I need to think through the project structure—how to compile TypeScript and load it into the HTML. I'm also spotting a potential bug in the hold piece logic where I need to be more careful about spawning the next piece when there's no held piece yet.\n\nLooking at the rotation system, I should probably track rotation state on the piece object itself rather than at the class level. I want to implement a proper 7-bag randomizer for authentic Tetris randomization, and ideally add wall kick mechanics and lock delay for a polished feel.\n\nLet me plan out the complete implementation with separate files for package configuration, TypeScript settings, HTML, and the main game logic.\n\nDefining the core types and constants... Defining the tetromino shapes and colors...\n\nNow I'm thinking through the rotation logic—since all my tetromino matrices are square (the I piece is 4x4, O is 2x2, and the rest are 3x3), the rotation should work consistently across all pieces. I'm also considering how to implement wall kicks properly using the SRS system, which handles collision detection when pieces rotate near walls.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9b662fc2-2fa4-40ce-93e1-bfdc5169357a","uuid":"d2a212bc-7cfb-49ab-afef-e0163ea734d0"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01FtjjNm17MshtZaCv4DF5Kq","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in the browser using TypeScript. Let me build a complete Tetris game with:\n\n1. All standard Tetris pieces (I, O, T, S, Z, J, L)\n2. Piece movement (left, right, down)\n3. Piece rotation\n4. Line clearing\n5. Scoring system\n6. Increasing speed\n7. Keyboard controls\n\nI'll create:\n- `index.html` - The main HTML file\n- `src/tetris.ts` - The TypeScript game logic\n\n\n- Configuration files for TypeScript and npm\n\nNow I'm planning out the core game mechanics: a standard 10×20 board with all seven tetrominoes in their classic colors, and keyboard controls for movement, rotation, and special actions like hard drop and pause.\n\nFor scoring, I'm using a level-based multiplier system where clearing four lines at once (a Tetris) gives the biggest reward, and speed increases as the player advances through levels.\n\nI'm setting up a proper project structure with TypeScript compilation, so I'll need package.json, tsconfig.json, a source file for the game logic, and an HTML entry point.\n\nWriting the game code... Setting up the full Tetris game structure with TypeScript, HTML, and configuration files to handle the game logic, rendering, and piece mechanics. Finishing the tetromino definitions...\n\nNow I'm thinking about the full game implementation—I want a polished experience with a dark aesthetic, a ghost piece preview to show where blocks will land, and probably some additional features to make it feel complete.\n\nI'm planning the structure with an HTML canvas for the main game board, a side panel displaying the score, level, lines cleared, and previews for the next piece and held piece, plus keyboard controls for movement and rotation.\n\nFor the logic, I'll need a board representation, tetromino definitions with their shapes and colors, a game loop that handles gravity and updates, collision detection to check if pieces can move, line clearing logic to detect and remove full rows, scoring that increases with level progression, and a pause system.\n\nBuilding the complete HTML and TypeScript implementation... Completing the HTML structure...\n\nNow I'm setting up the TypeScript constants for the game mechanics—defining the board dimensions, block size, color mappings for each tetromino type, and the speed progression that gets faster as levels increase. Defining the tetromino shapes for each piece type. Now I'm planning out the project structure—I'll create a package.json, tsconfig.json, HTML entry point, and the main TypeScript file to keep everything organized and clean.\n\nFor the game itself, I need a 10×20 board where each cell tracks either empty space or a color, seven different tetromino types with their rotation states, and a rotation system using wall kicks to handle pieces bumping into walls. I'll use requestAnimationFrame for the game loop and track elapsed time to control piece falling speed.\n\nFor scoring, I'll count cleared lines multiplied by the current level, which increases every 10 lines and makes pieces fall faster. I'm going to keep the implementation focused on the core mechanics—ghost piece preview, hold functionality, next piece display, and a dark theme—without lock delay to keep things simpler.\n\nWriting the TypeScript implementation... Defining the tetromino shapes as 2D arrays for each piece type, mapping out their grid patterns so I can rotate and position them during gameplay.\n\nNow I'm setting up the scoring system based on how many lines are cleared at once, then calculating drop speeds that increase with each level using the standard Tetris formula. I'm also defining the core game state with interfaces for individual pieces and a class to manage the board, current piece, next piece, and hold mechanics.\n\nSetting up game properties... I'm setting up the keyboard event listeners and initializing the game state with a fresh board, resetting the score and level, spawning the first piece, and updating the UI to reflect the starting conditions. Writing rotation logic... Writing the game logic... Writing game logic... Writing game input handlers... Writing game loop logic... Still writing the rendering logic... Writing the rendering logic... Writing overlay text... Writing the preview rendering... Finishing the canvas rendering and resetting alpha, then updating the UI elements with current score, level, and lines cleared. Now I'm reconsidering the hold mechanic logic—when a player holds a piece for the first time, it should swap the current piece into the hold slot and bring in the next piece, but if they're already holding something, it needs to swap the current piece with what's stored. Let me refine the hold function implementation...\n\nRefining the hold logic... Refining the hold piece logic... Refactoring the hold method to handle the piece swap cleanly—if there's a held piece, swap it in directly; otherwise, promote the next piece to current and generate a new next piece, then store the current piece type as held and disable further holds until the next lock.\n\nNow I'm realizing there might be an initialization issue with `spawnPiece`—when the game starts, `nextPiece` gets created first, then `spawnPiece` is called, which would try to use that pre-created piece as current while also generating another next piece, so I need to trace through the startup sequence to make sure the flow is correct.\n\nLooking at the `gameLoop`, I see a problem with how pausing works—when the game is paused, the animation frame loop stops, but when unpausing, I need to restart it rather than just resuming from where it left off.\n\nI'm also handling the pause toggle by resetting the drop timer and restarting the animation frame when unpausing. And in the `init` method, I should cancel any existing animation frame before starting fresh to avoid multiple loops running simultaneously.\n\nNow I'm thinking through the 7-bag randomizer system for piece generation, where pieces are drawn from a shuffled bag of all seven types, and once depleted, a new bag is created.\n\nImplementing the bag system...\n\nFor the visual design, I'm going with a dark space theme—navy and black backgrounds with bright Tetris colors for the pieces. Now I need to decide on the module setup; since this needs to run in a browser, I'll compile everything to a single JavaScript file using TypeScript's `outFile` option with the appropriate module configuration. I'm realizing the cleanest approach is to just use `module: \"ES2022\"` with a module script tag in HTML, keeping everything in a single file without imports or exports so TypeScript compiles it as a plain script. I'm realizing the TypeScript docs say only `amd` and `system` modules work with `outFile`, so `module: \"none\"` might not be compatible. Let me reconsider—if I use `module: \"none\"` without `outFile`, TypeScript will compile each file individually, which works fine since I only have one source file anyway. The output will just be plain JavaScript without any module wrapper, which is exactly what I need for a browser script.\n\nConfiguring the simplest setup...\n\nI'm settling on a straightforward approach: a single TypeScript file that compiles to plain JavaScript with no module system complexity. The config targets ES6, includes DOM types, and outputs to a dist folder. Since there are no imports or exports, TypeScript treats it as a script in global scope, so I can just include it directly in HTML with a simple script tag.\n\nNow I'm thinking through the canvas layout—the main board will be 300 × 600 pixels at 30px per cell, with side panels for next piece previews and stats, each preview canvas sized at 120 × 120 pixels.\n\nSetting up the project files now...\n\nDefining the Tetris game constants and types, including the grid dimensions, block size, tetromino shapes, and color mappings for each piece. Defining the tetromino shapes and game constants...\n\nNow I'm setting up the piece interface and creating functions to instantiate pieces with proper positioning, then implementing rotation logic for both clockwise and counterclockwise directions.\n\nDefining the Game class with board state, current and next pieces, hold functionality, scoring system, and game state management... Setting up the canvas contexts and DOM element references...\n\nNow I'm initializing the game loop and spawning the first piece, then implementing the board creation and a 7-bag randomizer system to ensure fair piece distribution. Still writing game logic... Still writing game logic... Handling the arrow key controls for moving and rotating pieces...\n\nNow I'm implementing the pause toggle logic to switch between playing and paused states, and the restart function to reset the board and game variables. Writing the game loop and rendering... Finishing the canvas restoration and moving into the main draw function that sets up the dark background, renders the grid overlay, and begins iterating through locked cells to display them.\n\nNow I'm rendering the ghost piece preview by calculating where the current tetromino would land, drawing it with reduced opacity so the player can see the landing position. Writing the preview rendering... Finishing the rendering with highlight effects and shadow details, then updating the UI to display the current score, level, and lines cleared before initializing the game when the page loads.\n\nNow I'm designing the HTML layout with a three-column structure—hold piece on the left, main game board in the center, and next piece plus stats on the right—using a dark theme with flexbox for alignment.\n\nWriting the stylesheet... Still writing styles... I'm working through the hold piece logic now. On the first hold, there's no held piece yet, so I swap the current piece into hold and pull from the next piece queue. For subsequent holds, I need to swap the current piece with whatever's in hold, keeping the rotation going.\n\nFinalizing the implementation...\n\nI need to handle TypeScript's strict null checking carefully—particularly in `onKey` where I'm accessing properties on `this.current`. Rather than using non-null assertions, I'll wrap those operations in proper null checks to keep the code cleaner. There's also a subtle issue with the `loop` function when the game restarts that I need to address with the `requestAnimationFrame` binding.\n\nI'm tracking the animation frame ID so I can cancel it properly during restart and pause/resume cycles. This prevents multiple animation frames from running simultaneously and ensures clean state transitions. Now I'm ready to write out the complete implementation.\n\nActually, I need to refine the loop logic—when the game state changes to 'over', the animation should stop requesting new frames, but the final state still needs to render once so the UI stays up to date.\n\nRestructuring the game loop...\n\nRefining the overlay trigger...\n\nI'm realizing the `showOverlay` method should handle displaying the final board state before showing the overlay message, so the sequence is clean: lock the piece, detect game over, show the overlay with the final rendered board beneath it. The loop will naturally stop on the next frame since the state changes to 'over'.\n\nFor the drop accumulator, I should use a simple conditional check rather than a while loop—just drop once per frame cycle to keep the timing predictable and avoid catching up if the game lags. I'm overthinking the implementation details—time to just start coding. For the `drawBlock` function, I'll accept pixel coordinates directly so it works flexibly across the main canvas and preview windows, with the function handling the actual rendering including highlights and borders.\n\nNow I'm laying out the HTML structure... Building the main game board...\n\nNow I'm thinking through the drop speed mechanics—I'll use the classic NES Tetris formula where the drop interval decreases as the level increases, starting at 48 frames for level 1 and gradually accelerating down to 5 frames at higher levels. Still writing drop interval logic... Writing the game overlay...\n\nNow I'm working through the preview canvas dimensions to ensure pieces are properly centered regardless of their size—a 4×4 piece needs different padding than a 2×2 piece, so I'm calculating the offsets to keep everything visually balanced.\n\nI've settled on a 120×120 preview canvas with 24px blocks, which gives me clean centering math for all piece types. For the main game board, I'm going with 300px wide and 600px tall using 30px blocks, which feels like a good playable size.\n\nNow I'm implementing the drop interval calculation as a function based on NES Tetris gravity mechanics...\n\nWriting game code... Still writing styles... Still writing styles... Still writing styles... Building the main game board...\n\nI'm thinking through the preview canvas dimensions more carefully—the I piece is 4 units wide but only 1 tall in its standard orientation, so I need to account for how different tetromino shapes will display when showing the next piece. I'm realizing the I piece in its spawned orientation is actually just a single row, so I don't need the full 4-row height—I can use a more compact canvas like 120×80 to fit the preview without wasting space, though I need to be careful the piece doesn't get cut off when it rotates into its vertical form.\n\nWriting the preview drawing function... Still writing rendering logic...\n\nI'm settling on a 120×100 preview canvas with 24px blocks and moving forward with the full implementation.\n\nDefining the core constants... Defining helper functions for the game mechanics... Setting up the game state with score, level, and lines tracking, then initializing all the DOM elements I need for the canvases and UI displays.\n\nIn the constructor, I'm wiring up the event listeners for keyboard input and the restart button, spawning the first piece, and kicking off the game loop with requestAnimationFrame.\n\nNow I'm defining helper methods to create the board grid and manage the tetromino bag system—when the bag runs out, I shuffle a fresh set of piece types.\n\nImplementing the spawn logic to place the next piece and check for immediate collision, which triggers game over if the board is already full.\n\nStill writing collision detection... Writing game logic... Writing game logic... Handling the rest of the arrow key logic and other controls — down arrow moves the piece and increases score if it doesn't collide, up arrow and X rotate clockwise, Z rotates counter-clockwise, space triggers a hard drop, and C or either shift key activates the hold function. Then I'm setting up the pause toggle to switch the game status and update the overlay.\n\nNow I'm implementing the overlay display system to show titles and scores, and the restart function that resets the board, clears the piece bag, and initializes the next piece and held piece state.\n\nContinuing with the game loop...\n\nI'm handling the piece dropping logic by accumulating time and checking collisions, then either moving the piece down or locking it in place when it hits something. After that, I'm redrawing the canvas and updating the UI, then scheduling the next animation frame if the game is still active. Now I'm working on the drawing functions, starting with a method that renders individual blocks with a filled center and highlights on the top and left edges to give them dimension.\n\nContinuing with the canvas rendering... Drawing the ghost piece... Writing preview canvases... Finishing the offset calculation, then I'm setting the canvas state and iterating through the shape to draw each block at the correct position with the appropriate opacity. After that, I'm updating the UI elements to display the current score, level, and lines cleared.\n\nNow I'm initializing the game when the DOM loads, but I'm realizing there's a logic issue with the hold piece mechanic. When holding a piece for the first time, I need to swap the current piece with the next one and generate a fresh next piece, rather than just cycling through. Let me trace through the flow: I save the current piece type, then if there's already a held piece I swap it in, otherwise I use the next piece type. Then I generate a new next piece if needed, and finally store the saved type as the held piece.\n\nActually, I should add a collision check after holding to catch the rare case where the new piece immediately collides with the board at spawn. Adding that validation...\n\nNow I'm thinking through edge cases: the hold spam is prevented by the `canHold` flag, and pieces spawning at the top of a full board will trigger game over detection when they can't move down.\n\nI'll keep the background simple and flat rather than adding a gradient. Next, I want to implement DAS (Delayed Auto-Shift) so that holding left or right keys waits briefly before repeating the movement quickly, which is standard Tetris behavior.\n\nImplementing DAS with timers... I'm realizing there's a problem with reusing the same variable for both the initial timeout and the repeating interval—I can't tell them apart when I need to clear them, so I should probably use separate variables to track each timer independently. Implementing the keyboard handlers...\n\nNow I'm checking the TypeScript compilation requirements—making sure class field initializations are properly typed, DOM element assertions are safe, and null checks are handled correctly in strict mode. Refactoring the class to move all initialization into the constructor instead of field initializers to avoid potential TypeScript ordering issues and ensure the DOM is fully ready before accessing elements. Setting up the project configuration files...\n\nNow I'm writing the core Tetris game logic in TypeScript, defining the piece types, colors, and board constants to get started. Setting up the game mechanics now – defining drop speeds that increase with difficulty levels, score multipliers for clearing lines, and the delayed auto-shift timing for responsive controls. Then I'm starting to build out the helper functions, beginning with the board initialization.\n\nDefining rotation functions... Defining the Tetris class with game state like the current piece, held piece, score tracking, and various timing properties for piece movement and dropping. I'm also setting up canvas contexts and DOM elements for rendering the board, next piece preview, hold display, and game UI.\n\nNow I'm initializing the game in the constructor by creating the board, picking the first piece type, setting up all the DOM references, spawning the initial piece, and starting the game loop with requestAnimationFrame.\n\nThen I'm wiring up the DOM by grabbing all the canvas and UI elements I need, attaching keyboard event listeners for gameplay, and hooking up the restart button.\n\nFor the piece randomization, I'm implementing a bag system that shuffles through all seven tetromino types to ensure fair distribution—when the bag empties, I refill it with a fresh shuffled set.\n\nContinuing with game logic...\n\nNow I'm checking collision detection by iterating through the piece's shape and testing if any block would go out of bounds or overlap with existing blocks on the board. Then I'm implementing the lock function that places the current piece onto the board by marking those cells with the piece's color.\n\nAfter locking the piece, I need to sweep for completed lines, award points based on how many lines cleared and the current level, then spawn the next piece. The sweep function removes full rows from the bottom up, shifts everything down, and recalculates the score and level based on total lines cleared. I'm also working on the ghost piece logic to show where the current piece would land.\n\nWriting game mechanics... Writing game mechanics... Writing the input handler... Finishing the restart method and setting up the game loop...\n\nNow I'm implementing the main game loop that runs each frame—calculating the time delta, accumulating it for gravity, and dropping the piece when enough time has passed. If the piece can't move down, I lock it in place. Then I render the board and update the UI before scheduling the next frame.\n\nWriting the rendering methods... Writing the canvas rendering... Still writing rendering logic... Writing the preview rendering... Finishing up the UI updates and initializing the game when the DOM loads. I'm noticing a type inconsistency with the shapes—I defined them as readonly arrays but cast them as mutable in the preview function, so I'll simplify by making them mutable arrays and using spread syntax when creating pieces to keep the originals safe.\n\nDefining the shapes structure... I need to fix the parameter shadowing issue in the `requestAnimationFrame` callback by renaming it to `t` instead of `ts`. Then I'm ready to write out all the project files—the package configuration, TypeScript settings, the main game implementation, and supporting documentation like a README and gitignore.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":0,"cache_read_input_tokens":4729,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9b662fc2-2fa4-40ce-93e1-bfdc5169357a","uuid":"0c0faceb-eaeb-4b19-858d-505a2fbb12ab"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01FtjjNm17MshtZaCv4DF5Kq","type":"message","role":"assistant","content":[{"type":"text","text":"Let me first check the working directory, then I'll build out all the files."}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":0,"cache_read_input_tokens":4729,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9b662fc2-2fa4-40ce-93e1-bfdc5169357a","uuid":"d6c557d9-cd29-44cb-ab6d-fab0ba4bf683"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01FtjjNm17MshtZaCv4DF5Kq","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_0181LRXV6SiT81YD971EqwcD","name":"Bash","input":{"command":"ls /tmp/loop-bench-vcqnhbj_","description":"List current working directory contents"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":0,"cache_read_input_tokens":4729,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9b662fc2-2fa4-40ce-93e1-bfdc5169357a","uuid":"c9eb78da-9360-4551-8199-2045c9754990"} -{"type":"result","subtype":"error_max_budget_usd","duration_ms":567834,"duration_api_ms":91918,"is_error":true,"num_turns":1,"stop_reason":"tool_use","session_id":"9b662fc2-2fa4-40ce-93e1-bfdc5169357a","total_cost_usd":0.7511340000000001,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"output_tokens":8000,"server_tool_use":{"web_search_requests":0,"web_fetch_requests":0},"service_tier":"standard","cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":488},"inference_geo":"","iterations":[],"speed":"standard"},"modelUsage":{"claude-sonnet-4-6":{"inputTokens":6,"outputTokens":49773,"cacheReadInputTokens":8970,"cacheCreationInputTokens":488,"webSearchRequests":0,"costUSD":0.7511340000000001,"contextWindow":200000,"maxOutputTokens":32000}},"permission_denials":[],"fast_mode_state":"off","uuid":"89b93679-2a21-479a-b828-4675c5a775bf","errors":["Reached maximum budget ($0.5)"]} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_016MfCh3LhfvfCGswCZ8dqZT","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game using TypeScript that runs in the browser. I'll create a well-structured implementation with all standard Tetris mechanics.\n\nLet me plan the structure:\n1. `index.html` - Main HTML file\n2. `src/tetris.ts` - Main TypeScript file\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript configuration\n\nActually, since this needs to run in a browser, I'll compile it to a single JS file. Let me think about the best approach:\n\nOption 1: Pure HTML + inline JS (compiled from TS)\n\n\nOption 2: Separate files with a build process\n\nI'll go with a proper setup that uses TypeScript with a build process. Let me create the necessary configuration files and then design the game mechanics. I need to define the seven standard Tetris pieces with their rotation states, set up a 10×20 game board, and implement core mechanics like piece rotation with wall kicks and line clearing with scoring.\n\nNow I'm adding the full feature set: ghost piece preview, next piece display, progressive difficulty that increases every 10 lines, hold piece functionality, and the standard Tetris scoring system. The controls map to arrow keys for movement, space for hard drop, rotation with arrow up or X, Z for counter-clockwise rotation, C to hold, and P to pause. The scoring follows classic Tetris rules where clears are worth more points at higher levels, plus bonuses for soft and hard drops.\n\nImplementing the TypeScript code... Defining the tetromino shapes... Now I'm thinking through the wall kick system and how to structure the full game implementation. I'll set up a TypeScript project with the standard Tetris mechanics—canvas rendering, piece movement, rotation with SRS wall kicks, next piece preview, hold functionality, scoring, and level progression.\n\nWriting the game logic... Defining wall kick data...\n\nNow I'm planning the full game architecture with a GameBoard class to handle the board state and a Tetromino class to represent individual pieces with their positions and rotations.\n\nWriting the complete implementation... Defining the piece data structures... Defining kick rotation tables... I'm setting up the scoring system with points for clearing lines and a level progression that increases difficulty every 10 lines cleared. The drop speed accelerates exponentially with each level, starting at 1000ms and decreasing by 15% per level with a minimum floor of 50ms to keep it playable. Now I'm planning the rendering approach—I'll use a single canvas for both the game board and side panel to keep things streamlined, with the board taking up the left portion and game info displayed on the right.\n\nImplementing wall kick system... I'm clarifying the coordinate system conversion between SRS (where +y is up) and my screen-based grid (where rows increase downward), so when applying kick offsets I need to subtract the y component rather than add it to account for the inverted axis. I'm laying out the wall kick data for the JLSTZ pieces across all rotation transitions, using screen coordinates where y increases downward. Now I'm converting those same kick offsets to screen coordinates by negating the y-values, working through each rotation transition systematically. I'm working through the wall kick offset values for the I piece across all its rotation states, mapping out how it translates in screen coordinates for each transition between orientations. I'm looking at the rotation offset data for different state transitions in what seems to be a Tetris piece rotation system. Now I need to implement the actual game logic, starting with a matrix rotation function that handles both clockwise and counterclockwise rotations using standard transformation formulas. Setting up the TypeScript file...\n\nI'm defining the game constants for the canvas dimensions, colors for the UI elements, and a function that maps game levels to piece drop speeds.\n\nNow I'm setting up the scoring system based on how many lines are cleared, then planning out the project structure with TypeScript configuration and build setup using the TypeScript compiler.\n\nFor the visual layout, I'm deciding between different canvas arrangements—either a traditional side panel setup or a more balanced three-column design with the hold piece on the left, the game board in the center, and next pieces plus stats on the right. I'm settling on a cell size of 32 pixels to keep everything proportional and visually clean, which gives me a 320-pixel-wide board and 640-pixel-tall play area.\n\nWith the right panel containing all the UI elements, my total canvas dimensions work out to 500 × 640 pixels. Now I'm ready to start building the actual implementation, focusing on solid game mechanics with proper SRS rotation, clean line clearing and scoring logic, a polished visual style with neon colors against a dark background, and all the standard Tetris features like hold functionality, next piece preview, and level progression.\n\nWriting the complete TypeScript implementation... Defining the remaining piece shapes and setting up the wall kick offsets for rotation... Defining kick coordinate mappings...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"c57f7cee-25e7-4353-af76-7208c7128165","uuid":"954ed3dc-02b9-4207-8866-4148670ac26d"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "off", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3", - "run_number": 3, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T21:06:42.259380+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:16:47.978494+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=off_web_search=on_run3/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-t8g9c9gl","session_id":"c57f7cee-25e7-4353-af76-7208c7128165","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"c0538611-7681-46c3-bbae-20ab166ba8a4","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_016MfCh3LhfvfCGswCZ8dqZT","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game using TypeScript that runs in the browser. I'll create a well-structured implementation with all standard Tetris mechanics.\n\nLet me plan the structure:\n1. `index.html` - Main HTML file\n2. `src/tetris.ts` - Main TypeScript file\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript configuration\n\nActually, since this needs to run in a browser, I'll compile it to a single JS file. Let me think about the best approach:\n\nOption 1: Pure HTML + inline JS (compiled from TS)\n\n\nOption 2: Separate files with a build process\n\nI'll go with a proper setup that uses TypeScript with a build process. Let me create the necessary configuration files and then design the game mechanics. I need to define the seven standard Tetris pieces with their rotation states, set up a 10×20 game board, and implement core mechanics like piece rotation with wall kicks and line clearing with scoring.\n\nNow I'm adding the full feature set: ghost piece preview, next piece display, progressive difficulty that increases every 10 lines, hold piece functionality, and the standard Tetris scoring system. The controls map to arrow keys for movement, space for hard drop, rotation with arrow up or X, Z for counter-clockwise rotation, C to hold, and P to pause. The scoring follows classic Tetris rules where clears are worth more points at higher levels, plus bonuses for soft and hard drops.\n\nImplementing the TypeScript code... Defining the tetromino shapes... Now I'm thinking through the wall kick system and how to structure the full game implementation. I'll set up a TypeScript project with the standard Tetris mechanics—canvas rendering, piece movement, rotation with SRS wall kicks, next piece preview, hold functionality, scoring, and level progression.\n\nWriting the game logic... Defining wall kick data...\n\nNow I'm planning the full game architecture with a GameBoard class to handle the board state and a Tetromino class to represent individual pieces with their positions and rotations.\n\nWriting the complete implementation... Defining the piece data structures... Defining kick rotation tables... I'm setting up the scoring system with points for clearing lines and a level progression that increases difficulty every 10 lines cleared. The drop speed accelerates exponentially with each level, starting at 1000ms and decreasing by 15% per level with a minimum floor of 50ms to keep it playable. Now I'm planning the rendering approach—I'll use a single canvas for both the game board and side panel to keep things streamlined, with the board taking up the left portion and game info displayed on the right.\n\nImplementing wall kick system... I'm clarifying the coordinate system conversion between SRS (where +y is up) and my screen-based grid (where rows increase downward), so when applying kick offsets I need to subtract the y component rather than add it to account for the inverted axis. I'm laying out the wall kick data for the JLSTZ pieces across all rotation transitions, using screen coordinates where y increases downward. Now I'm converting those same kick offsets to screen coordinates by negating the y-values, working through each rotation transition systematically. I'm working through the wall kick offset values for the I piece across all its rotation states, mapping out how it translates in screen coordinates for each transition between orientations. I'm looking at the rotation offset data for different state transitions in what seems to be a Tetris piece rotation system. Now I need to implement the actual game logic, starting with a matrix rotation function that handles both clockwise and counterclockwise rotations using standard transformation formulas. Setting up the TypeScript file...\n\nI'm defining the game constants for the canvas dimensions, colors for the UI elements, and a function that maps game levels to piece drop speeds.\n\nNow I'm setting up the scoring system based on how many lines are cleared, then planning out the project structure with TypeScript configuration and build setup using the TypeScript compiler.\n\nFor the visual layout, I'm deciding between different canvas arrangements—either a traditional side panel setup or a more balanced three-column design with the hold piece on the left, the game board in the center, and next pieces plus stats on the right. I'm settling on a cell size of 32 pixels to keep everything proportional and visually clean, which gives me a 320-pixel-wide board and 640-pixel-tall play area.\n\nWith the right panel containing all the UI elements, my total canvas dimensions work out to 500 × 640 pixels. Now I'm ready to start building the actual implementation, focusing on solid game mechanics with proper SRS rotation, clean line clearing and scoring logic, a polished visual style with neon colors against a dark background, and all the standard Tetris features like hold functionality, next piece preview, and level progression.\n\nWriting the complete TypeScript implementation... Defining the remaining piece shapes and setting up the wall kick offsets for rotation... Defining kick coordinate mappings...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":488,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":488,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"c57f7cee-25e7-4353-af76-7208c7128165","uuid":"954ed3dc-02b9-4207-8866-4148670ac26d"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01JsKVNQkXVRBvXjQcGzq5Hd","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"I'll build a complete Tetris game that runs in the browser using TypeScript. Let me plan out the structure:\n\n1. **index.html** - The main HTML file with the game canvas and UI\n2. **src/tetris.ts** - The main TypeScript game logic\n3. **package.json** - Dependencies (TypeScript, build tools)\n4. **tsconfig.json** - TypeScript configuration\n\nLet me think about what I need:\n\n### Game Components:\n- **Board**: 10x20 grid\n- **Pieces (Tetrominoes)**: I, O, T, S, Z, J, L (7 standard pieces)\n\n\n- **Game Loop**: requestAnimationFrame-based with arrow key controls and rotation\n- **Scoring System**: Lines cleared with level-based multipliers that increase every 10 lines\n- **UI Elements**: Score display, level counter, lines cleared, and a preview of the next piece\n\nI'll implement the core Tetris mechanics including piece rotation with wall kicks, line clearing detection, soft and hard drop functionality, and a ghost piece that previews where the current piece will land.\n\nFor the project structure, I'm setting up a TypeScript-based game with a simple build process using esbuild, keeping everything modular with separate files for game logic, types, and configuration.\n\nDefining the core types and interfaces...\n\nNow I'm planning out the visual design with a dark theme and the classic Tetris color palette for each piece type, along with the key gameplay features like the 10x20 board, SRS rotation system, ghost piece preview, hold mechanics, and a proper scoring system with level progression.\n\nI'll organize this as a TypeScript project with an HTML file, game logic module, and configuration files, rendering everything on a canvas element. The implementation will include all the standard controls—arrow keys for movement, Z and X for rotation, C to hold a piece, and Space for instant drops—plus a game over screen to complete the experience.\n\nDefining the tetromino shapes using the SRS rotation system... Defining the rotation states for the S, Z, and J tetromino pieces...\n\nNow I'm setting up the L piece rotations and then moving on to implement the SRS wall kick system for proper collision handling during rotations. After that, I'll write out the complete game code with all the necessary files. Writing the TypeScript implementation... I'm settling on 30px cells with a 600x660 canvas—left panel for the hold piece, the main 10x20 board in the center, and the right panel for next piece and score info.\n\nNow I'll implement the full game with Nintendo's scoring system: 100 points for a single line, scaling up to 800 for a Tetris, with level progression every 10 lines and speed increasing as levels go up.\n\nWriting the game code... Defining the SRS kick tables... I'm realizing I need to be careful about the coordinate system here. In standard Tetris, x goes right and y goes down on the board, but the SRS kick tables from the official guidelines use a coordinate system where positive y is up. So I'll need to negate the y values when translating them to our board coordinates where positive y means down.\n\nLet me define the wall kick offsets directly in (column, row) format where positive row means moving down the board, and I'll use a tested implementation rather than deriving it myself. I'm looking at the SRS kick test offsets for each state transition—these define the exact positions the piece tries when rotating, testing them in order until one succeeds. I'm working through the coordinate conversion for the rotation states, accounting for the Y-axis difference between the wiki's coordinate system and our board representation where I need to negate the Y values.\n\nDefining the wall kick data tables... Continuing to verify the rotation offsets for the I piece, checking the test cases for each state transition against the Tetris rotation system. Now I'm looking at the remaining state transitions and their coordinate mappings, finishing out the transitions between states 0, L, 2, and R with their respective test offsets, then converting to board coordinates with the Y-axis negated. I've got the rotation system mapped out, so now I'm ready to build the full game. I'll organize this into a few files—a package configuration, TypeScript setup, HTML structure, and the main game logic. I'm thinking a canvas-based approach makes sense here, where I render the board, pieces, ghost piece, and UI all on a single canvas with a game loop using `requestAnimationFrame` to handle the automatic dropping and timing.\n\nFor the layout, I'm picturing three vertical sections: a left panel for the held piece, the main game board in the center, and a right panel showing score, level, lines cleared, and the next piece. I'm calculating the dimensions now—using 30-pixel cells, the board will be 300 pixels wide and 600 pixels tall, with the left panel taking up 140 pixels and the right panel 160 pixels, giving me a total canvas width of 580 pixels and height of 620 pixels with some padding.\n\nNow I'm setting up the TypeScript game structure...\n\nDefining piece colors and rotation states... Defining the rotation states for the remaining tetromino pieces... Defining the piece rotations...\n\nNow I'm verifying the I piece rotations to make sure they're correct—checking that each rotation properly represents the horizontal and vertical orientations of a straight line.\n\nI think I should simplify my approach rather than trying to perfectly match the Super Rotation System. I'll define each tetromino with its rotation states, handle collisions, and apply wall kicks when needed. For the grid sizes, I'll use 3x3 for most pieces and 4x4 for the I piece and O piece to give them proper space.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":4729,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":4729,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"f35667fc-0951-472e-a31c-19ff78ef3b4b","uuid":"5d9902cd-093e-44d5-af84-39e1865db761"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1", - "run_number": 1, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T19:12:39.825181+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T19:22:43.329250+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-8hgrn2w1","session_id":"f35667fc-0951-472e-a31c-19ff78ef3b4b","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"39db21c6-a875-44c5-b6f1-c01fd669baba","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01JsKVNQkXVRBvXjQcGzq5Hd","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"I'll build a complete Tetris game that runs in the browser using TypeScript. Let me plan out the structure:\n\n1. **index.html** - The main HTML file with the game canvas and UI\n2. **src/tetris.ts** - The main TypeScript game logic\n3. **package.json** - Dependencies (TypeScript, build tools)\n4. **tsconfig.json** - TypeScript configuration\n\nLet me think about what I need:\n\n### Game Components:\n- **Board**: 10x20 grid\n- **Pieces (Tetrominoes)**: I, O, T, S, Z, J, L (7 standard pieces)\n\n\n- **Game Loop**: requestAnimationFrame-based with arrow key controls and rotation\n- **Scoring System**: Lines cleared with level-based multipliers that increase every 10 lines\n- **UI Elements**: Score display, level counter, lines cleared, and a preview of the next piece\n\nI'll implement the core Tetris mechanics including piece rotation with wall kicks, line clearing detection, soft and hard drop functionality, and a ghost piece that previews where the current piece will land.\n\nFor the project structure, I'm setting up a TypeScript-based game with a simple build process using esbuild, keeping everything modular with separate files for game logic, types, and configuration.\n\nDefining the core types and interfaces...\n\nNow I'm planning out the visual design with a dark theme and the classic Tetris color palette for each piece type, along with the key gameplay features like the 10x20 board, SRS rotation system, ghost piece preview, hold mechanics, and a proper scoring system with level progression.\n\nI'll organize this as a TypeScript project with an HTML file, game logic module, and configuration files, rendering everything on a canvas element. The implementation will include all the standard controls—arrow keys for movement, Z and X for rotation, C to hold a piece, and Space for instant drops—plus a game over screen to complete the experience.\n\nDefining the tetromino shapes using the SRS rotation system... Defining the rotation states for the S, Z, and J tetromino pieces...\n\nNow I'm setting up the L piece rotations and then moving on to implement the SRS wall kick system for proper collision handling during rotations. After that, I'll write out the complete game code with all the necessary files. Writing the TypeScript implementation... I'm settling on 30px cells with a 600x660 canvas—left panel for the hold piece, the main 10x20 board in the center, and the right panel for next piece and score info.\n\nNow I'll implement the full game with Nintendo's scoring system: 100 points for a single line, scaling up to 800 for a Tetris, with level progression every 10 lines and speed increasing as levels go up.\n\nWriting the game code... Defining the SRS kick tables... I'm realizing I need to be careful about the coordinate system here. In standard Tetris, x goes right and y goes down on the board, but the SRS kick tables from the official guidelines use a coordinate system where positive y is up. So I'll need to negate the y values when translating them to our board coordinates where positive y means down.\n\nLet me define the wall kick offsets directly in (column, row) format where positive row means moving down the board, and I'll use a tested implementation rather than deriving it myself. I'm looking at the SRS kick test offsets for each state transition—these define the exact positions the piece tries when rotating, testing them in order until one succeeds. I'm working through the coordinate conversion for the rotation states, accounting for the Y-axis difference between the wiki's coordinate system and our board representation where I need to negate the Y values.\n\nDefining the wall kick data tables... Continuing to verify the rotation offsets for the I piece, checking the test cases for each state transition against the Tetris rotation system. Now I'm looking at the remaining state transitions and their coordinate mappings, finishing out the transitions between states 0, L, 2, and R with their respective test offsets, then converting to board coordinates with the Y-axis negated. I've got the rotation system mapped out, so now I'm ready to build the full game. I'll organize this into a few files—a package configuration, TypeScript setup, HTML structure, and the main game logic. I'm thinking a canvas-based approach makes sense here, where I render the board, pieces, ghost piece, and UI all on a single canvas with a game loop using `requestAnimationFrame` to handle the automatic dropping and timing.\n\nFor the layout, I'm picturing three vertical sections: a left panel for the held piece, the main game board in the center, and a right panel showing score, level, lines cleared, and the next piece. I'm calculating the dimensions now—using 30-pixel cells, the board will be 300 pixels wide and 600 pixels tall, with the left panel taking up 140 pixels and the right panel 160 pixels, giving me a total canvas width of 580 pixels and height of 620 pixels with some padding.\n\nNow I'm setting up the TypeScript game structure...\n\nDefining piece colors and rotation states... Defining the rotation states for the remaining tetromino pieces... Defining the piece rotations...\n\nNow I'm verifying the I piece rotations to make sure they're correct—checking that each rotation properly represents the horizontal and vertical orientations of a straight line.\n\nI think I should simplify my approach rather than trying to perfectly match the Super Rotation System. I'll define each tetromino with its rotation states, handle collisions, and apply wall kicks when needed. For the grid sizes, I'll use 3x3 for most pieces and 4x4 for the I piece and O piece to give them proper space.","signature":"EqGOAQpbCAwYAipArsJVCukWo3XitYpB2by1mnEiQxz8nYupXHYmbRdsvq4etrwnELq5ctRQ1MD+RI8577RU7sfG16FU5m9vhbq4wTIRY2xhdWRlLXNvbm5ldC00LTY4ABIMJRwG8pfVmAh5f+C6GgwLHLWqNP9j1U7cdpIiMKadoHyemd8ODL0dT3ypzAdJESquJaPneVC9vOuU0LSakxaeTPq+oRqxyWnAeDoVzSryjAHDts/UWAE2mEnnWOHErGQ2DkbBr6P9qlgWbeSX9B0GDpFlIJ2XAnMrc/pixEGj/mhrDrsx4ZiWJiHyh1eL0hhnDB2F6Ya0H12/noJa8A8XeIfEzoX9ruuVKvHL4WO4KVLVIbcLjS8ZuVqpylov7zWT6GbljhrzAMM9gVS5JFswtfBDaayfEp255MqXjVKG8yKt4QaH6G4WfpPU1Cm7+VPJpIuSya4PO8qlU0ejDd1UdlIcQlgenMKudt7BqY5NX+K9yXNibq/UeQQeIXzppc4iQ5OnyIqtsw0VNBu78/MhFylJTFg1uxfqKjEFoD53+vww6vzhaF9EfxeKWc9jDcX+xKYNacZWvL6JogfiwJNlCLenbbXPaTmTnIzyY1Lg7rpwcJfqVvCS86F16CjyDRM1iE+IgZBJ46csNrtM+rb+DUMuiOljA+tUF1tc/LxSYspYKICYSj6use9vrY7YGaeSm9IVKGI9O8KIiPNZ3ltW47QBl1J70PSxabpUyTrMJvdRhPZW0kWpJ0WnfO5+w8cHTEUN5ak8saCSJAI2D8q4H9dyyarMNC1AE8vR35dluRiG+7CkB3dL5XBqhzZl8/hfS41nyuZKo1TwsXMdd4oD3Ip3buJjcG7wTD6SLh/0aaOvKI7UflOb7ZGukLYaDAlAeDzinCL82z3qcyKsLMQGEvH1hDLQZrk1br5afZv71gtySKvnlwelp7AYz1zWC9kYxMESlYzStyKbzYnSBJuy+vb5Yvm2OwZhiIo7q+0+Ig1H5moCbbbBpAshC/Ght+G2XuLSug0qfymozhVNt/kVpmzLqeHfD5oTYxSGw0sXpxvz9njViBHoDIYITIOP8FqPjCuR/l+D8MooZGIL1Z0JqdaqryUro11i3OJP4az1Ku06Oy2KWI1jofLBcagvu2d9Gtf24plBUWF9iaPQZqruKUsvPv458ZVWGZ2Llc4ep6BIFXZUSF/KUJrkcXdgkyTOjxgrpQCRitYawOxXeTxwT33ZrdB96POPHtt7nXjeEtBydZurMu0486kvUAm1LtNpyfK3Oq1hI+zWx9HgddYsje1OMx4sqXEIWFeMuk+UM8ObzqQiYMhWErVmR+41HWKkNixueAHgRIyEZpjJi9rVERgrL9TAGGlGYhoV9+xpsQLSxWNd05GgsVna/NxcSXMC3iigJlcavbyyCbNWlJFVUILX6+85DDVFNsuFrCTt6RdYrtnlD0JPam8CBLDo4ebXVrVht5ZebgqNmsjTtGLDveY6ul4pZKVLB9eN7cOaxRe5MndYbsUZr35F8sOfM3jWoOanljMrj4B+NJEAgf9E0pDeOLfbQrWPoof99LSuJAhQYTgCzRKHL891uEda5PvvKL1jYvP85d6VGeDlTWkI4VGinhQHz/M/mj5Jz+hzTF7j0lvPtfM2IFhZxUsakNsME2j+lB7i6jNK9yyJe3mh7QHOczk3X6DA+0e7aPVBNmCzgUsXzFthf8W41vdEVMveZU6N5S8hAg/5XaV8Hm/017+yCza5+I/mw0eAGhB/uip89vioUtGliZi02qAmQNFbrr8MlIkw0yZ3LyZAuTjo0vuwvsrQ6rj6JnY545428kSIjBfyzzA5f1/kruLUwrVN5a8ldKVtPO+dCWHmSrhBTNtTUqiXU7C5hiIdKbYzOugQ9LpJoTLsqVbmOGfyQuypwXxaNi9oUNBYEa16eRqdpd1Zjv4ERmKPLk/V38L2RrOjjDNjqF5XeLvszvbX/1mjkxzYfWRXH1VXKTmbliWG08OG0njI0O/iBJEHym0lFF4afIKPXl6PBeQAmtp455OIMZugbmO+ejDNNxK/BtTZmWPea//fksIz3lCkVjcWm9nVwmh/ut4ujQ6RpDPKHCunubnvW0xmAOdZRepHviB5QC+IR2L5yOG/5LduIugupnWMXh8f/qSGklThbc6KxfRgP5WeTVwUmj9pUXRteiDqoE7YGEKKXhATRcg0mLKfN9zIi3H7jDgmxDrGfR+QNDOccmH4OuZrxft9is6XTNggZsmK1gE833+AXXSB4wyc3bljZSbbdXRR01P8u7ga6NCYiP3Vi4rRmO+jQzG+ZEedBbw0OmHBHAaCtft0eOJfHiKgouPCzuge/IQOn+EP8kW4QSICTTGZx2E/kFm7fjQDdp17lXYzkXu05hBQWKxMOZhCmvF7r+/6DR0p/Yt/fAe3L+eD1OMCGBYSCvZ7y4WTNghXie4YBr5ZgCp4XI3lvXFljqyKxZSAZX7ybny49v/aI7N2qyHD/Ut34i24BewxwoWjdFFx4qM+z4ZBg20QLErujs//v2gkmpKQ2AGff2KFuhuf3FTXH2sZ+w2LNI4yrtumuyLx98+JOkqmuBH0YvK4KlwMmJXvEjvO57d49rs3o7wP0ZuelhvlCMw0ulGODWPGlnjDBewbkAtUuOIIKXA44zMKVphV17zRliVK/NNtSsrjXB6CKTDvYVSCKVMkBIrS0R2eqK2vwrLPl+TPIWv26RahMAF7yDERKltGiR3hp4njRC8tG3jh+eDriwqjiEDqCoibjKGw4sO0maq39JMcZ547TMR6ncfJdg7lXToQc763l31bg4f82kj8Jw0Q736HpHHNkPuDPIbLLSLZcr1b7qRIX4dgM4Q2o3OvAFO6Gfc66LuEgkzmTSxm8qYgB+jYoDz+fYRST0viEeA/kG1FgdTIfMJYhAM8ZeGpDbJplUb86atWkRG4g0qAMUkS8hec64hvO1t01OVjZlJUI9mGge8yyDd/tEHb8L4iYcqLpZVn53kWBtHM91+3BJkHqhUqI9p18D8mFbsN2bR0y9UXnw2noCXQ3uP0fsvqbMQft+DGx0eNSEsO4QiD5pqnTh+cu25wlsMiyqUuk6re0Ixh1n3GucI3B78iRth0qVWJ6FnaqohgTRRUwHR0dXOFXbqa3e0CuITrP2Kc4M6UwzqXU03RiMfKhnOZgfOmdLJsS6Xb8Nw+Us6LDmruWH1pCLFwOMTx5r5rP5/8l5maVe3AlhkRg21lw05JBDWurHuoq8jFfPD3DZWv4YH1xbx5T6PP8OHCGDGPxkHV6/DQDcABc9v9VHpWqxRL5KZm10aGUfs6/ZlDVJqNLDfMh/3a5Yxg4U5NuNmqyZcUfdWoMC/0wpwVdta9n/mr70eHqtTIpxET7K6VCafs/7vJxsR/lo5+A7m/6VvugPJwWyraKj4Y7KsetrCAla54U5bRqQG4PxGO2QTq5/bBiV0tDYjJ4MgtrFet/TLr+JFAs49GQeyI+QLZBnHpMFnXm693idMXFP+INh2RSDJRq0XNKTRrYp7UmLXGFEQhCX4GAFfQIZut1oS10pIbRulAVLY5cpJJ17zjcoSWnhaFiTWK/HsAeZ+9a6e3Zrlkz7oXtS9VV9rAOeXsvc4+Zcrgi127zqdN7h1TwkRjDGvKWze4+vPmB33pfnMcTBDgUKm67U46+fPYeOwIyumClN65RLTwVe9vYkROEjwyqOGePZcxBQ1kJk+Qt+Cfr1FsUhnHCQ4reHZ502r2vsLsaBSmRJVkcYEbjHSZtvteEAHAGbO+k/tBuhxcNxplTyMoNjxevZMJq5ZQgY6wUkvbOsKe8wZ/BP6iWVKiGlvDnwSgeXnWjwvHWLuP6moE17V7KRUtbwLPCzpwrylLqwlyrR5efG7l3XEip9XFhKUa+2UU/inufikmg2lgsNHkzDVM7ER87OUJUhLIdBbs9l824rgdUfnFuU3EDTZBFw9bUvkmiZiw5EaxQ0nzR1lJ6yyXrL/rD6X/muriFculuAkCxFnADhzN0AVFODMsbP7aW/eQPikIZjaeXCZEXkVFCqUDwEiSbUuKpisK4axXblJQHVmjik7UbDtMbv2RQrCEWxJNuaUthLOg4K14mHfxV/0OJj9hcUZoBX92EGplQiiXCOZ7Uiqsq462NGKBOHY4lo5ktS0Xod2EzUxGxZjf8Si43cPHRj/xAPk927j7bObLgtOaNXsZDVJUiQ4sryFIUQ3G7L9qetcfVPJPjaGOPB/TuVKIexoLaRi8ui+HnFEd1A2EcB4xF1cUqWC9vh+dKl9/eruVMA82PtZlt7/fZ/uSpoMTbf7G7m7I+0x7rbBvi8V6dUP0Si9Q0X61V9yKyxdRMBQYn8fSeWED8/L8I3VD4yEkOCxo95HdpofOwm2Di4oYbXDtx04Xp0svRhiZN6sAaDSt+c0Urqi052fgFM7lxPNg2ouKiVxeq8aafFd4RhJfSQC/+N6PWJyXrgCwcL/hJfEUCa8XxRgHY6k/hgu3GkJfFlwm0beegnZF4YzUfXjAZDPTu+MfwyfzqU6nXFnHXK8NA7LsD/tI81U50Kt7VrrOQWk/XyZpePBP/eOGds5Ljo4+RX9MfL2urPEcp1LMuq+uNbBhELRIlBdF59mcNronR7kLZfsOS/xx3rRLHlK6ebB9goXqR69EFLgb4WuXe1yku5FODK0EPqpRooYENbupDwB43HGWwEAX3HZnnQMPuhEM9+9t02O8hLTKlhn2xr/DBtDJL2F002mPCXGigbLPhC+/Z8S/AAiinLQhbsp8NuqxupdvTnjcXnSb9tlTu7svy/dcrrt5pdA5VbVqxohqkXdHkl7VmgYKRhn7c8ecnzLtZNe20ZO10j8PCQAd6bkhBxEQKQud/f5ywgNDxinElcLa4wC66HWAI5rUtiuIe4ktSqoT/fFzusqtN4Zzo83Qk/g0tsn3xrQykWRKhet50Y+mgjMNICta/j3AWgBJd/4lc30M3YOLWyPPYHbjII5K8caIIe5qFE8dX9v8H3tfsP6bTYZkgquAwCnKNEbaRCRaCihRKDTDy9PQXdScBl1SdwLvCj++V3U3ZvZvileBLg1LeoGccFkGL9BjWt1/WNonDAXp8yfPqyMCWX/WZPgZDTnuunjXR/y99IqSGF/KxiMmKlPmV6fnqngxOHXfoGC8zptCHJbTOBquD3jx/ShWIfyCb4EgHkbvnqEOSVEZdapW4xhjpFep17fnI2Ia6Wi3yFT2di2nT/jFUsviUqGNP7Br2niMG2wYGb0Qhoe5IlC81ct/wGEbhXIATFjaURBz0yKGTPQSMxi7m2CrCqO90GM/roQhvZkb4NeoIm0RKB/wdtAdcqy2M9gmxgKyO08SDxxq/L2KRQQ+UFejRTubGaezLiVfJwKw4I54PyC33Vv//8H4JOUspm/sJI+3zHJ3aErYISZ4A23jxgjmPqR6uGuuYr2062SP2Z/VizgVR4Qn8qmG5SdABiCFRla/DCyXOpjL6Qx2LC1GOWDoitd+SsD8ClxUNFqYS6VT5OstkncLCN0tLyNxgzMz5Xq8SZr2DedQl94erp/8FBk7PgO8BCM/n4TGYC1UJmydgpzhFc7Wcnl9nWwEyik2PXRcuyBBD6SNFva75ktMg7f4be+TC/XbMULvQ9vSp9m2wyRdrbEZELeC/3t3QWpkZfHThUcHQ8U96O2omQ3sW7VahLASbRdi5CiDNUlFPGe/ypLYSPJ2+XVLOqgLhzg49wFdeqpm57gki4hyK+PSccXNYs/s4deKRMIuWsN/nsHlKMwJDaFd5H0fky590Jmxp3JoyeAsfjZyQQLPKM+1kE3PIZtzkGGmDjFXomETw/Rfcn4dAb2aVrc+LU2Q3YkRUf4Atz56+fP0FO/xOtyLwtDytmPb9HmgBdXz8UBHv6v2+OhNKLqbmHhjoui36aQ9pQWdp2yNMchCxxaw65gqdF3MIBsmXBjLRj5i+hucXDsmgI4hKa7kZHlMZU+D4aXijopxYZMbf8DgNmfnAe4W7UD+Hz9dm4tinDs0g2d/uFxZUK4hSymwmvuFzaL+XdDpMsr79RaMNxraAnHb/LEZSsix5MEWFX1EaXqn+I4kWAz+9A3WhHBHHxlkujxUPuJ2dwkPqm5cT8of51YgDjPeU4TaFXqUtPD9DQoxObCPXLTUd55RxGDla5zkRuyieCz1AV80PoXN0aTALh6IKggSq/tU2aajnE88T3Ns5G0eT7wD4AUcf27HBgudBggWSUPoA39Dh47t/Q7CV+TiO1w2ohjmz6WKZr6XrjvwwvZIWmOYPwbdqvSxzKZkUx0+uegefolELXS+MllMxCup8/ZbyTIekaFcX5e2i1mlhIzpLq6qpQEQyGY0IpNcwDAffeW+WViu/d0VZg72Qt7CFi44bvuwiC06+YG+N9uY6+YozmuvF/aUM+rFjfQOAoqU0yUE8DgXqR65CXfp4QC1Fp+vesWV9+MXBtV0+pv9QK7vYqORPrT9E184Vks4ZhfrF293gmgoyF6tLdn/sgTbWGMJjCzlDDKPxCRw3XYZvKetUtS55ETLUkxXUYrpKrtgvw7ZopzoOILbujUByh3IySrqCEBZUozteX7zd8WF0lyXhqyuGxSfvHkW1R85pIr1N+fhTtWOob+x/rDaxppKDbR/XBaqvTsxvdl3tEZ6wKt2qCtALi2rskeU3JLwgyVBMQ9JzQT8sT5lACSE3ApU06f1RGIjcPoD7h2jqw3/qraZgPh+yKi1CLeGaVZxIDY1fD6gvRwqs0OkMvMSv/8vCW7uk3VYQ1dUI1zJ+BwxkW4/a68jzOysj74PnOZhmL303TYK7FU4ubJaKqbFposS91i6QW75r+Ni9C95LxWbkg7K6wuuk/LdPRN8taAGKcLxuoUqvGjMScACLwGbS2YMZF9ms1T22lBYbdWpheQOu4hvzfODkgX76Ca6U8i0KPTYAb4kehpG3BFl4ec2xpcVRA7DunSrmUDGgUitZ7kOTxjGAMryRTZR4LCnXoAMNv5R3zSVv6EF8T9FEWsEWMaT/n5ZJXOymKa/XUi0YfuAQvHjuc20g/N8+xWWHjVLc5w8Vnqg42x8MeI+FKk8sLzAD4O9OJhJKD5DtNtbtzDwQ0rEN4/oMOJedFTe4KNq7S8wcGpFjBbZuhgxvTNvYc30rUIzC/EP0Gy/s+KEB0NAYoAW39FoY4xhshsgaKJp6XouCvPkaoSRE/PQ1HGTFFDtE0vM0Ylf7wO5uppec2JCUV/07rs7LRFp9HiPmRkSSnLRrU1WLue8fv3FXo/7sDnJbrvxfMXzW6nUZ99YV27LFNT70ts+nhg6+0Fy7SItxZAk6aZamX481Gg9SLlvWkqR0d9k0aCYTq+kChzRKipa1IRPy/l6m4LJUytL82yKsN8lSgBQHsxJvK8+IIqQ7tKU3x97eawBqxzGv9v5UgI7zQJTXJKzLkb5yEi+HsjLY3ijRCEHW0F0vy9pP6C0+ISZIJGaKhnnkgvSqiCUp0BWTZlypFtrLMesSjtuhyPNY3IEzhMvhe8Br+fjghAy3lJ+7Mo2gVVFg1ixf4LTlqMLZa+NHN7bwKzHGzQZojpmKriS7mVl4dIHrvYWetSq3CU7nTtjgVbYPMJO7tTkvQJ9YDixASOPQ2EkYi2fvVx+la8qrAs7dIuqZcCzzcB2Gmei9Ctrd9lxevih+G5SEv1dWCbU9/UUwC5axaikNzj2S4z15sCkCMHzmrS+GA6bDKxaz0kghnZIiMzRlh8UPAEJLNF/JonD+BRUwOp35uZQpEgbZdn2Z9VuFMWYI3zmaWcClDHsrhpC/F7Ipg6EQyKfWEDgpH9SmyWhbG9Bz180pLHOwcA8e5SoByrAWbAfwXEkgcFs+PnYwJMsr3RYI2f4PPTq+NfUVnY4wOPXBT664EXiIP/cH80sgbNfjxAzzhFd28V841e/Kd7TXsMAcES/Te9X6q+SyBnXRv2fpqdQ1fLoSdaYJBUZDP/I2UusE4rAWavwEz0/etcDQZvpseBplA9Zh4ScD/l4ZWxTJqT6nTlL6OjVnWnAxkaU3pnOUghEZdb4/tRL9hmzQ6gjFdt3ZMWEsSOD/mXC8jMbsdgssZ0c0bz43+drvRrtcXzKj1YXMZTBmKW82kmJhjlUqbUjv+k3EIsDv7GGVmUOcFg5YHsbtMWWe1IGXJMaGR+/U7BviN/v4s/z7NuZnE+SRwOm0hYU6WgvFSRs+1+SbvqSsMop/VtI0cWvCH+bq+MuFOjBA7bu38H98S2fhbW+vFTScCm8vhSXYdmgiXe2U+NG4ZzqFNgYq3OVVeT5hoVhEKRJprNEsEsSoSBiJ6kjUkHvw/2EfI+5Lya+74wBFIM5fZPU+5oz2cj5nO5QSFCSYB+z4hyPy+FeZoLVcsNt4Bz2P5DMs635+fRFXPSiCmjiPM7WAS/gk0wj4erE9vQZsOTy/brpMiDi2GJ+MjKsOGMqyJUyZCxZa+J2LzmizXpVrsxBEC2M/cERRbVHNUiwtKLNpTZBYB9+9aIs/lbChmRgxwjMP0xEWmuyad9R4Xopo+NW7srb4srRS45j12q6AkG6RXvU00xsPPTNW8i5XUDZdHbhYH8hBkubUo+4MBRowfOHuaJH/lA+M6EcuXeY4SNg8oANtp6pB64YQhD4Ma6rQ7e9nNHETc0WBVbeybB5asxvfzyPs7/VDoP1BZEyoezp6eswsODPid/xw8vCYKqP3yH6Hbyxg8KIbXwpVXo30WdE3/RBKj9Fi6TITjlGteL1oaNu8UPXuXu1Xh4k66FBoDu7MdD07eT6CyLnMHVoMOK7jXw19QNpm3r7A3aHmeYBJ2RlMWS3o3ouIupw80tDmk1H4S1nq0f3siGlpupZtwznR3tZzsSceoYlVNoLe3BsPJMqQQM6bVK82yoGhnJikUEe2G8UhQ64+Pl5LfO/b+rVkMJZgunzSx9mwYt5xlTUGf5Iy8tUc5iy6yePq172KpwOhM02LW6oqI7h4qBJe5WgyCje7Mv3ECPMuXibnfMH3ihKyLoew2VpI03t9MA1inMnUOcY5kBE8SYBg/2LDifROO0uJar56BVNPcY/vsTUfLtcpY40ineRuFijQPYHfY1mRwX75uPNFZjXTXpZCsrKHn+P5Ytc2P2wRhGAoG9UWVUqNhWFE8ULZ3OxuU9kLjT81MF9a1agaBsupXXRhSPQKytGB2wJrqn+HOZsuaeFPdbsMf7qSmM0n3+hYOuJxBg9KblmJshrv9Tu25hmBVQSqBVAs30aAbgCTVtmwTOIOZ7C7vPQiOhwkUQmIv3c33MikFdeZOL/2yM+XcdtELZXzpQC0rXuY+sU0QIcep1ac5gteLZ5/ulq6mFHLkd22OCjSvIcO1IoafKDYL/iadZYOLwdqmmANuXasb1inTX2RflCasO4Tfr6CojjgQEkRT3tZFfmxzTd57s4ooAy9zL2I+rXKcWSwtYEZxGDIGjtZQCeQhuemLeGkGVHWU1OtMJLhb2RkVc1E4XK/jGPMymyXvGZEV97yaJJSv6397sZHCfz1dOKytaejMcw8p29htMAFuYxqwBIa50XPRfGSJKSzndeCctk7kmek8StxX/kFPWz3vfT6tVqFksv61VPfhOddakhUfYbID8MOU0Qf9YPnghJaInhWxaRNpy/Bqn1dtb5IQWUvDw3b0ZS4aThN4qseHrYsIZiCtZhG11XnXP7SKYplyGJuRrLnj76Lx1h/TOEND75NFnVMo9Sr8mtAsZgynozMwQMk31P6mAORoXQW9///EWi/fh2OA6Lm1Gqwsp03nTbpX2yi6fm/JxQ9hK+OuNwHxyOsrR9VkQ8uKs20OtWzSwEyugEeZc4oGfrfTEizIV4D4cNMXYItYmqPPZ/oqlXxDJyLai0ivsYP/kMEu6khL9P+gjjUOleqK5fEyI/y8S16IcK1FU40d/LiSC4ihdxJxDMoE07bYLHCbEEF2/UAro5u9vNJ/JOvRge9SSlMPbarCUPT3Fxple3per4Tgi0UWCgq9xFcasjGnCjo08J18yboE8N0WityunQCxTCDhc+8ty/Ak3feZcCkUu5L+ibo+42oEycN4j32CjMwvFLEYHMYgCVCtyeXydQ0yXGGmgVSiitjw9V3CqSqFRXb/6lTzOGT7lD0pJM9ZjgGaMbFaEMn8suuUnNivoMEp/8y6sPc6JfWxA0ZrgAqjtRbWCE+ZKF+qUdhCvRcMc1FTAJ0Lmrv0EmWCEb9Tic1kyi9e67AXaqgqx28J8Pkjz7UW3QphHM7fKmZIzsF+XIqTkfPhZ6hjBkQ8aAtA4xdky/wWCcISYwoB+D7As/4GcQmxUW9tGg0hkHOU/02lEePNZsKAHjEwhb32O6vTpGfh6yHryCpbFI58D448zTsVVNey6Gr6ViGXv5K8yeoUe4BoPAHMb0+DJ3GE8wbiQv/OUKxlXlQdepbwTGJO0kyHKpIo5Ozs78bl77WPI/WQdY7YxAy9z9bmnWMfrGh8NICeClwYGmvDcH3ddU69vlm6NsbJcdKSFwBgNPC6smEd8EOwQdrVPT4CDw0zuASuvPGb7p4hYIi4TPmQmmyhfQGSj4mOzKklM2+XyEnJf0gvjTDQgF+qe+P036+fQtMCXX6ExnUK/yNq+F8CeAn4BfQBnLvL3NOmmps4lOknRivfIEWyK+TUcOmFXxDtd/wIMN9A1U0oN8ohfEbPE4APhTkpIhZ4osJjvNydSvlL/xHatEZ6vdd1LB6z7zS0aPXj2JuP5k6rNRQWZ7/DPmaH9+2XnS9oGUK1VxdJfphzdf4iQZilPD8YQTPjqR69n1lUgofBf9XjgklAgIctx6iOAxiFQ3e9Nl6w+q5VqfoQBy0iCsLBCAWNLR4fpWvUMiN4sA6eTfQ7l5c3cu7ScClrQ/4bKLg8BL5J0Z+POjccZ6Vrh1TlAPXNuAHRE5U8BkFKzXsQWaDYqILisvZGasy9q2HU6MFd1ftiqrhCdmJeXwNJSIXQn7vOWxqdfNA1bZ6YLAoRzExeh2MskJ0ksEmHP3SOMmSYjsOAO3gSy704d3sgfvUgyqpp1UP4VKR7O7lKfz8S6brVuesjc5QUuZkauL8NbSsv3aB9gYEPicpp48dnEvCOGnCQyTPj3VLJQG62A3oItS+t6y8n6hvmN4FHhk4yl5vjRenxwLz5xuQgS4w9Im/OeXKDgungPi6XlZGjq9jABUsa3Z2BiX/B3nJwpZZ7dOAkyJPj9+P5zqFAUF7geK1AXJg9GqFI8rJmTQWmH2Z+tTTAPQt3MIKIttMVtijxl5H2xiDNUFRymgWnXX3tdcvBjv6dA/n57/b4pG4NQdFw02dO2seBs7Gg895V5r0m4iJFg2dJVLAll3zaYM6mv/dffHp8QHDiFLmoz4rdzuGzHByq+WIq9O2OJnTenoVBqbJFmmoO7qhlQVFwQRNZJ/Y9y7ClLt7aVHgTpcvKMqn6Yy/LxAe2rL06t9TK1RWx9Bu+yXSKI8WtsiEbVE84+YDIU8Mr6be08OXp2of4o0XKPDKXWqP5VFgl8pXykcrknLVWoV0v1pCbKaJCEO3SUCXGHpIiorjPyQN47AaLl7BwnI6pdE5z6cOOR6f3bbAfpJS6Pn9RBqlTHTe3yYVyKq09UNQ3W8CFHpa0QSM2OtRYxYZQ65J2DOCJqkobiaUdF9vnwMvC5jWy7bcwsJ/bXhDOiQJtHYh75h0YOiTUi0XshjOttLkH5Jjz7ZTZS6XBANyaeZUdlnOXegOSBH4ybAJN0/3TNzwhgGzr4Z/NvKZZ83MGo8TOcqva3OCplvt/KQHkUlLLLUB3zdushlMvivQsyuQDkLqDIPAGuy+6DxQVmMROOgJ8xPseC3mBRdWkfTwpft5hxck5rAiMvIdqLioIqMJYZFOOteah0JLpU7mHicslkbOJefgSxRHrQHaGQXBQG8iEelFLEb7QnO1y3sSbELkozHlMKmBYxzTTUM+CWLlWn0lIAZ5E+4z9e/Au3k45A7ichsj/t6S5io9Zu0LgUHrbuKrQhKOAeGUV7c3zNYapnLyvsVsdX9DAklQaIuzqmZiArI2bD/MUbDRMCVE6ytnraBY47KEi7kxBN3fQVvUJd39kNZKKPUAratuKARp+Aj+OyJREDLj5wCoAKH0avoKZu39MdGCCNUvMazU6kl7Ylky27y0oyluKLTUmnyOROdBwyaRnRs4n3CEvswfg6mUVzSiRx+FBVlNxu6IsX7ZJRB7ocfgrlMMlIRMc148+CjzBRaAEjAQJanUd/vyHR8BrTw2h4D+d6H/UV1T186BItAgwUfR4450QoYO4xyDgOeIyMxP6RLHQRx+zyXpMjahGuf+Bi4PR8xpk8Vm+afBN7b7IUlzHPYjAv4RVjif8A6Xrym/evaANrgnSXwQRfbg6GstBP+KKFPdzd1vBMLB9G0UTcJRdHP0gnZsUTKTjHHyQAFWHGBlwuY1Kjwfck0U0nieKjxbFlbPf17PLvRjunLER3y2nweQo5xLbs2bLjpvLijJvynd14AiymK+OujONghAviSuj4hTofMfEAD6Li7lz0TzlgaeEIxXbUXIzy4jm0ZtUtDlXl5sDntDwOqt5i60Ul/n0fC/1HSt+mmuLgtOGr0oawqn8wRqly1gYjPt6BEaE9+ptNB380GBg3KdSnujdK4zsdndatAJKtzRWxIYRpA2tNu84q2GTir2s26WsgVk9kG5pq97eeb5HmIVFN1luJGwJ6a2NMAV3TGR1m52hLF4bUigydiUDgKgUUArxiUlyRsWkVweQ5+HKwvHMLQCWU0Ky94Vj1Zz7xDoMoUbJ6G1CKVCm380wvDNxDHOjuAPWA+adsaVZjei5x2YstLPsHOY2Eyp7dLohi/IgclZu+78v1fQFY8cTxTKooW0Q+y1byr6bu9j4Vi5LjnRHpga9HKQ2m0htUDGjbbrpRseGAg5fCTuu+ebOANETrLCzIjZygzIqySSuQB2NgDz+md4EweXr0p6qkwgYkcEfndItpMhN0yAqQ5j5Juk0+NghVSWIPF7lcj2lF21OcF8dcztYoW3X6eC1rorERerG3NzTHDpQQZIqKC3w4cEhR50chFbSnTp5neUZWi7fsGFWuacnH9nlV4ESaWrysQyLhXfnjzdpwONKPr80IFT+bzEakA5optgH3MRbUxv0NXxtT/VFrICsiT8P2ajs6H6mktIthmF8X3eTkFn20tdedQ9Zl8E6+ybaZtAjP/9+Ib2lZU0sxLJhTjrp1jRNGeyhOZqWY0cMEagDkJSkdNVF7dr/j+hTW2UJTrAekeN5MAVN5xUagG/AUhqESjFsA6MF6hCWLNryZVwXBmsIz+DkUZB8zekAU9r63xg4fTaZLFvV4nDZgiNiidLwWRNSkfUhMuCTzRbWaPs1F6VOZ+IN9dgWc0DUaxTtGENoi1oYv0b2TWkoFn9sm9/mSJVr9mzVszAkm1PNjje2xHtasYIIVlqo2ixhIu7aYm0DXBrvCFwpzTS//RIIG0Ka6qjLa4s1vc+5D18QvQJ/I4q8xUHtzHuY9Nbwb9ZphHurlA4IUXbn1k1KPohq16/Zx68szflFb6nwHKB5NnoMAwHhBMfiuwmSFbTCwNwanlIA9UoZFzE7GU3fSyTs8+mcrK5S24T6J7x7HHtGz/wmKLGkE2t167Pb+Ojl+UBIJ/TzgWQn3QZ9lmz/bgoKlVj2gC02U6mWmQGGkPwQgT4+NU4VLtXgMOnEJi/WWJgkJIXmr0FzrNqJIGjMPcwBq1uMTk2XYYwGWKoXIuUtPf1TP4LPMJ5hKi4bMYKIS+PAH890j9P6emrxUsD9KhiU7g01MKe7xO/bM+gXempoAsSRHdS+UkSHmSbWR96rxqmnyzkkNKHD7IBtarGCncNMZM2IiSWWt1i+bozuDKSiv7GyMLYskNmMP0j+U+ywDjfjBg7eY+a6NmsUmCElAOwRDXfHdHNYhC3oCS+iweOeKoXgHurgnIUZYa6hdS0R+ZgNpFzldBQdDQ+1VvbsarOeFgkJF1n12lIKUDI39KDcA9J4HQgZA6H1M8WwEkxJwT24Q9LPVhr/m1dz1iR30urKCal/ckg1Rm2cgpeFKR3AWY1mv87PNMU3drS2qVSYMVw56tRBIXq1uuMoyxkusPIH8F7MIa5PwtaK8vP+yC+KtpYXyaAbEYgS7/ZWvlsy/F3n9OMfRyKlqN69243g1foNHxJh02j0m4fSnmHxBaeVxeBA49qLH7nGMEaj5St7EkDfP5D4x/lENGwI3j43swl/+ATO83KZthwA30yIuRdwlVp3f4DFWanwYs6rF5q+oFLrQ5C/JW2CFAylu0WrZ5BdDdzvutuHDaCZEmU3Yuyqae4++6cMarVqjGiYDzwlnQ8uvBtXhytWjX2J22Qsibs9xWjhFpTpMxpUNPP0+vHMR5DQP78FNmj3Hx6jOnTHtZlU89ot+fAsm/NoivhNtSlUsbMHgjmI+lLj/v+Go2j13gN+dvGpvPpz2ihRrmiiqgMm82fxQvlFlPJatIhQoGuQ/TXLQPF8FB2tXDYo7DqR7uMVT7Z9EvPMcLQO7azS1brEl7vy81CnfMZIgJS7v8UFnvNGYWXS/8mjFZneXAzdR6f7cRc3twrkIYT+inC/dzX+jbXc8S+Oi2XY8hYNNtapfHb64Gsc2QISUROBcD2hlEiaj7kEwCCwUvMkArJ8b7Pk+i5O0vWm0n2M6nA6JuQlvyHHtDfDvfPOd+2O4qhaMaGAmR8o8uksv6dXO4xamqirgIi7vYMKP9JgRWysc4vOJZWayHThE0iDKBboFNop0WYbk0/PWZB2ArYjADVR3QqvBwudHmlPvnsq+gf9yJm1IrEEqspgAKtIfg3DgvxALUoLVbLbmKO8A+fk+xVdsJ33DQ4nEZ1RHAGvAapWLU0vxqkPw05xcLV4TiLmGQj4AmqL+ZHAJB9vjhSo+W0010Jj/vg4vc7/Lx022AZgs+JdT/9Z/qQ92sudS5QyY08PXdUSgu6iJZoCyXM8N0LIoV1VC02yLQ4T5vh+DsSQtvDFMIEadV40U6QHaTD66sVVwu3EXb9caaJrVWzoPoaN2KJWxExfG79TSIO8he8kOEHb0xvDK4TaJbgmG9tiBT8lCrtj9DPMaEsFJK1k3hb0bO79w9ET1FyCSaXGOPI5sd51hjtcbRJNUnqfbiSE/w7zzTCJT42Nk3hmCi1afIhvPwQ1BfPn6ttlxAAGnSZrz3GVJuk8eKvrpeIf5E/Alsqc32OlqtD22eVJa9u8aflgSwj3Ff6K7iVtEKbLe+27yrDh/yCsXN/jycnOrNMUXLIZYhvMEzuOhtQGONROG9YSH4LTg9BWEW+yAVGb2y/CGLvHRLrQpb6Im589wJtqudlCFHAki7hYp8cqHoPnh5AGAmLsZW5/1QsR0rgcUN1UZQa940vjqEGv8vB2vB9FIld0gVLCOD8vGlGHTlYv+u1/k8fEB0y7X9KraMxpLzqZcxcgzwM+zrhvtgiCeJnMLJwb984Q6EeZ23XsdXBwX6kT9jsSkccfLshVUyLfylm6FFL+q5Y++ujcw6D7uw1R5uJTjoM9RGYOPwQBa/2d7JBYc0eefENXIgMojELIv+jFWWAu9Zy6T9G6yNaPYc3fw5ULEcYlhOhx15p8lg54bOtiq3BBrKSHAxz4+r7uMyC7q9Ou4peLs09Mua3/S+BWRlo97lj4pNF11cfcxcr6UA3qFJxLa/yqHIJ5sGADCu1LGVFwBW9oFfUe38487XN4QLNtlSDHydA1P38prJB+tR1+dDV+Tm6+LkPV3sWnhQbjeazOk1tgJRStUmo5KGIrIYzyNF14ybGOXXS4ZY46p2ushFvie5A3W2ICZ4Vh9xazKYQBCzxT7CrQjkt6EGrkychsiuCqb9XGww/7TaenIoWeTlksuOaNXDQ1Llm/AEhGvJLL9KQ5QRu9Qd72jAJuX2chfmuOX/m1EaDQDxjVsQYDZzasGUEwWK+PNOnY+c/XNCh6f9cJU6y/MdpJR5+HUbYc9y6+nfGKvtJBSwisvxEM6MpEZ8IF+ZjEtCDMiSmmz2wQqcBBb6MKjDTAtPbmTSCj0qu3J8o7ar2CHMEnTGzGaVGW55FN+kozd6OHBcPOr7A6JZBsfbPQuJlDZshfT6y2viOGTBGg8hMd/Fd6A5iOYYyAEH/G3l8Ybrl54AVQ1z7HYA07apL98Hwh3TJGU+voj3UpvqSKCw92u3ZCSzvGsHViCpiEv8T2x8RZ0SRKxtG/S7tdFSyAcBYQXuNN7cJshXhtIMQ/j9gIcrCqdnCQuOr7XP1babblPKz0SwU5v4EE7xvMr03U6mUZTdQiHIQBSnhj/kaXLOI6Hmm1RwHDhjMKgbHD8oH9ce55K/6j3cAt/p4ZTnawNduuU6ghtIwJlez4rpxhSvR8+zV8zwlHYAeMK586vjLuGTSHZ4clziueVfgeJrS2hgYz41/lmqqsyYBKbn4cZ/JjJGzdr0ysUNQvK6xEXnXWUaeJ1xaduGZlkjBWwXYTBRIftLI4p7QUYW9ezMf2P4T/uAUonAxuv1eodmAV3uluFWz99KLBDDzzqSSweco+UDGQ6BanBzCwC6fOM072t3laabTGSSNLpao1W2ODxlr46AgIfzuJycWfVgH6lwLWCn+2Zj+2FSLZaPKvzGEdSXq/XtC3fhmHskzWSfA48ZH8TgUY+ZCnnTneHmIg140lvVEM3jXkztiv4jtLLKdzKsHi98Sw6fFmd3BwWRfynw/Ue8B39s0f3S6sH0jFDeSjJGhXB2n5XlDKrK4SdpzZCfPWSINmoBTeeLu3syIZBN77iitONOL9jl38n/Hbc4Z8H92KD3N1ZDEsxLlMlUyzHdO6pMMTQlHMQFxfV6x3cp4Fnq9JKJgzsn7mpBzFRFhF4AeR/FXyyVRNmcXvre9NgxTEEItpdZTfpXZNtsSF1RgRhkGNkVckJpAQH3+fxLlpuVw7Px9rx4slUMOB8brv+SpJwBbt091yBZ3Vbf1NWN5tr4gqLSDa90y9TZI1HSPiTLuGmuSCm/lZa8YQAjwBkUXy6zHHPMhx5olAwy+WH6AEpDZcDN1f+BGKDqwtYn6b4MZo7dijYSnNZ4PGZqqFVA3j4Q1mJelLfgesHAxMyjr0PYzJEvOweQ65hsECpObJmV5DM2B5zhkRORRhTltyp69mOzZSE48vjVZ6aFgwlyWoV73HOgaNea7sb63kfqG9f/MEphwWKwCtRUazwj6bxSJaCV0VommLifSy6VVlvFXc28gvbUYPn9VJpRBZT05H/Bbpnl6OPzQfOr75d7lCSoV1mbq642bf9xTO4+Wq3KKBwiqgMW8OIfRlLrJIa4npVb2S+1ISq6ojSgv1LVGYZ+KUNWZsrZOfX0bUyYgkPW8o3e9mo4jl1AKof7kKKZA+7/chtRntF/ayz+6/3VMQSJNLhjQChnapNnGkkxZ4ujpPgbnUsWfBMnbjUXAo2ddmUW10RbLmB2NOwP7PNrwASLjczNZ07z2PnajjKrDD+QxTN3gSuvS3tNYOXWSVosSD6X5MbA1qImW3i3/xrSqFcxB50PjLkGBWWY/j/LZp3ijdVnLG4+2IaJ1qm2zOE1dfnx92CLVXmK17Fwq3COeGSgmkXEy/URXwMjYo56MDsGmvKUrwZgj7JMvx0WcjJmlHXjckD82YQAFjn9/hYtyZgSwTTg85srkg4/vl4964vgDQSn+7Qpgl70QgxQk7OE4lGO+dsBYfovH7NiYufTPM3T772hJDShh09+6NZ3ByAjx+AZPrK0ih0LkQ3O5cOeDZFmVXBLuNtOX/WsJHx5VYg4s2KeOoghaLGfd/fCdUDHSeleaNZ1WqA9a0DovWmz8WI2heipaXVkUfFL0RgE2s/Nb3oNwxHKWXy7pU4ZIbGR6l7XdWWY0LslB7bFbSPjSnTM97tjr3USYb0Y+3pIIDm9yc0s5eln1yZW83YtxYeWRVn3OWYwwT15+hW5x3FAuGszCHsPBnEZbhT1lfF0jktKEvGUtl25MSkdTcwAgnhcHDa5ygOnMmjiIMK3y1314gO6uNWYlQisjKsBk9cH/zLbW31wLR7ehOBjLMmCSInSm7+Abhn8OD7MBxkmFoN1NVLf3YgLa5gbwKBGDqC2ORyLQn6QK2Mt3t4kCBUPuJW6mjUNNGO4s0EdhGuKmigMEd4S9L6oQ5EyQBEl7awfFuxa0bFfdAzC/jp/cXtfSNvlJSkbajQMRnXoyKitgcQIxNVg/dUKgZhQotaZN6XvtDrvwVkH4X8a37ngcjpXaMmdUILpM/ukysnDtn9U/HVWV4rmXswEpMgCLdYydg+yf9NCgEoA9sjeMx00jTauPfL6cVMyQXbHhF8hXhsJvvkSbCQwQEliAxMp7sQKAZrdVMgBvo4jtRCE10QmHOD2FCR4Pld6bK/ITu6G7OBqopQrXS3VJ0ygpmbx7fCoSEBk0HRXr9osqKgYQ8TB6yt7Ty0t1KLajOkz9yRw4Lxlq9VJ8LtQipspKgTRcVLQa3dUYGAgLc2RjPKdtiUUPRm3osCn6SmQMn3HzyovbXEAoa2TWWJ4UecDLKl2tkG7vrUwMDYRDh5yH7/lqzkFcmp1glu4atlVUApqaDADR2hdZWoMEAH7DlO9I0iGiGLJcRV71I2XsDYqWIbS4rOLVAlU/fkWoWTKdasBb7s6bIBK7unrdZLzU2QD4CYNTGN8U80BllRcaGDMKnFjfc+H1+8ymf+uw0//CZcZdybJestw3JE+ithiqXa830rdxGyCgmuSvXHAuveW5hTPOZer1LVGtlg0ZfKrepFo0id8jtNdnu46WDxUYhUvR9KSRFn9qNwDPVtnEtvv9J1mONHTA7ClV2wZ1gPMlOd4CMfnDmquRFp0bpj4EEUAKVZjbeT9BxzANXVsrERvDhaD3ZIar9/SxMRcIiADkwf7On4gYuswZyzv4uty2bX21FznwWneT1RI9uWJgzFDpcjfil2MwqH3RijoiIEL+hHrKUKp96zw7Kz853kSP5Xn9zrSzSmqtLPyz9+S0Ol1ObGBLSg9oLUyJqlCYPpeV8hmd38Umc7jSCqAMS4QmMTY3jr4WlACgoANAim7Mz1u4l8MFh7FvRUuBscUTk+wDZkZ3e+1Bn4OhzdnrVFJ0VnyOPkOwGlVp9F5eQRIDlNcNnO6LWKVRx8QtZ/r8ztaCvEcTUaQNybt4lV9epzf1YnGKLbvKTIqIroNHseg+bW7XtTX6GJB8gksaT6Ey7wfMJRRqnsVJ1kLXEeypXKkFOWmeBv8YlceKnDU4Y+VDjYYY4VsdbG1sWZqmcA9w4EoMaoK1tNmEGfNj/ian1fpkQ9KUTLM6dfdJD6rHMbVraTgT2vDUE5y2rUUa3nG/sXtfI+/SQpnzRJEpcgrVl4fcbCaxaMDErDd2+hJlGbYszIFKFl739fZkFvBPQJEutjJwmWO1Fu48g4GV3pi6ri+ESVm2PGL5qFy7TQ4QkHwrbpZ7fztJjpaElSUbCzzIXqPSyWZZ6RnCTugkSPkPu/PvaS0CMOxe3UPgny64kAMk/WBcL+XrOzgxZCK11M0NVd51WnWpiy4EJ/56DlERBXCyJBzzjCdOOPczDDT67B3AWw6EUGNV89krE5vSz5Xi/nq5Cg6n7aKtWJE7R4qw8nqI36/R5k3wU6udOTT/j0lNqrBZNWuqX5Bz4O5m/+GlfKzSm5f7jdzBloYKJxZzb+2G3iBapE2Lgh2IPg0GdqUUwgkdO1MTJ0ZvwfwaVAAA2XjfPBWU54JM/4+z5yKnXBI2DNaFfBPsuN0r7loiyRPf46SMve3w7K4xtaDX0XIM8d80n4tsVkjxAsSWdnEloY+4Oi7p17gNwkdzuxSfO33Tsfuxn+B1v/2sG5u0FWSiOsCX1Xy0mTuKwESsWbcSQTJNygcCxPnXCfcVusB8pFopA65weDBdSHMDmaCdQMEglSF5JuG5ZkP9pXelzEm+WdHMNnEbSPmUGEyQA/aTA8rK/ROhl/UfG2IrZaP8s3PoGwRUoQdeRssihmjFcq5sGiEg2nI5lwxbtplHL8wdM8pbvtUsGNVymxRLqZn4WCoWGxC7HKwL835Qa0nlVg72ORjdLYpzjrT6cCwd0xg28hh5ZYOmc5/IKum+fEbKxxVecw8KvdP23vCpRcud5kie4h3VTZRxrjhBKi0fRoLosAft40eLMNbwCQu0VxQTxfSJ+RnhvUWca75/3UVRO4SiwWggK0BhBtjRxxb4KRdlVjk8RaAfblexK4+m19QyF3e3qJ1eOq8VniggFUHd1soQpkdz3Uj4cYy7+P9xoCuVy4fRm1NlFZ9m77vZkho0zMiQJ5iqEa323boeIaekl/jvWDJt0tvZ0iW2difrEyAp0DBQZfuhU6bvx0qdKhd0mU6vRVSfEj/qoZj+GhVhf7nHuq+HdOakdaKRQsY8ABZ6kJCIJsIef9AW0fAtkwTW+U3zdv/aYK/YvKwumyIl9KjX4Adg7oB2akEFeuaBqEOCG2tXwO/reMso12sE2GuuSk92mWq2c42I0fdN0p4zCUFFJInmzpI3X1vqFtPb6l7JWNX0MO0TtDC4n9VQpBd2SHKfHdHy1svgEONoLo3tzUfrkQbKGN5Q0Xx/FVRUXkcx8jgDkgF0QexNXLTMHFFSDJ+s8C92IIWqHh7hD0IWbPI6DZMnHIQ7KB7RcMdwhsmCWipnlli0Uq8qCvsgImWqCbo4Plo+PkVN7n8+5fm3zVjvtVXprMGmGTgmOP9Jn5cxRREApCT3yWksSlYICcFYXGQNH7z1aQaKqVBfh8vl5EAfenQJRhzxvsl6DG0Gka7BKvXslXNPj8sdCgH3eoRPQInlUHCrfM0q5BUNYKlUlbi+5WPAmj3k1bzJEorYsAezc6rWgjUvTgHMGmxxlWNLNl/I6N70Ag+qFuLg0N0Ud7RohVkdsfggvLiyznt4FsChaJg2WyjyN9CaZFWqXves7FawZHilD1TAl4sWw5sc74cflVoBmsVhXPwFDiBynkLmtQCYD7rItM4+cMoWZ+lEJGA+urlQ78McZAFFJ2tyIj/kasR8UY812+2VmqivkhRRzKKC8mFttFwVkI6d4eUKVwU/hlUBXfdyvkeYSibTIX4JvwnHfVp1iSqlKaG8f2Y/PuWxZ4b/MmAsFR4EyIqx6m6rIuNwv3TQH677NfcvCuAwR+WJzMXOTG9e4b7EvJTM3Ofvyd4+aZNtLpNO0/8vFQ1/J36O94euC8jeEJ/jcvFBs4WUGXB0xQu7AUe1Evi9SdlZy/iQFvobdY09b/WJ5Eosdnrhz4o9W31mw6y2b7o36NgXp6KVirIzGvITzqivyRTu4emLjHFjf5OH4toohorrwW+JQjFmCmcp3oj5+UneI/L8FHK4O2uZffF3DV+qQwzZqsFerXa4PLnYYf1eMBRxGtJQp4wUuprRYVDiJr/0/hzBCVQFtZ1BClsNoy7h5EKs0Tpu3v78iU7UC9aeOIVBCEmMQbcT7Pp66FCy/glduz3dv13RjtvygMOe2406nfqNNvKwUPQZs1oeIrh6dJ110NGVG1MnHMKGg13O//KgRz9w+BBZ6+wKwjIhbVqaBoOJs1EjJ9Pok6Wz4f7jpRjvlcS7TcKanZO+OMF2rWs5EyfeNEao0/B7umUwXugRXlXbKf5jPuNa/o6UJ9SwuUQbRdJn8b4elCmR9PuMHdDpVQRQbozwSTesIVcBzcX/lMT32WDeq1gjl/V8OM7eYYpzb4KMjO/R7zoS5J3BX6XGRmMW9fGYTfzZ4xGbPt0/X0tTT4Mrv7nsGhzHq04ek/PLIs2DiQPklprNcnBcyjw9wX+yHwIdau2hYtpSnnh9NvA5aqxVfTm/giUWQeViIsqCxdNw5SezzfPXwUsZ2JYjG01enR0Kd8aTGoIM4MClBreb42z7F92iFHlL81jhb3JR6Dwb8cuFHpREp6UYLq3Kwc4cZJYOfKIZSKgX6GaJo1u67CHmwupMzF0O1m9lbdgxeDDyDrEtGLS1/VqdF63+xktBEr0PQM2OKErB4cv509b3h1EL6j/NO/y+n15fNCzTYLkoQ2V9+5OxFwJU+o1rtNUbqNZdFvl+AVbNU/+OLmK6u8n5i2dN3NHOdsedzarWwjpJ4Ku7MleHsGs38aw5UJEUm8xOwpHPzt/Qz8bDJCkIDz+XyKmydHsh4sww1cUS6cDADAtUPmwAYooAQkWsYomG9ynTEHHRWBV6SMcAhznXRiTCdeJdLC3rCzBFdRfbVSdBL1LnHUUdRrJ3BLer4xwir9O+HfMwxISk05yqmx4utXyhfADQ5xpmbJILbJzIbHHv61wZzRnB2WO7At73B356zWBr6y1bIRutXALjVm6q8y9+9Yd4zvoj43Jyo4DQjekvipfYVSLGVrEvjCwop2PwGZJ7kzejRoT8ZeAdtxkaupVsNwR+jj7cKB5Ct72S7zWcvsKn95A9lfA8RJyiv6GMWZ4QdUMANXj2HXUJdWkIrm3m7awYx9ER7W4Eiq0XBenGzXkC4oo/yotQ275xbGu2mvlSjSBiq7WU3bkKXPl1tBmfwdK/q+y8XddjHmQr3XDukS9pbdcZKjKPglOkGdRtniEjkk5GCEpVXX9BydIFKvFHpMU44xGAK8aDDAhtStJmFm1eO6HVJJfT+Y3+c37QM8pg/QIU4437hXvC7VYio/5IONiXkVmXlVXBH/FX0NW/iRUCimqjkMGrv4Etu7eHPFUZhs7JosXqy+3zyIZydbx0S46neDKBvA/VRmfluDU5c6Vulgf/aGWTPh9XB/FJX7trIuNdV1u4J1RoZRdHGABxX3dHbvrD7zx8VBkTPFejMraggTtdMIf7lg4cDpGrAh6GgVCJHI3RPDnTyPxfUanjXswS8D/PSSk+P9zCjI83QF+7ZZ1YhvC9KYNuYpmVeEHbo4l3nbzOac73uEFwC3MXTaNAWioiIBXqK9rnzUSY+qoJ4Ok+QTEQSr6ssqrhz0KSgOXZMmlHOfZ8PR+3EMf0QgBwoQlUz/sqwb2ThgRlRCR3rA+2I1yLYY/vOoi4gCW5VxV1cf7fE3EfdjkMDbQOL/pEs604/wyjzrjnpv455wkHGr3vGZEyuiK4gTeCS6q6SXDLRuhFHfJMjSgK2zZ4OV62nEhGW8nXEaBcehGi5sj6lqA9C0Fqsx0tAYcpoOI51zNIdgYD5ofk4QWjFI+cfDpIf1NQVY6tQ0bt8UG/m+veKhTkowhQHWrYowjBXsLFvQdP2YVGrWsb9MAOvsYvvPePWXFBqSR3dND9EDO4dMA9J5RJgnZ1TrV/wpLQmkZzGRTkp0C8W1XflLJxb6+Qq+pWZJwU9PLO1PcAx/cqTYKjrho3crQafF+hc0gtphuI1MuSYMcmBCoklSbzUwoasb0js/csszaH+tftflt9GxICy+9CwNB9JtkYZkQOAmyCXSOFi+2WP8TpdfB8ijXghDp2aqxZ5VSD3L1qMn2b6KEjVlqj7g64VsZ9R9eCoClgCOidPyVt+azLsfLZ0j00j7Pafpj5WxKJus5AgOHFEPHtNMA/ZY2GQPoBzGy73cf0BBx8h6phD4km4tVmFbgCR57xt9Pup9cMxq0odvhrigdwUZxoFZEwma8hAeP4wPOsHXyZWnqT0MIt7RRHjEj9ylAfGMN2d3vGYGPAe0ZC33ih5EXMjoiiWnbni6O0IdgM+VmvzJAPFVrNTlXUdcgdoK9j472JUP9AGtWPW74eSCk3i8kek0L2a0SUYoP7ffhvgmgWetzX9ACAXHDgxve7qYGgBFvVQHjDy1JOF/Gf/VcVvoL2txM+PpcHPRp8NQRO7IfI2BuGS84VM8FIXu0GjCSVR/DhBAdmW90Foa6kmnJdhus6YkNWvnwZ+nh10rj3StCo4IfUphBETeZaULTPaoqJ6fJjnkl23QxzfpNsdK32QIi5g+u6YHCK/kddZs9fIwK8RO6hnaW2ft8MEDECRw/uEPSMBjH+L/1C4IThiY6OyYdNtZf/JO1v7jGbb8PjRJZOTIUadWlwclJ/lZc0IdEQ6UdL8HzlUnObWpczfhvDnylEmTVb/dCK7heRdAdnoSZFlsXfn5ErMhh6cPsLAXeky1tFRdlU7lZtnd80Yj6jAu55YBN4lamZsQxP6LeaTvt/0EqFUY3oN5k9ijvrw7tf6bMgc96hxld3KTu6FuiVogf1I7bMt1fJWScacSaGdxsAQy9CKMkagu52bsO4SYnyiQLCyKieTFYG+M45FvksKfKj7pHgXqD/+uZI6aaefhRMuOtkNSqGAE="}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":4729,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":4729,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"f35667fc-0951-472e-a31c-19ff78ef3b4b","uuid":"5d9902cd-093e-44d5-af84-39e1865db761"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01VEYCywM3VBSCczJxV61XL4","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game in TypeScript that runs in the browser. I'll create a well-structured, fully functional Tetris game with all standard mechanics.\n\nHere's my plan:\n1. Create an `index.html` file\n2. Create a `tetris.ts` TypeScript file with all game logic\n3. Create a `styles.css` for styling\n4. Create a `tsconfig.json` for TypeScript configuration\n5. Create a simple build script or use a bundler\n\nActually, since this needs to run in a browser without complex build setups, I'll use TypeScript but compile it to JavaScript. Let me think about the best approach...\n\n\nI'm weighing different approaches for getting TypeScript to run in the browser—I could compile it ahead of time with a build script, use a CDN-based TypeScript compiler, or just write it in plain JavaScript. I think the cleanest solution is to set up a proper project structure with TypeScript source files, a tsconfig, and a build process so everything compiles to JavaScript that runs directly in the browser.\n\nNow I'm planning out the core game architecture with a 10x20 grid and the standard Tetris pieces...\n\nDefining the Tetromino shapes... Finishing up the tetromino definitions and now planning out the overall structure with types, constants, and the main game classes I'll need. I'm laying out the HTML structure with a main game board canvas, a side panel for the next piece preview, and stat displays for score, level, and lines. Now I'm moving into the full implementation to handle all the core mechanics.\n\nI'm implementing rotation using the SRS (Super Rotation System) with wall kick offsets—this lets pieces rotate even when they're near walls by trying different position adjustments before giving up on the rotation.\n\nImplementing wall kick data... Writing the piece rotation logic... Defining the piece definitions...\n\nNow I'm setting up the game mechanics—establishing drop intervals that accelerate through levels, calculating scores based on cleared lines and current level, and creating the data structure for tracking active pieces with their type, rotation state, and position on the board.\n\nSetting up the TetrisGame class... Setting up the piece spawning logic where I randomly select the next piece type and check if it can be placed at the center top of the board, ending the game if the spawn position is blocked.\n\nNow I'm implementing validation to check if a piece can occupy its current position by iterating through its shape and ensuring all filled cells are within bounds and don't collide with locked pieces.\n\nContinuing with the game logic...\n\nI'm implementing the line-clearing mechanism by removing completed rows and shifting everything down, then calculating where the ghost piece should appear by finding the lowest valid position. For rotation, I'm computing the new rotation index with wraparound and setting up wall kick logic.\n\nStill writing game mechanics... Completing the hard drop logic and implementing the main drop mechanism that handles piece locking, line clearing with score multipliers based on level, and game over detection...\n\nSetting up the input handler... Writing game logic... Writing the rendering logic... Writing the rendering logic... Writing the piece rendering logic... Finishing the rendering logic...\n\nNow I'm thinking through the rotation mechanics for the different pieces. The O piece doesn't really rotate since all four rotations look identical, while the I piece has two distinct orientations. I'll generate all four rotation states for consistency but they'll effectively be duplicates for the O piece.\n\nLet me verify the rotation algorithm works correctly by testing it with the L piece as an example. I'm using the transpose-then-reverse-rows approach for a 90-degree clockwise rotation, and I need to make sure the coordinates map properly. I need to carefully work through the transpose step by step. For the L piece matrix, I'm mapping each element from the original position to its transposed position, then I'll reverse each row to complete the 90° clockwise rotation.","signature":"ErirAQpbCAwYAipAb4kYW5se2hpHCRCWhWUnex9mWLU660GywAGRVrUBn/MHQbjJCbblZCxTPcJ8zP3JVMIakOspqJT+In3B347TFzIRY2xhdWRlLXNvbm5ldC00LTY4ABIMylkG0kK9HbVAKKotGgy9ygkgliKCM41jMZwiMD/xDthF1ewnXZewqG7UEurIHh3a0R2sXKH3xBR4sRDpvirC0/8GWM/TzcsokzdbbiqJqgHnaCjSVX2Z9aQFXEV6PMQ4OebY9B8e5ytHIxZe/JrVW6WchnBE40hSQCM2PebXdj+SrMcnt6Nr1A+v0o86LjJtEAQ96t+XpFplSlQ5rqSIP49WwaEcKWmrUx9LgvXEa669l7NTqUuE+eKXCuyIYqCKk1Mo8O2UfFHt2zH9QXOSxbSIcr4AmcYGzDCaY44b9XJtck96L8+13co/7eekWwXca2N2gIoghuxZeUkQEWXxa1JNhH0mAKBZk5dFrXVlFitOqmB+oZsJb0ZvVj/zwHGD7HDvNJA9xS0PHHhZVdW3hsx+maxVf5ICeifWuumSQl/RFI9ogl80wD4jUQRBzauCo1AjndUTXpaLXcJUVir0lPklyWrL91JrAaHUAJIWBrRcgMM6tQLZckdMmYk+Py+hmMA/I2izYnk3ZkmNm0QE9MF6AHbV2Xql9IIJVQ0MWQM9kZxuIH4GwKPLB0a7oPHaSq2wBKb+Hixbw8GuiPb1TvAKaPODVmVH3X8s/YZ/Q1vC9iNXp1pWoh6uQ7vksCr/wtS3NXsuEZ6AGXpkruktwhyBeEKwvGeAQsKf1HJ579FJxaSVPzHYf+GGaWqPCjekJmKQUwuhvXJR5v3CNKKs4KqSVaiY23q+eWkkt4JCmWzZcevaoAo8dfo+I+i7mvq2vcYqP9eFyeU54WVkSQmW+Wjbcue74SCMouM7eaMNva9UDy3K/XrKGXM99w08EW7lhIK6YhW8wGWWs0fkKP21M7RJ7ceOhDDb9TTIQwlVhNlbUm09O6ZnEvRg5Ql4rWAQ+fwJPRIilzbdaCzbkhw3uXQdrbXEYtzzKer+ImvqtG7MfiQWRXfFUMpEbFIRza6KOcSa1ANXpnJNZT/JSSOM2fTbriS2M/3s/K5Sk9D+boB1dr/sgnKcdaNZKJOsbRglWEG/9bWShGonpK3u8f0xKZRbkLZGLBpu08nIMOlGvw9dAt4MWnvD9UmUBWjXs6O9/jVm7buyuiD4aMFpxUDgpp7mTw0ifVFvpyAyRpJzrLM05AijFpyRQdi0xOVudiuenLuioa21ke9/3J26LxP4c1lG/bv3EtYqxu2iIu+F9zHpIpUSGRmzcom/W2WonyxxAcp7dSSZF7rj5PHLOlW7cSgSODK2ORsYCwt4VmyyzCtrSGHLa5EJxgVxkBwXcI4VbZVMIq9E2WXlqTxydhL9ArSBI59+51ZdAURVBXylELCV8GBdzeFR60tUvAebWk9xD/Pw0rnRVR3gZ0UQzmOL3U1BeycVephl8gAi75I+lc9DWN3CbCTvp9nAyUigN+CIlS9nHow9Gh8XnVenuLy2bfd02t/cyDCpl6GJhnsmOdHaLX/RA5X+tdssgG3b0kNi+21tcB8NSP4mwo9OdDnXmA46rIssv/CZ7uRqVinvajlybaj2weJvaFFHe5cTRnNCjla+ZKJNjBgPtEtc5HKnJPfeM+VfTbBjmnZMBIpU7YEaVywFLgIT9CnYxUhmeqJ0yRQmdlfiQwQka9GW16kfig0g9vQk+IN6i2fTSEWyN+dmsV3z7FrH3y2Y8/YoEodyamhj10GfcbJtdPagbHWHnNnyGV1ca2VOVIDquqwaNdSpFZZcr7LHwoQfuQLTj3Dre20hr+RIq25UXE/lgNiJGfQnMoCwpeEl3GPH8Yg263gV5bEDcovAB06FA4eoGxrZ8RkTCYENMUgdflTAq7E/LhfZ62zqqn8t0+ldsxSUOP/iGZnA6fvPutfjDJ34axNAOg65F3fhcjvqlfVKML6QfCVz3q4roWLSqMHhFhfoDIkT4Vpe6cVxOewQ4hJIASCfVMEgNjNq2ltzhJ0tWHQYbStyVkC0iAMNlyGexEUf4kG7EVF9UQjEfJtCH40PVPF4CUn81mPXVCm2QNe5UvRntoA2npPmktVOLxwo9ud6yyZHkeyqkEjgvuc7lsseEU0V+2342z1zCvaWLzN99KjBLlhGd5BM61Vu6CJJAePSdqRQoefnE1c4ZiEEG/P+ZsR9ndt15Nhhu6z36P8l7iHPhFIxMT1LKlyK+MKX/IFgs5qLdy6tOIFF2RKShpjjufQAVs77F9S3VcrqIy/pbSbNaxvUMgMU7/yiNHwqvjwADdXExyeptH4bmOZ4At/DslrFwzgdFHwsb6KDu1FQb/ns7VicMiU3JYCW2L3HoFWosPbz86bJ2hlcKb94KrzTwWWjI/2h1FPIcZydZY4F0ysOYuoDVPqzgQIewMPmbFQ5zB7z3f+GIchYrBuQd0PmOxK5SmPVijHJtOhShrmk61sYeSfvt4PhRKIwd27Y/bGAjbvXLjqO6ZRPGS4MhXfPl00Jq0dO91evJfip1xkJlJUoPd/mTMGG1dxecM91kzNWMxofSifKdcMceKcMWDlDQcjgjguIo7CGnN5ex+ZMMIyKUgQRx2hVUqibNVTwawomhruW/DtzLpUEfWsTJgP5aSW89cMocIMn96Mh32CyNkIjaqeyffdax9YoarNLzvwQIkpBUuYzLGdHdKMwDbJ8Xw7NHfp8Uxyt/zXhgxx+E+DpGHuSM2vr8Ycv00aD/6Hxx9bDH/myU3m67irrJAlmEqy8cpG7Ek7WNcL7SgOXcT+7Vt8MwNwOz5NA9tpLLGh9BW/wnn6XkeehS4p2lgmpHaFJ4xMVkXon3msc6DMPI9ShVWjFHYbbcc0j5U1/crtGpYVMMcETfararNjoWSjvk0Cdjam/zjUR90UG2WOzZ4SMrOMH5T0hRFB2mHW/qtQAenaBn4D1sAKaYdqzBon4QkgU+xDlf3WbyMcKgdE0U96BvAtU1i4Idk9AFiTbtxivOWo5dF7DSLlk23TWGmzk34gaReBhEn1i6RcrVk6klHKYMg3XgfEoFHR56Y6ehJTiYxBn/jps1G723iKJs1W7ko5IqpNJT6pMaw1CKpe60XeLGQoIj4UJQvy6vbrNgAKIiFcdshAyst98a/pltA0lM8gZ7iwKjLx0sLO9HME4lv/qw/FnoLPvPQs/WE/taTU6zQD/wnAKjZ/7gOOOUvCt0rTElSQWCMIsPSnorYL72vbSA45ofIr4bkyDwd2uQMlHtHJo2njefChoW4Htuukoid0Kad6F5b4u8QJXsXO0ZGAyEdDfd6WQAWwJ9ZklhBtisKD69D15hShClqzLEAcy5G2ceRyOvBwENEa15X4j+ah+smpem3pNsFe5cuoPVaZOejqsPuYk5Nkh6uaBCtnaCvVo+AtLOYrmX0R11JTozF4fTvDTz0SV98nCutoQNUgqTs4zoZwyVhu7/IIUD/WFNA7Vx8fB7ypGkAIoQ/abMMQZyyHy9KdF2pLdn5Lgvb1hS+WNtVFC/Gg9cqNw5U0xUeurdfrng2ew6YgheKJb4Jdixe6O58Vshf6DBwrvIk8D5tNe0nl5nsudsIDAMZIcLcOYLiaYLVc/iY60HcT353EgSvlfE2Q7WYK/pii5tUhoIBnKQDf/Yjz6oK5+x/Hk+GnbQZbtPpiPR3n3POtX4zQeGWGVgXS/9eA02YUXccPnXGNynwt9FukQLq/9WNqsGfvF/IReWbJViHoBpkmXa43dLBAjhp18slgUFEFyMMCso1Zsd7lHMXKunNRli85N9IPUBypYCwhQYxUWF4dxYf3gqbFolE5WBgMMj/CsvC+OfG90MIi7x9B25wYozADBkWXdaz+XDqtw9lBrlAbFAzHLSLc25R6TQPEXra2TQlqFpb/9kD+SfZ/seda9fdfMMNx0aqVf3mrfl6ABcvqfi1Vl1TRrBVYi+avUXyPq6bl6y+0/wE1Ipx1MSmBMOVwUv3Q0ZmV2TjEE+yE9cB3JW9FBv9YBExO3JunmLbmXgoZncfe9+iHvWX3oYK+YEgpbSHViM1mjOCVggCisyfSlf3zBcogIgzh5G33mmHcsk1Si3sJFAFhrYNdQsBwUupJbSyga3n1zhn/26LaJ45OPJ1KUPvLaXm/jq4ohfgjfharq/XV4gVa8Okg4cCPvyW8BIKcj1lZrIjYBJD+RQU0P7qA3oS5yjE4kgSBcp90MPlnbts5uGolbjF9kjXNFK5pdK0CWRDmNc8gcPHLfYFLECnCc+jKo9+jpCgPUSCUb9eAflVkizVuktvHW7zZUDfWjPaOuXRrKUCHLh2O8PA99wpvmAkIuzZGEBzD24lCgeUK1Qfcivj1Rc/6QG6UUFM68jypCGxBVGI3WNtoh5Jn457LxUK59r1JQakP/0Z5wu/cQmsuVYH6QPse0bNTPCx4qfYJFlFZ0sVC9rH9XshuqmgovPzMTzIQhx4wFGkl0pGDAdNMD2UnJfhVviiRBYD3pf6Mv0kT0gMdLkAzjKONkIhKRo8+WhdAKvuQ7z72z1TZQ5lIqbksCJ4hqOrckGfiAWag+/XSL0TL/YdFtNXuYouLWU7h0thNl5HMcZ5aFU7MHD9gwb4TczP/jccMZZ1tSAGkQVM1fWzeuINitDPMAExQCS+VlpFyV40NV2k6JC8uLAIo91P8IvcV0cyFjVZfIWlSAiU6QlUwgRa4votlZSqpeSvQ/XRsiLgcyj/Dl5RPpXpFpB7m35ioXHs7UEA0wFt8mCVB4VWWSOSquvjR3HW+lc7sP2g9MOsGq+37Y6Cwr8gmavg+qhVLUpTOQdoLLPhKl80KM19Udn6cwLHKP6ewbZewwT2p+6DgiafhXCHxKUXECxFrjz4EzpwRdugaj3aUNdmRh7wHn7wC+apjjKbMd94TFaVxxZl9fZlyL90+dPOcCuKh/Nlt2aHt4t6D4xswvWgAPmWRKS8xLLK+BREgQLI3W6dh0bLz86hHVpQuBDGFrz8r0II2tTX5I8z/JF6QQZAXqorAibFwAejrzmdB/G4QLEQJLhFy2P4jZmY7nTOmwRJLts0ffZaWL47ynaFi+0tf8o/QS+Z/y+3HoMrdWL+rYNrUSNOjbZlp+ErGe53Qd5DINoXqxaoa1SyYMpXFeKFcb7lmPYPSOVkrEqtPb45XR1PAlz2uZslBk4KeMVU2nHq5OZ1+U7XR5DhAU2J1J38pLvbSQmuJNKvoj8VbenI886Zb82N4H8UHUrzjxZLitMK5K2hhDfPLVA2mXEltLcK2F/8gvj5CmKyA/8ZaCDeLdbJ/oPHIAh5wzzIWjT++5VJPAKz7Qp/7TlXhvJwM6ul7HLcKYDhSKFsN1zmYGejpVoSj8hWxa/UDMABSGpDyLXYULG6LHecjVWasJPpTk0Z/kA4DftjB+CPvkLsIPiL7KQGJT/Q9bVRCpLoiNDgdD71WHFaab7BYHj2ZvaJlG/5URJ3TUkNfsrW4rnP57CjLpHb4tEg0ZiINsP7reR5HqTUFQdP2uZtnIPwj7DTqEf6/3kh1bWL8cCG5oZfOvJ7DXI+mBmhifs6jvp+BlSBuosgaS9ULCrhdzkQX6VWTDMWbLM6Fut9zlGP1BP7/gnNWR+4wjCmyUWUhYHnfs4mkbvHz2BpSSHNoVQPJW9cCjvOoXc8MFP0KDRTq6JdyHyVzBdIWan9uwHlKn0t95uR4dpydbzh9CUZGz1LpwLl5HA6aL7929CENdxtz8ORJ/qyUqADEH1+YEsT8KeCmTFsIf+xxr0++3DKxme9tdm2MHBrgu492B1m78tBu3fE9rHl7sIQvIq/FBDGE6j7zdv10uhKKPcGJNO2vqGDxJNm+mtiylHj4lmxFhIayOrIm65gxh2NIdZMoPz/WXqaJvVj9tmiGdNJX5fsptXBRFvLp+jFYtsjie+uflMbVrGISy+naXUKbzEqz6jpP+LIYFbBuFJD3MDq1Air1/sowUBwC+CV2oMGig0w6n1bMF5TUwHHXb4JO/PJ6hNOZM7NiKAtXbvjELZGLxH2mc5eA8fdVQUlmqeRlOWqObSknm5/9GWtuDs4Bv+X/CqDYOwZ+LxpDaL/sL934TW9axh9y7DkojIb7njdy31B4ywjrAvlA6RURLglf525KXgT9Iup/arn14RDbuJB+LFOoQJe8KXuKMUCTiAAHla2k5gnRIkrOYixES+c6FSmWu6mChXGK+g4A6XHKqnaGuuwbsKt1zxIuK9X6S1t/YK+7jWHuf+yy63UyUH2g7mPeywOhvaKRnuZREbxyiZpvGW/3rcE4BQZOw964gm4fsj1r2W1Hmchahdwe7V+0xxVNNS5TL/0xLGtjw4x7T7FQ7Jv/HYKj8TElUEuyIrfhnXeg0zNxSLPOHudeQSuzhohga8eGjSv8b/MbTn/e7AUqpQbNM5XjdK6+A4yXMFqU8oNzfNmgmupLyAzR2Rf0O18Kz0nCFioIJ4YllJlwbuhObkRAZ2BkRJQ3QhniOZ/ItPaMuvzpknBRPhB02aM4Mec0uuwYbrxiPz/HHLkR8s1tS5Ee7Rvm5TYAC13o43crg/blTWLyrqGG2LTN2zCPrj+eGOheGimpC0pV3KUKud/6IS0BjsTb2f/+ocUQcAEFG3UldBA5CeNmdiDOFY4w4SqnwipUtbqgoc5+8sDtENGIo0HIx07JXGoK5+w5c6RvIRPSPJnpbTQ4WrkPbZEb3NtgR4hPHKpcAaslyunc12G1Cf9kwOr8VD0+H/TtV6MPNPXh8RCWScGYyMZNVsex0jRwdk9A7S4Pi4E01E7PEcbZUpUKPb6a/j8vVN38etYyY65Yzk9xQw0dQq73gSAkq2FUhMzEuinXYNL+iTVqyJvh+VdEf+pOns+RpM4Bc3fAyXq5O7Gxwya/HrdZOqMv7v4aZbY8+0900zFfZeaNf1vHiOeZxCciETJdHpPA8bxRRArNT4KO194PfT9XcyTq1TZeih2JRip7YlUqxA3oAADy3hVVo7rxprJxuZL0rx/STFKIhYyaSg4XEPV1tKPtkpeEAQKm6PlHyxHDAkQAjBJ0FAqeEzhM9cR7DNbOpr5+P0KiJDIoxp72VWpnxVGWRYv/oFP+vQLFsygBxS3Bwk9k/wwgYnEhRHhzlthNON7UY1siaZQuEiBZEB9ElSSmWP80GEn27tAtNnX1ZfrqnzXb2pzHtxPn6fQ72pqPsYaAONjQDsksyA0NjHblo1z+hP4SJ9cY4qws6tVjUZpF2sRXFwiDxDDeI26PV3GWpwmZsJzhBBFy6zNBpiOZMKaoCpsdxED2n0cC0BcQnbN1tb1o/2r7JvPjfGKrAD4GNxtuohlDbyoNDmcuFSFQsmA7qsCKkVjTkRnucdzb1oLMo3B/Rx7ddJErG+cxtNuhjxlo/Ih029z9VAmO7G9dTxDSEdftEYOScMwUovyckOfkT9kGhvJ01z3bp4mEne5dlnzauPaCdA+yEEki+ehvBiBRP6bILRHER3+9ryyy0OtXj0DXw1dhzH9R66D63wUytf0p9urCqIUvgGlONNWeVb2HnV6hhgh7sKjVVhKGEwsbKnNvFyTpz8tMXNgNGQ6FWBSCBDHdGtRPNEadftEzTltQJaOcSdQo6r0D+jL33IFCLy8KoK6KuY8mssNBUN69ZIcMf8wqWZ2lsxXVkQ7Xb3jRzA4rr2rlx3oZVMQiBfcxT6lfdnzrM7sSBTOozLmUKEPHVi8xxCCU/v8iqRELBzh7H9fFc9dF+nxq3JoO0GpzSJv1OJItv/D3WrOi0m6EoJ0l/CnlSP1y5ZTlIlIGLP3BB9YjmlEDa1yRBlBp5VFSxhrC3XqyT0iHYOVGsJx3W5ke4zPzg0fBJ7Bp0LmjT0wwIk+hLDgt69SXKJJfnkfVwPVO7tu1iLz1O01BHCo0vwZVbN9jiWW70/zOYhFRWzk5RP8TsrWv1aEEtFBVingiEf7imxOnJI9ASNFwSyJ51KM5UzkmP+YcEL+EegDxTg1qb9lCOQ25+NuOi+9W0WdV86tAFqtgT3NOVRKNgqV8FGptnnqR48exhWR6dwWgDL84RKXgUSHBRbWvrcCvdxpEtUQtXsGaqseH3kpRs4iw7vN14IFkitw9ZCmkhwYH5h+5+9dbMVi3TGNGj0nMWW7au3Tw6KYMwGYq4Jtzj5Oc8uoJ7uSeUi8BWbffyIi/9+v0k02PKRy9u7ygI2EO7tkSCNDevfp0LvNcHBqyT5KA2TS5DqwAEYZXt9Mx4q9oy2PQpw/NP16XEDElCYcRQVexLQtUvdvgXlvo82vHOqVl127X5xv8GDLwI0gd8ziiDRqLGzCWeXzp2NlN9SAOOq+JvCFBfK1Z3xbgIM2gR/hLTeW8Skb3to+jpSUetTx/fNgMBF4B/vnb3hI8IvUdL8iVwGhK5COJwkP3tGKqeAeDVzyvMlU3qGekROe36yz3SFTSOD8+K4/9FeGZFRZ+GfPK1wOs5WUfE6Ei5tZEvgaCzKsHHoG+z89EZMmGsai1I1ArGbAQxEbzynmO5z2vJIDsM8lUs1Nm/bhjbzDFXKNS3k7K0wlVLZpn95HTMQwxA0D9suPaEp/oW+4k1uAj1kXG88Cz1QH1HeN5Jv0z91eQhwJq8zjOrK+d9RzhfHN8htQEMV7yNhzs4uDq5gP7uYGSH92A4bNIj4iQjsCJO1DCT0IY+P4AIgG5bOCWFpKf9fK+ojVZCwQEO6b2TkpFFxJ5HNVG1cOKaibOnIZH3gBCDsAr5ZmX7RKpIe30GPgh3JzV8VNsLKZcUfk3ZXZu7U1/WGbPpxLUwWqUAw5JZDYYZumLoKAF/f52nnhd6QEgEU539Ff6I6f935nEW2khj1VsBPujW/aggRYGKIc3Z7HqYdrPP7u3jxuU+AT5zye2vr2uUoSh5etRtIMHFzxLQWoUb4rYvKqZiZ2LZbCWBVT6n9n4dyy2KgExiu51R3WlKmrmNw+POuQHi+bSGIwk7mS3Q8Sn+fI3icPQ80C/4PR56Ad1f2VVzj5fsQbVNh0fMLyjwCB7VazW2CzO5RiB2AZty89/iKPBsnk2wleS1byT6+yHXKvWG/Wu1wnvgZGPObXdneijCKDv3T50fSimGNQuaMJkZduEdJ8Z6X+OL9sQdMaUDm6YWhrmbBElvl3YNaoBLV00urR6ZGlZUBaoqMD75ymCqfmNB0C0Bwez599ZsuAs598TDR5M4vImqFS2pAQqMQstpHtFJYFWZ+ry5ZrXob1Pw2SLPe6Ei0tWwD69ksiF5IJdNDge6uirTa33vtLKQzzwvmGS50VKzzD/yhUofJ+ot24LOT7pyYQ3dTFEs5IAvQE6jxSvU5UENmo17HhI8vgHv0EkLe04e1pTlfLOHnAISdIVcWkqItZk8FKG4qP/OQsmvFQ4daMd/viokgYul5i3cx3/EQ6Ve3VrnV5y4Yo7dkXWGnPnpHcWgyOyeyt3JCKEzhdUtPBdMB2YfcCt/pUlO89vzz8eCZubPvq/qBWmEfkGI3K7DywXJhX30ZnKfdqQ9v7iMFJLm7uQure3z5mNVSQf5bf9wcix5Ks1pqWvekP00a5xz/NqaJwm9ikt1eRvlgKlGKJdVwb6JbHi3UNwqxX4A6JySqfBUPp9IKgGccf9vCHHSaKy0frFQZ4ZAXmk0KQSslcYrtLv5EYL4v9RsUVZNqHdhVDbZpbuiSGpC6f8d49u2SbmjSPlpRPFkyOFcJInEJFosWgIoZhx/KwoBcLQpZ7GubXkFYj3uYBqC2XUyVu/FzZDdNhF1lbkqN/j+SPZb3hWjgCzq/y95tPRFFhr+17d1Gjtr0YsmQWSEqa0CtbfLJhxlgaph/zyLZt27gswJzAggY4F97OTPhKL6/K8ZvuRzfcVjguh+wVPS0gUKzVpQyj1Sud3icoFrJO1Tp1W7ncU0Zc//EltvnbZQj03u/n6q3v7gIKyCZv391tbsJ+28I+Xi1WRxdpw7gy+CSXzlcZJ8JaRNtys024FSDraD+ZHqBjTn7Ny/PECGUh1lbhUlT5O3NkMMqrtdjCK6dbXs1fU+rEGGWvAvqhy+s3oJ5VEIcGuXCD0TDwhSpreCtqwhvGyG0Xd2BBuhRGSJ0O3ezBM/upIhL4vLTIneo9wzMJWp1p3XMhH4JBPlTkmcdix9ur9PKk6YZw9z0IuXrOEVeWskrvluABeHQLrt/rKIVe/j4QqlK+qyiF19V35GsOYUyHFXE8x5d+ldFVGePnTsYPazF9BZkuNt67nSXb5iP/kr1qW8VJenG9Yr3GKsiEuUVHtt/gg9fLP0yNSIMYT2uTALaXeXPKogXQXjMVBO/yBo5HF/X1GodtWkA2r+2IsI3perg4sZBzRN2H8QnEo5tYG7OgOuhXH+Hihk9eLvEfIBZWiHQD2O3PeoL5Xo1z6oX20g25CPjbraRywxh08JhefJ5M6erSqKtaO7hmf779AXvBOIiF+dLX6zMWWIttn/CO0zB7RPigDxMS0ULhOCvgaiVhqqywexu4OJo8f/bLGWOoEKV5+L9jzA4E8BQIoQReONcSUwW6HIA+S+WXbWokKW2FSpZAi4bJYYiA4KpnqDQbfZ/zHTbTWMi9bTOhHsIco9lTfk9csoBErrZY9TGc5b1S122Gc7HL/C/Mpx6iwqEojF97woRvw5LLJ8YeFa3/6hGWGk4tfijjq8LG1disgmVbsQOJUnZKA+8lxHVIxF2qZlZj+twZbAqUjj9zHnEEaCNzXPCMWWbRYRTf8Veei7lMndgpy50Dbqd4LT/FRXXvZY+s1fzdveuygtA9KKc84R2rJRkGH83w8FN1iyC/+x4Uqj2bSUIVUqQ1ppcCzf7BkA6nCumMiEnYIjWH1GwcX1CIavPwxPOt/mGIX6AuQN3j5hSvJ0RAribS7YHkWq5fS3J+3I+mPfUM9nHuVr8he4rdWt/RuP6UBQoTGPibh1XZqo1hFsBfbiRy3oTPgr9Y1FOR/iPryZ6zoJRGaUjmER860YiGY3D/xlD2ahzee9rtFKL3lBy9H8bT92kSc4sHqxzVXGdV2bFkYp9b96DGb7tM2Rpfai51dnGKImdIbXJqBVBjFu1wWVcaqhluOEexwt6HssGSgynD7DJtRYXLiX+uxIhhLi+JHmaGoYC5yXtp2TSX3xnEGEPvTjJriVhv44RANibkNdu3oaB9yur5k2cZY3KlhClax6YpsGBFTXUrAIMVXn4Q3T5i+QRZa/0giIs9f0/iCeRut5vyEf3jJ3oVCJOlEdGMQPG0QUZIX1bq+VZTorNeJHBNjEfHw6VawVA8XI2zvJDKRb8br7UX/ZzRg2y8GcIxhP0+Qum3SZm7O7jws9PzDxrSIDcJ9pJZ0Fh0YJCMJh1mQQEUsOyPFBMSYkK5JQnD/Ag+Fsvk2dOaCui9YO0vbhbLpSivdp0Jk4cPnyD6AuT9OwOhgfGR8OBwqs03wR+PSXQLDHnDZPfX2AkECbkyC3l3ii/XRsBj+vNU7UD1pCbbcXoBkynbEx5KqltaqICe0CzxKTFuZIg8F5387iCmMBOIXB0FStB6eO7WWY6C2VSHYz+TrK4QdXgAsv2jG3qzBZBGntrGacMOHwLYq9h3ZNpyRuAFEYQZCuDRHcDGpD/ClOr57tQj7PNVbqwTuxlUfe3peceK83B6kk1xgZYg+bb6gLnodUh6mhwi6Oxw+CybE3MvHVks9Th3gB/q7CFNlm7CkDFICvA1/NL88P+O3UkGJzfb9MOgBwV5wlTdXWdeumg2wLmQNZ4CXc3ZeWu9RVpoTs+FCnN47vE9P5mCYGWwIztGXNxiWjhgPsvb8x5leaZhgYf5wUkobtJbZZa99oOsgcXLmb0m2jLk3Ej+iZ1IIyo5VUMZTtb3RUnIfEBZbfVb7P2R8XXtW1Z0/Udym5/7dw8f72l2D25v6GdmYPeb9ijFBXl4VGkl/LT6KTNUcEYHT0Q0REF1aSk4jlB9P5a2UAVBqUokw3RWinYeTDOWmpBIsxh9yFhzSYXuTZrMDDd4BF8wmnD4v21rbPpInjr0yFF9w0IukCivkSOfOkk86BUIWfa0x2mVRe8F3h2g9kGaaflBNGrSWwdh2HBV6XeYqCaX+0xAqKP51ynXmp07Y5f5Q0USJjVFUtTbRMq1LMBG9vsD9UNbS6FbMeBkd4AlH7VDGh2c7KKlHl4SF+pnkbOI1Rauz/bqmyLtGLM1JUO1WFPdEd5cVM3qy5Xz8aEecw/MkkNeE1IElVY/dVwZJWE/yhhIYCMZsi4iaHn/2FVCasUeLqAl6OcvCeRmA6CyxSpYtjWPmYL5HXehcdlISvavFAbuGGrv4g/8BqPTJg7q5WshN8OVGkbBIaFeR0sX5gZ3tk99iXnK9lxOssAaM2DxfJpi2+lQ9ew0aLtRUqQD0ZCReVUX9nOJGA9a3icvtna+qK8frV+Gzr3R4nIwu8ToYo/MOD/lmrIFVNMtRhFi0vCjlzSD/Nl7rZa28VanLaEH40gEnTe4u2UTAmpH8OmraH9vLJP84XewhKJ7EP14brwQJjSWPOPtex5vBeNLg39HO5tWLPUNPQ6/wPSuVbE+NGpy2SBWfA48J/5fPFZympEzZ4/6eMEEJuX+ye8sYOChoYMjmAy6S0mF6zx+o+yFYoPOMeJlMfP9N9CynB0YKv24YVkDaXUviWHJv7MeCdPnv4YwM2SyS/hDeok0NKJ7CMOTeQJXg/JbHLEzS4D/PjBu0sln3xyFmX8e2TLHn3uoaPGlaePMQoFkMpqFWARoigFXIjUosG0w3Rpb5h1bSpk2yg0ZgZ9PL4BJs3/yRjsKut/sU7KsU9ZzZ1G287e7w1wvDfK5YXGhiJv6ie15/eB7He4XmxBJIvOaqoYsepABiBV+I/Q56zSEn5UyvX0OK3MFsU37XSSR/NvdnoxGNdZPfTO9hXgR2u4OsyBIa0dhbFMCJgIdqcwvE7WFxpAHroRbfhTOvbMxz+AdWTPrej//rPJ4P626sKnWLe+opPnncxbJ2PU4tS2Mm4rMTNt5ZsEUjfvRhfjEKX6xHimwKcw7fvCk+jXZCRyym/+z/jWdbZogw1MqYsrbi2PEmdqtxEwOfG0nJb5yUso4BopI4kXzOVpKo1VhI//LzGv2hNllmbEuHmNaGS5mLtor+oKx5BakzmELXNsrYo+DaaxgplQWn6hS4wyLAV+nnRqC623DZXRNcrltvud9nolN5fu3RyveBbdF6U2Lg4lLGpBOs/Fz+kO/DsDvHDVf+vMovaKafDAyNonM3wlS9eBXfUixL2/c0WqHmTel8yFXNSb0Qi4L4fAD6mxBEjRxKl5jXrozXPkLa/9iwz0/2yYHAKot8V8z80kso00YZGay2dvlM/OFAMqahf3sc+aGo8sH9/VoAJUIquoS3K8KYTsnnXN8YaRRD+oLfMtCbqcNwlWatuJlVknTnC8LiT8jmliwbxbj+rutcTVokRVw0dm7VCdRiP7CrdVoOnynEHo10ejwlT3mX7sFVaUwZP5ZlfXezXNAA2/orZRS+Bk9iWI2l9sMWlI36sdgtrDXCXKykgoQC6x+e+i+pytKiiu54sbffSeWdjc/Ye4UlxyIbU7FvsrPoOrbT9VL+jZo1GkNQDM3BAcFE5vImxNE8ZRABRla2WlFfrHdTh1Nqevit808uG3+D3fkzC5AE5Dz741IqmgxHvtZpHn0HtKGArfUdnk00y2sQaqovl1eK03P6S151kR8mrhbgYZ/1W6yTM7yuE5eoF2f4nl1jBd4cByghyMHOFiUbvSQJ21MsR3rauKjwHbNRIajXQLmOmeSrAFZMeXbwlOM/QOyp1HeFPlF/VFyhjyDxQClOAbmjpeKg4aKoFLMn4hATH1fwTQyeDlF026OY1I/TDzf0FDusg2m1C1vENmOSSmoO6ioLkBYm/5kn7+JDdibxu+h01IoJO06sqFaYrx6NUfSEGsxXJrAFnU7Bk3QYy3fWdGfwlOsuixQzJc5SRu+eSoOrjlI555zgtdaiO3GDPP+Isk6NMP1/berzEjqvYWsRQJtNePQC3+pVAJh5pFui0mRhZthpsRqgTyrCG3ytNsj86iQFYIv8SOPp+ao6F3pnHiE7nJDjm2Hg3tfLI+EG5BQ9KeAP59KEbtzlcU0Hi41qsg4urr4KB9ZoRkHb+JbCV1cD36i10eQmVx5bTp8n/GMzDFcAY++Q5M5xAbOyGeAgLWi/tcg2T89dOk/bmhfYdrFNBYf5fynh6YgSzClBezuar9huEAAnidKqYUpK5Y8cT/MRfD5oaPugAAHwR9hqAgWP4431VVFzqLVIWxvXfzE9h7E9MGlC03qu7KDha7x0oPBOaPJsgVHzFOxNpsHHaafVDEuvMAnV9EunLagqK/+csaIjnvHAbpYOV1D8MheeeN5VwI4OZ30dyNzz0WKmFfK/CAC9LOEoeZxjHGiBkIGPVXd6Mzs/id3nyAz/fHGXIW3pxc762LedT4IM2u53yTFJesHlG/147FsQM2amGR24nDGPbnFee42d52MAv27kpPL20IyPZP8KJ+F72RdULWkyWXYNajrqI5cMCnsblcrZBV2E6EqH5RZOh39bdENEfIuXH+wSpiN8QKo7v6JqFww3IOlBlOEzqPo1UrED8eAKebw6aHh5K9Q1P/iEWgGLi2xOcZz7f8uIBAxtbHHTjPYWLZZe0XSfuSlz203H6NnyEyZO3U1T1RmDhIwUd/PGtF3Y7rgED7frfhdcmfxhyphjrExy2wWztxn50XTSMm6HzLaRUzKx369zA9+SAaeZcZpac/vSDCfJMvFXt/S5f2tyTKMV7wY7uARq8yZ9uWKLZnLaFMDIw9T5NGHdowc2pR47Hs6Z2qhlcMr8WSkR9lWlUHsiIPwekclLnPzqDLLtAsrzFSxMBzG0qCENiolXqMt3gKA8WjO8LvtSrbSPMqmWxnNL4Q0dK8vnHAFQfmmSUTV3ZmOhAHm9VPN2fCpkFfJR2Seoj/2IcidRZYCVaNpTr0Xiaio7bYlfqKANhk9FbnskmXpXPCrO8ZtMlEo0zF3tGL20zOOU0ZBIoC/t1Pjk8qWFJTnR3jQfuIOSGQ0faiBG9NmxRgak9Uc48I9lHbcPhAHpT5U4x6mMCRWuYc4nsiEBhSWs35J5Sz2EHFOLJHue4SJmWHvQvJcv38EGmTAhcNPznC5ewujklxVqMqImPBbSYxAm7BwJE5Cl1HlasYDLIKtuaDgShJHRv0vsPSxffl4kwiIpQoUTpHePrrXyrQe36gFlxmTkud+5ydbG2JDscCurYnf3126NatHLTY1f07LJfI0rUi8mro9b8OElM08IQoF094ltT1FQt7zy1FizPFmQM6n10aERVMWTLTR/oV4ywoN6z7/oT736K5p1XXV48/VeRSueknjIIR8iLLzybxlndUJzPBT0ECVPE4YDaS0IUn/GrNQcKsNF+iM9F3OruaRVgaGFBN7tksEWGP1xfM0Bt7ZAA79jjFXy6wmaCUr8bPmBqcddKGQqYk1odNbGfI+2twlFbIkQMxMN3BBhn11UJYxsmIBUt9pZF+TucU2YWw1npMR2cdM5HxlKgwXWtsIldUYBDL1XzIAVpaxHsoTpDKPhRd612VRnsj8p/2w9ywCK6FBrpg1Q1T1IiSf/kA/OxNc7WJMuRxag8gW3F5PkwetakZHoNK24Y8lxiuRbCiC1Yc8Axhg29ooSHSWidA6+E4gUJEI/+oK6OBi7PdCp1TWdFjGG7SV0oKQn79Nf9LkmE82VZLjhvFxn6gu6sxQpDVKpkVqa8yy2IfbdlDaOS/626pEKhhhvlXRG1xJI8YrpGBtmH+2rkn6wGjBXoZZOQFWBXyk2eqQriclHN9p2ReRPVEawI/RnvKt/m8O18E12/u7h4nnhsKdKc8E4v7Dxcy6XSOhOPciid0hGPTfBHzZdqo22RjP5AmcBJlLqCRD4xgW8zqlFFh8JT0YDnDFnAcRsg6OB7ipagXjdfFmJJnzHBh8YQPNps0Y1RWhCutv5IItD0pDul8KGgysXHfU6GM5HfC0hfzRrHJtj4UA2OhyEei+AE5julWI6eQXU0xEhIlFmbJC67/oA74jbW62dUYldxm5V9rvu2AyFUvihkbt+7wCpPTi2nsqD5wIdiLSH56dREhY8wrYISpO0Br/cTVjdNbvNnZMs5tKLPPcOfl1EgdU4rUb2CDK9QKyTfZcOjMI98xl2vWfkPfuAb4KwOulit3bhFgDjjqwYDjOxYPzOA+mF4mNuiqtZp6kliu8Mm3sCrNIuVi57zf9yvQFTPbo1uUNF0oFsf+Va8LBS9h1bGyfjgim72hMh7TOJqPSoYTmuE4hc1uR7jQJlDQLWwxJma6apiIF7yqHaYcTHiFiWLrYU5xo0383NGe6neVHArYU9649wzAYPuuk2/2W8AL9CeRRTJtCZ4cs7B7i1GQZ0qmhz7Qbf9UfKAZ0jQ5DFJENEjVs2wzAyIvta8kBU1gJneZSlsTAA81nlb7wO3FZCA/X+aT9DEjn9647Oi+X3YLXsafibWitEu3E5eQgQckvOtcyMcDGVKu8E5s5e2GM9LybCjUP+ucn53UU9SP+Y9xkU0V5451eBBbbBl3hdzzUhrZE7UFe3u/Nv/FIZxtKQ5tgzvU9cDNcHrrp5bc4zBsuS+M/jqsxq27I2WrwMyFMkN0KM1YmFz9M/61JuH/aSuxSyPVgWr9l2yxQnxaw7obEF71MZ7UYMrgr2dWsP9Mk0p7s7PYl3vP2FT0ODvNVh/qpXUNSh5thTTm5qmfoFMZS5uk9HuBuEYTHABxbk7WJQ+vHKJ9ZP68oLDBp5vezMm/O0FNOsSHQzFms66BKxjy62m2CE2UldKSz/3e9Zp05wh/X65a+F+HKSNSGh1vxLtCCCfkPT6Ij+t370eA7Za/KR6W88GzzkEmEpLecjfIf18gFV1qjfOuLAEy9qAe9+cyUcRHPvx/GQL7syiWFEl1vKzyuv/zgXHX35WgYDkIOsz1oGxvlgtcyXUtmVQ7Kv23vKLw212185SwxXZC5AM1As2qK3+/ZoepEPFxa2xBWinEBOUoOCoyYXk7MPgTYU/9C5kaccWhorAzFJvEqmrf1M6+z/Ve6r2IUgQiHUhD0NVUak/oDq0sqhRHJCXVFbhQJbh4PUxNt72RTe0DPjQx2l3+1szJBytTpiStQlxqTcRtAQN9ruYL6Udv7gJeBWV5muatCH8OZ/Je0MhWxPjV9zzyvBAECRfBm82pfWx5pMV0X5oWuQkuUet7Zp59oSssNiIx7YEj+MrjYBjYdjUUU8HX3Xuv8N0HmaIBLwM1zoAgYvtHM6WAUVOZHJBem1QGwO1qYwsktJtCPOS/Ms5+AfDn6iplonh6acyr0TvPnNKu6i+AcLrW5ju8h0t6TqZzTdfYdFi9iVE5Vmhf1+Y/BjjVCEcb9v+EVpb/9tzkQdMFP97lrBMpJoDQ2IX2izJ98ApGuQcENLRb8o5hbQgiKKMfRmWSdR5uELxAVH+k33gWk4+oDSqPpo5viAx47xndpNwik3FVG1jc0gSCQbMwPXRAOhONsYMU4XBkUd8tO5bv5i9awCCT8nNTTBrg50J8vWlvzERTbV/EhiXCL7GfSHaWLko3BwKlxXmFPb9qxJF3aDZjeqby/89enUJXN87fX52IW9tpTWPBff2cE9YK2ItBve9ERw8uLmX82j1JSQ8/F5R9csicUvPbGcRJfirSdBJmaxNmz/Q6sbeoVKkknkDXOYW53k9dHJJr1LE4oXNUEajO5VcTta8SFrUKh9zNPqEFo6zMwTroRXjtvEY9R3/Z0Fd55JIJ5vpWP+8FoA8o1knrGVXFQrDi1QhtC2YSyjUyC7CNUk+ijciVqGzRw1HxO4NCnu/BoWwdd52L9WuH2DoyjtxESXigN5wET6guSt0B3bDjDLsMkB7u+wZZ05PwWxis0FokIOAK9/wYbR2eqOW11Wqtzhqr2U4FxEy2IAnkWe+olUyb45lpe1EC2GKvCFM2xQ+2a4W0bVmxFsS02Q1934bGF4LJ7tgfHkag3qEcJ+JT0ONj0K6C1ZIXkT6AHu5+4wpPAar3qxC1no8xLVSEdfMmZO3Lm1GX0lV1y/ihzEdg4fpxsRzq7T35saVyTnzlRQJDDGCROGUdJOLd/DJNsK8qIk/MOGSzw5a4zDU2pbYJsJwGcQsmsdAlt2NYoSgB8FIKfMG+BJz4SMfp6F36fZy/CW34I7o71L5fuH9NY0dLyTWtOPhpb71/i92RtBevUq4t/OYHy6ivN09VA+ySk2KvNGDySiv8aTLPmyRKRqEiIWZ12lUaF2Pi6/x8IZu2o3M0+tX/gNdDG1VmmuFzUVrWwiRL/B9bu4W4wiA1+qUl9mg6hodcZjBK0fzVESaFOjeIkGXXdqqw6gtQlYj9JbdgAL6DJnQu8PmPnROWyOUJVNSC2wKh9nYJROINwnR8B9+0TIkwW3X/IFqbWRdJcdroE6fYE4tPwlbD0yEdZslTA3eGMX9mDYOFqb9yvQqPvndEWSLgTIf0Fe30Ewep8MoboU4deL+mXF7hW95Pl1iGJHBFqYT1ebfr6m6VkS77jSNeBn2UsRToBbIUxfPbC2WbTfizYUyZQvm45vmFCXXEhGJpZhLjvcV9nm0mRimvnW/PmWy9tkNNDIH1SfOzCV1utZZeG5oA1b4fBgSiPXIEYANNtTLkiOASZNSVVgASjCU8Nuqb3tQojTQYgaXhZJSWZHlS71qSqd2PKkYfSBQmCm0/WjFoxZZpRxdlvMYio/WfMoVSi3DGpD7ZyqLmcfgwTR7Qc6lFLCldu791WT1koCzGE/GvKSY7qKGvi+7ZVI6h70aTrgvxhQMqmS2tXekLMdXbxgYaP6M3utXJt4D3KaRiX7LTvHhGI7clEjE/bss0VTx1TLcfMIwwpTg1YACqh9/hE1OSDlS0ZSAGO4Za1bag+z3IJoyUsXpUl8A4TuItgUxACGk92g/esG7/+b4cbqfnFEHbi/e0hDz/UaJ7TR6pn6ZXp6QfdZitTdenxVS5Nkxe15QSnBO22c5ts8MzemirRDB3Q79g9YCrxp5PAkAu8FSktTdrWJYL0H1P5B1XeZ5JO83qY2juJz/rLZ3Cc2EawlGi75Asu3S53pR17ipCgJQGSXS/RCLqSdK5OYjY+NbS7xrynUe+icY32O7SdmU9XLXqJcETgCykU+vE3lOVyCVOLW06l/humM0pEesFY/36sxlavTEEQjqE7okpRqWUbVaQYqRfEPR3fv/uyzjZ0jlxfRtBeae0vjiUhzWT07kRilaA0dayIRmuH5AwDOO/U7qHVyzBPGl1fzYJTYcLoRVVMT1TsWv0Tk0d8+fp0FWjN6K+uY0UytImjkQCiu21ZtA2nn7lyaIJlvfgv/ZDYU/pOz8mgHaxMtgS65e+VqHJujidyzRfgh2yVYQi6yhjMdt8uz+bjl5C2hqQhO2n5ZtQPr6bz0394HMZ6cWyqA9QYUC7+puAHUD0sR9JD412HmfHAhGl+yMUCKGnk7NrjZq3JZOYTNNwVQdEmfDiaR9keoxXjONEtmAxkues3/NUP6Vv/hzfc5KBolDU5h9wEF3/fApf8g6odfisX0K5TU47bUH9cDg+/HLba4j+GKw+OBOL6Uh6SjJLKLCbnJqOgPDtD9i/kl+Dh6vpwnjmZqye7ZrgSRfIJjUnPsEC/9ekZfhRj3ji71jvJTPtT5lYCDDd+AFSmz2pVpClu0Xnxp1WZ+lDxkJQ7bQi/gyqMCX7NuXgpo9e0l9o8eTGrtfoaC89qU/AKB0HHT8BBUbE/DPugSrBmfAS/nGyWVEyAxwLlmRv4RTdkWh2ixcS43g0DlebAS3UA7Z+Udt6Sg9VTbs1ibL/ItMARvSbJNDtBFW2V/Sbim3YNaGrC7MRPveoul0aHRWCokNquFp/4f9XQWGj/3HygzN3ub9/skT4mmHUtYRG4DU7eAFeCvcvvl3Uf9GALSceF84Pwl+sSh6PcKSa/ZhZknozCj1gkPcBuSou5MDOFmXkJH10miFiRL0Adeaos/2qztLHWMIQyf2t9U33fedpK/rAimMND3HtWXX72ofj3Q+zjgYoWy4pnwbBZnNM7LIQL8T0GuWSZuXavcfIiJhwmqlcLvPS6D9vPjtKxgqfRWbAt8USl7DOZQ2Q/H9l3CDmXn8emxqUpuJFaIFKs3K1l7eSFNCdPpDkvkqaUs1C8zQLaseEIcGD7BN0vjNSfSezaeUFyUkhUq2bKSH1zj8wzJ83gLC0Wa7hJICI/t99ykMs0BeqomcBlJS+lvMMUFTwSvcHcTbEXENR3tOOUYy/dy88WSfEStmqafbOvGOuPIN4ir2mRBMta3VVxko7k/8wldnbMJVRzAHn75TFgA2g/+qvGQveASzcIaTVsM4YtIs7BIHYtspfefHSDW5qCJqjqY8wm18m7wAoAcWOaUaavDPHxwiG/oyO/9Go0tGiYCuahVO+OtuSIdVu810Bq4vO+NJ44M6JKbSWQTLvqQNFodoMZycUoXbDxQXnQdcPOctRzXPA9VZQTMjCxfkHZnRKN+1X80uTleyepF7ymVv5juIDf24E+q118VyxA4arW0c9etrrPD4j8h6cla5auHspVUgkUy/yVdVk2kT4lUEddrCbh/0VOPPttHM+ShoHoWApMoaJWyvqed+xgAha19y22OKVF4SUlhLHdw7zDhDASqewRVKCq+BB34o9Paw7KkUX13KMidpwd+YlJQdjjTq8iuoMVuXNvGRu7wydQ9HVEOXzXoTK+hTNpha7g0KjTThtO48TDy0gvoWAXyM6bO/hGTUrQXDN0UVrEIFTlSGgupcH2LLd4GD3+fLJHq8Q0/4wgX2fPgiCXn7sn+eO1LfrwKqqE38U18nbJmxV6RpOX8YYaHqYIDtzgH92XUtt8n/YPeySvIXIZ5Rje4VyojMtZ40fi18sROY4MnL185NRTAIr35f6bbZwQbfDT++CZ6KWQNFL4IuYc1DyJRToiMNlGeZSNgyVBLB/hBR9CRIsvyi5d5rC6NyT+AWkHS0858wEoHHXuzxqaSubpitJZ/UDeC/9HJQ5aIUWoKd7djJcQqGAbxGbc4+a1waZIKsl313/Xxu3BItxt1szNJPIHmf8TDnvnxv80FCJvQhWTuwDmYEM30IqAswv0q6LdItlM21vNuPvxxPeGe7yyG0yOliIYC+jh881mffvXlO7tvqopDGNtLz0NZhjson2gVxY6oRFYlF+9DOLs1CybqzLT1dOg2/bbVpVOPGugsQ7Onr9qyVsUNMCqoxl9wDGGjUp8HOvg1pc9lyxzOM/LICSHoWL6zz3qpZXjf5ZSi9+xaMiGJm3Ua1U/uIYy5l2yq9tJFXWG3KTBozcr7sm+mdBcCMK1CxyFm05k9hh61X0IEPdAZnvB2+gFtqXVTwbo6LWRwsLSCuAvjp11UUFipOwOAnivJLMBP374rXRqtzsqMw+fGEYw6Bsw/JTysjk0Wiu5Z5noA/jABEd711fNvg+YfmSy9bBhp35KMlQU6XOtcJVsdY5K3lVKTEJcISC3SxluhiOEOJLrpSaoa1CnfmsSZErYqWgv+TURb9X8yLCpS+dAapWuyvooPrgMongr+u8KyBlUJf7Ry0IPNu0qBw1sywXGKIe2aeuLX69XPeovkF5W2mVs89RgJUIQo5d+AldKyZQytJ4D4D0o1/k0PMCe5WJJirk8vyS/VQ8EnS1etLZw5uOPTc23FOu+sXOn9sgYFItktrz+I5EM0Q1J6MQkDe58knsoVL0DHe5ccxpuOzv7wMRr/bTAxcC98pehTeyDGFyOCbDvUNmpsG7i0G8n1mBTFuPbE+QvLo511T2DIzqw5pCVoSp2nppYcjjdQ4Cv1H7pWobebNjlTfI7vzjxbLgHh824GIGXA4l/qAB4lc88VdIlMS+EDmi22LKiJWFOtp8GIKpDqyGJF7/1ihu4FX4DG/j2oG968PLxa3+Vcre+B4Nq+5wKKsYwIHfBPtOY+q6JEB2x2RCrE6G80nIgRRbavVgaIzm2p+atLQ3q6Zngz+HA3uTFAA0QI7npuM0Tm1OFBOuUUHO2+OYwwj+u/NPqRMvJ606Gf3T7wPSnyDPgxxXHizYSrNlnz/exhQB9Fa0xkKJPbryVS96jwKMd87ywNn+zIONcBQ+R8ffej52H2/kKIPq3N4kgA4LgUKcuXHHNOPQ/zpWS/pi9p3e71KYZl2jennf8LXicQ6Ttn6U1+zXmStiZuUzw83fYbyC6RnJjLUer6WEj21I+m8HyGmrONK7EgTIkWAgcVF/lBP39rHK3Z8lGyP3ajFILWuejGvPscT6wKSSXBQb3+oH0s8D/3nA4nlM5zSACcSgarHjJUziECt1136LMeNwmuT4BnAq80hNguuINn/Jrxm0FX4MHTU7Xknu+WmgZ6F6n73Il/qYtehZh4yNOH/D78C0gzNIFD3f2AomXa5tNvgvRCuxzqbovvj677zsVsU8tEpSuLIX1X2V9KtEXkKmuGBlu8gFAq3vAVE+PlMw/mVikIp5kEdWfGPi/mOLhnXrXoEcXRJXP+bGkHz6N+xdlgZb8D7tSbreROjD0+eUc30OEe0h11NBH2ZiuPoZI/+DAbMiSYUPEcOOo+gdfawQ6bXm2Of/3yVi3zOW3g90x71+Yp3kdLBlVdFDGRU1muU45V3rNnL7yZNPHXRn0VgjF8Jy1W0kY6y8QD1txhWzjma5KswRUVSC2Z3/u24nCj9wdC4h1g1WoegSo38iOctRRARFidbcxaeHJNmtq9OL09LfDr215dXXoEh7AFo7LNqQYFzBhCMBpDYleyJ8M90MXeKlKzcmuQFhXjYapYGxtzrl1/BPnBMkVbgphBQD+vmJ6bMWdegxvekdMbC/1RL6DFfw2sAxVngEPu79leTnoKTILqAhLpa4GIRBMcPX4pcH4y20EjCBhtekcA5gbe1TSD5OyC8uYAGdkebD+tpRTPEwPadMZFxN+99Uq1s34etKTHLnVUXitRbkdYMke5kLHikcyLdRJlKlWKzkr3XLJC12sDXyxIXfQsFtUYkh/aRQtNcttcfldiTEhf/V4h4E3ATmAkhOCpuNxyN47ycQxSngaMm0RiUZo3efd3ZqNcpGCRN5uM0iQEjn+iKmKL8j0yGPzzAQ893ojCbQGsXciXFWZWtzT4HI7g7Aiuw7DocP7cdBBdSCH1YY7MysJqM9lX4vxBLV1rki/toELPxWEAs8wqWyUdwlEeDLeOA4AsKN8W7wnVEVlxpvA/g9w55w4aqprhRSbvMidyvx6AqDbTz5c0aVvSRJIMZvfSyYDq2FSLAOi7bAmX6Dp1n2O5YKOuezLoOlgTlmIVaTjhjV7KvqSaij6o9m1a+qtIyDjoAc6e6IhcNb6Tc6AcEioitr3YSS8yL0cWcrXvBTbEzd7ayoI/d/JRTghDVYdcWtPg+u82BjJmp+kRHTQU1zB+yxTnNAtCi19Froan+WqiDbYo5X/qOLv8SdsB4PySqcpRzVYSCB/0D64bp5o21j3S/YiY3gkqsedRq1LMxs8zRXoB5DiNhAjplIdkM8krKQmpcKyZJzM1EfkVt64uw0T3Hjttm+ZUvGyypbTe1I0lQFNRlXbEMFB1ygaX+z0WrFk4n6jZ+QHRJJTPWVqhAtYTUVyuuXU1QZFMf5Juh4QnnHqrcvQwOKKR3bNCNj6bG+sVgNpncMipFAXS8ixea1nw6tzQilLq0YgEC7Wu8ZFM+uJxw7V7SGQJWZSxLOh1OyVeFK8sTdpR7fdewpLNpANLaAeIYfo7AvRIEuuY5DDvnvsPRqZ8qDjx7ni1Eb69hpZlIaWjtMBHM5fQ80OeAK9kZBqNhCIp7g9S4XbZ1G+iTBHBcSJqesuuwYfpvZHv0EgUve9DYe2jeRVoGgjz4TorRZw3AEp1OnuySa1DXw4Ox22bGjZQWWz1lYr8ABrn4seL3z9/Kkpn15V5Ugzf+YWCw9VAkeYwYePbEYHvCUgLTExYdV1ha0YNTSp08T5LAMJsHV4LDyMnumrOGEjKpFYEV+zzzPEl947bVB4Dy6wEYzMfEly8L5bK3GUcZMcJc+hibcYwSiTLcD8jufVkKZgqZJgp0QIx81ElHsraBLSdE2Km8JC9mCBTmFvfl3Z5cB8MSLCLhAuDwAzgms0ZFti9bAdZ9RC4vZrJYdu0udBA29kSjYUTGun+zogjWSo259f+fQyS5lpaYnl8PODAWU9uC0/N2y5/GvjKiWn+M+5UjgE2gaTkK5eDe9PiuTFf7I9Jje/1sSoz6ljt1Go/OhexDolyJm8joIlkgsYkKj92GEFYqO3uDcPceLRzqTNvMn8FuErKh1vuTBRmzz6gHGlijoVdbrGpx9+gM2zxhEx8fkLXxNbUqum2Cuj/+Rt9S+GNvRAbm3jrXZz3182SXhEKW0bkQXESNaUm3a4TO/T2w0Zm2h19A+WnsMX0tBJI030P6UCaeGpYFbinnwTh42mEjGpmPO4WTQpVT8GM8dvZp2aY02IJndPdj81jtEqEmvlCm+wvfza+xgGJ1O74bcsgtyk/EdyoVdnsh7nrPWQUhMTrj9QB9MAaIEi81PcvXMU/GsWgVMRS62bqngW8ySEAos9HqqBWGwB8hgAUgdi1gZtyuqt2JgXjW2Ik00nUw7cnU10zQZEytSzzMH1zeNYQMDVmuaggpYV1oV4V9yFULSM0HYoZpxlX7ng5rrXw0SjkLr0CqnaiomQkCEptFFrPvkS9h0xv1UzC8+UxicFpUsW0tq0CmLGHn6bpOZ0rF4dKj6capQAbZPzgwtKFUuKT+IgEVKyMFA8mCnArAMu1ZThRXtuwNfRLzfyh+mP42rq+hwYQ9lC0OnUNUtHWOGrlX/e+X1e3DMtuYulLgbnJSEYbD54ndgTV8lfW4pPBiXs6zwqkvaCFx6i0plpzHxwWzwt2oxplrj0QFSrJYBx/FB2I6LAiBH1z7kmDDEX6i5rUafvrH6gB0WcM9ypnem640G+dUzDFJZUcIVGELVB++9mBypA0EiRIyUUUCmQdYoQlulsKt6PoThQBF9ENlVEvdEZt9+sxiknZ6CCtYWUwsmVMLS5JPiztOaCtXc0mFLKhrBrtMB1AdrT9p0ZFyMfEC6mh/6FBYBO2vQz+FGO54UZUk++CcrF0a+iKYiMLNrlq44WwVUSTdYC19rLci2wlP6O9pm4/fDpwMats3jWI6p0Jq+3ftFPbjo6kLfHC+yy9PP841PFQwIStHl6SkKLOm1+1i2SgkUF3cfus+6RDGEW0mlxhdptgPSAVWzGPADTJU8/4U4LJPI84B+LMNCzZsQZEypPUcDX4GOEYs3PIXowc7dCbPwyMnCz5nPkvYGhDFdbYrz8nYH2XGntsGlRFP3bNPeHAdT1W8TELnHt0HY3BbCakqUPedJqIQn3g02OJO/3tM2ZmkJg49NjKX81s31vuXVRVa6YPZ/RvxYhEinPpOOkGAz6i7Er33Zmg5zjXH/qEhPN8AscUUVWbEwPIYu60TxxBDqrEufBfZbtT0g4tv4wZV2km0hag4gniLGPv7NFdPiFDC6iuYpCwK5D7/W5Q9NKZ5CLoyU9ZTRl9aMzgNeNaFbf4gcsTgzalRKIIL9k/MCsH0reulKybXxX0UEQafgOa9IBPZdPhspdZWToDp3VsUOfVXz4hoKvlBXLnTI6qsapAvdQBJ9p7jSFTfzEm8JPf20NYKbkCS138UTHfn+KnsBExrf9kRp1tHfDVpXYdWiai2PfCPkUU1x/1saqfS/dC/P5qfl8g1i9o7lQpiUAFsMcApXgav3G9CBR5uNZs+EKiTG5lbKHolNMlOZs5yJXhc/HXm4eykEO0Q9UNamgFJQi9GJw8yqJRQC4s1rfK0sXR6bDwgczPw0O3dofVgxUTdIbwufULK4nQXKhqGWEIYBREEc+eLbVg3ikJQX/hIHr0umXEsOSrwpkUnC4UgKNv00vOczc6YfGkue9ZjbFmvBkJlCvWFTuKV/w40tkY+jJWdjTW52MJ2TiDAtluY13nrDol2F9FL2Cr8LxSUqBS8YIcmGjqaqr76nl6X290RkX5+2qpkv7A7P6hzmKs7LQs00wAsQ54lMwbLOtRPL8QMBeSUd5S4WRN6TyORSgRWR+k3uUE9e8+1XXbBiOHY5AH/yueZKJ3YNpyirH8arL/fpweDY+pvfAnPsWngFam7TLkCr90UP35dCT9fYE9duRRZsg3W6k6GCRQvrr5uDCwRvivJGXGcmJqVUcT9myhbJ64encJstwd+kHwgI9s/uwoJVudlF89I034+hjMGMfzpcZE0hmQK7FY5nHeFrUoodk57NBIv3wDpgXMrgYTqBNhztL/j89FaZyibKHcXu/urWvGEu6e0JLhWmiOnPQMFJZ//dx3df7ZOK2XmhSgDhuKUtpXUYLkyVObULnOKnLYdHnD1ftuaRpRMlEj5AD/Nou1WsnHsmM680pfQ5XjyW/nbh6NDgX+oO2xL98k1pkz0FRsJdUdCW8DZFMjZZswGjxEgGwA4nyTVoLKrWw0UhZ5URM1Aopd15Yq3LRs0AnHPp5zXVqOLIVCjJzPg3hIhMMfboJEcVqLM7yIaN+Ps0FzPWAkw77BPMdjyGjjxNrw8fzTJDukenKOxGByniVgGfJxGl4LXx/iZ+xwhjsdnGj6vW0oCaXxzd5y3K1RqwXUtH+OCnoOup8TBszVyTbXa9x92ubjoJtw4xRjXihOiRIO8OsUWtU4Gmq2D8Zrv0ReZHp279bCKSkfalwx4/e/H9GzIsKmlN7/Lrmm9tCOzD9NFA9Vd98/PZgarxG5zj5BsT7uiVRmqaWFlrM2zkxu5IL4g+bF4ykSxuaqzaB8gK1EZKueOnrpGqxlZIrmcxWTkKfftQ1QZQO7xNlxokdidin8hcI+voNSo+jYnS7d8uTyKXuiAtGlg20f787zq6on0fP+ASibE1+lBUjtGKH1o4RCWIv6BSInF1t+ilzLVlVXd9cjU9upJuzyAvgMLnTOQ4loln4GC7Ffvv8hSRqwiGz0ktE3ENtJJK4g4j3xvtrkVQyqmPLyyNDkpSZMxo/kTjs4BkvQK6iMlkk8UHs1j+RqcGKJnDDVmtcq4t3wyn5/Q1hnYXrK9f4zvcfDOVZG0g9vB0s1AYJV9Qxd85zuuTqIWRuAWYBY8gjO+DxAATfWiUI/HOlsdfT5QalOoI36GYK4siOdK/exSRbOS2zwD7ZBOszsasTZA0O9KdPHUaAl9B+2bTChI6fEZo/bURAkN0pmPiN8OPMvsnvTDLH7e6218Y6euonMxHH/7s87digv/XG8PDzsYdOKqzOYmaLl5EycFgS975FqZ3sqW9N6tqFj/q/jYdqvxzq8ASvVb0kTi0IrVF3Cq2nNznOyVy61wV27JRjtH0X6S1kvOT71sVSNDiEODRFj8qYlDioahBeLx9sQk4/q1ORdJBh44cTzWQpt4JG1Acl+/WOuzytrWrxB2XiSKDHUrvZwwAQw6UbpnzH1vC5Ri7Zx9is1Z1qs94sZGudB11bbRFA0w8GBr/vJSac8F27w8zHXKORKfReTiOEfDHG0WE0AVcI/GjrQvCDClRuCjzoxksqd+r6jcK9GP8Nj1GExAdTwsF5o/8nyDHvg/mtgzBSwar3OwxNtH3wiokLKlIJlNePlrDgSMN2fLZ/l/lPwXYQfbTkZVShyg9JrI9IQ2BllKa2ou2fC9KaF8d7didUyr8tkvUxtjSjXXsNBRjI03aMGhgrfcxrDGOTv7ms09JvEcDlXcw6++Sb9GmQIBzkIKm5hCwt4MUX1qCh8fx7tSG/9wDm7Tz/mXaCrRSjKMZZwLWBSBJ05/hVkVrBjbw+xpR2gKgRaLAaYPWUJhG9XfD41mHB/8KEVnMhsL+sXE3iIYQ/tBrC1zGOT5hN90UxIgYFEZu1KLQ7Jhg6keR6YQVspvkrgbscfq0g2Ts0cgbzSNC2juN1noLSQqlYTTmrI0SE9z2EoGJvtu1fZiNZ3AHOgrc1h0Iz2C4Z/DwZ44nUl93wXfgSWSRyuaAQRWWM/WNGKsMFxuEVMcsxfmDQ2DvgBcssyhVX4ip+58RnqWxJ7Obi/yrCxBlSipp0vd3XJHVeYaQGGmv67P1iHhTGGFTvxX9hCctllOOIO8ga2cxAsgBVgbShtYRzEeyBK2Kr8u9hGDCvoKP4vds/KbSoIf/6Dy7g8agkBjIqm9ABapWi85j7ry6tIQwKUZO075DlpXmfAzusbnFP2BXCvAnmXLa1Pi5QWsCQa2FyeLfqyqIh8wTK81WlP6BRmv7HCWzOTi7oaUven253MMTcb5pNRvDptALkk5ubykBvCgs4fi837/mGbFCSPexmANIFymuBCa0cuOH4pduSJS6VS3pkCL2P/06srz+ZgySVlSorUwr1kh62JzuUKY6sdFxZNE4rucATqpHDPbsfetMde8STpBw9dCWsnmzUK+Qq7fMrf37jZhPync7WUWsp/GhVdG8Vd6u4SL6c2rl7QP0wtDK65bGncp3cU9v6IZlzfBflYjjS+YKVH25mWdpQQJ5LoOGq/vpa5wjW4WV8QEoFB7LNyTkxCFANUDWSj2QSJ/oRhN/wNgDdRkMG1+9BId6WT0IghAuv8JuGQudddtFNT1JdCqFqSH3GC83cX04G5sAcUmAWbw0eWZRRe7Qy5guZOQkKXWb+aE8jLHfX2BGMic6QeGARPI3JKd9gUsBuPOnPJimi2Tp3CUNQMLaRzo/uy2lKVxdBNsx4M4kToiS6tCQyGG65dPTP8l7UlTC1HPcojpcazHSC+QQvr9RQUtY+oPW/i1tfR5xzVwB+vKYkHQrAZPRkikpcscoBZ8ml8a6NSw5DBTlWdGvGKj91Vi98NQe0MVK09p5IDZCEZMm1uHuDvKZ7i9NoNOacQmC4rcMPum2UY/t5qlW7+r7Tf8uslLKXI5Os1+KO2xgBJM/UNaNOmZEYnuHBHSUIUDSmRJrLC2Pw3PNe+grUs8d3N+PoAAtrPgABjazcP/HGbK5hqgXK2rgYiJFs6vH56lIh3FkjDaiUo8VFD7fk0ZqzQgiGIGnT2aeR8//w1TmNvAaoj8qV8m9uL/SiYxsKrJGohh1CujCs8OZ7EEDUOTBx7WkS16KdPOWmaveswroDm+krZZQu5+RcRGGpgvllTBEMCRdJCpmsZDv8zh2OFXvzsm/MU1RKwRJ3j7qo5NGdaFrqCMseYKActS3DckQQinpVgMBdBuErwADmkhGAE="}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"ce975c12-f28e-4e12-8bba-3420d2284352","uuid":"c9f69df5-96df-47e7-a4a6-10135790e79e"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2", - "run_number": 2, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T19:14:29.578248+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T19:24:34.794844+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-d5an9mg6","session_id":"ce975c12-f28e-4e12-8bba-3420d2284352","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"e9abfe9a-489d-4fec-8fd5-05dad71aa6d9","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01VEYCywM3VBSCczJxV61XL4","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me build a complete Tetris game in TypeScript that runs in the browser. I'll create a well-structured, fully functional Tetris game with all standard mechanics.\n\nHere's my plan:\n1. Create an `index.html` file\n2. Create a `tetris.ts` TypeScript file with all game logic\n3. Create a `styles.css` for styling\n4. Create a `tsconfig.json` for TypeScript configuration\n5. Create a simple build script or use a bundler\n\nActually, since this needs to run in a browser without complex build setups, I'll use TypeScript but compile it to JavaScript. Let me think about the best approach...\n\n\nI'm weighing different approaches for getting TypeScript to run in the browser—I could compile it ahead of time with a build script, use a CDN-based TypeScript compiler, or just write it in plain JavaScript. I think the cleanest solution is to set up a proper project structure with TypeScript source files, a tsconfig, and a build process so everything compiles to JavaScript that runs directly in the browser.\n\nNow I'm planning out the core game architecture with a 10x20 grid and the standard Tetris pieces...\n\nDefining the Tetromino shapes... Finishing up the tetromino definitions and now planning out the overall structure with types, constants, and the main game classes I'll need. I'm laying out the HTML structure with a main game board canvas, a side panel for the next piece preview, and stat displays for score, level, and lines. Now I'm moving into the full implementation to handle all the core mechanics.\n\nI'm implementing rotation using the SRS (Super Rotation System) with wall kick offsets—this lets pieces rotate even when they're near walls by trying different position adjustments before giving up on the rotation.\n\nImplementing wall kick data... Writing the piece rotation logic... Defining the piece definitions...\n\nNow I'm setting up the game mechanics—establishing drop intervals that accelerate through levels, calculating scores based on cleared lines and current level, and creating the data structure for tracking active pieces with their type, rotation state, and position on the board.\n\nSetting up the TetrisGame class... Setting up the piece spawning logic where I randomly select the next piece type and check if it can be placed at the center top of the board, ending the game if the spawn position is blocked.\n\nNow I'm implementing validation to check if a piece can occupy its current position by iterating through its shape and ensuring all filled cells are within bounds and don't collide with locked pieces.\n\nContinuing with the game logic...\n\nI'm implementing the line-clearing mechanism by removing completed rows and shifting everything down, then calculating where the ghost piece should appear by finding the lowest valid position. For rotation, I'm computing the new rotation index with wraparound and setting up wall kick logic.\n\nStill writing game mechanics... Completing the hard drop logic and implementing the main drop mechanism that handles piece locking, line clearing with score multipliers based on level, and game over detection...\n\nSetting up the input handler... Writing game logic... Writing the rendering logic... Writing the rendering logic... Writing the piece rendering logic... Finishing the rendering logic...\n\nNow I'm thinking through the rotation mechanics for the different pieces. The O piece doesn't really rotate since all four rotations look identical, while the I piece has two distinct orientations. I'll generate all four rotation states for consistency but they'll effectively be duplicates for the O piece.\n\nLet me verify the rotation algorithm works correctly by testing it with the L piece as an example. I'm using the transpose-then-reverse-rows approach for a 90-degree clockwise rotation, and I need to make sure the coordinates map properly. I need to carefully work through the transpose step by step. For the L piece matrix, I'm mapping each element from the original position to its transposed position, then I'll reverse each row to complete the 90° clockwise rotation.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":487,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":487,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"ce975c12-f28e-4e12-8bba-3420d2284352","uuid":"c9f69df5-96df-47e7-a4a6-10135790e79e"} diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json b/results/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_011ygQYx5Q8JWodJPwvaWm5u","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants me to build a playable Tetris game that works in a web browser using TypeScript. Let me create a complete Tetris implementation with all standard mechanics:\n\n1. Piece rotation\n2. Line clearing\n3. Scoring system\n4. Increasing speed\n5. Keyboard controls for movement and rotation\n\nI'll create a well-structured TypeScript project with:\n- HTML file for the game canvas/UI\n- TypeScript file for game logic\n- CSS for styling\n\nLet me plan the structure:\n\n1. `index.html` - Main HTML file\n2. `src/tetris.ts` - Main TypeScript game logic\n\n\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript configuration\n\nI'll set up a proper project structure with all the necessary configuration files. The game will use a standard 10x20 grid with the 7 classic Tetris pieces (I, O, T, S, Z, J, L), and I'll implement keyboard controls for left/right movement, down for soft drop, and rotation.\n\nDefining the Tetromino types and pieces... Defining the Tetris piece shapes and colors... Writing the game logic... Defining the Tetris piece types and board structure... Building the HTML structure... I'm setting up the project structure with TypeScript, a build configuration, and organizing the files so everything compiles and runs smoothly in the browser.\n\nNow I'm planning out the core game mechanics: a 10x20 grid with all seven standard Tetris pieces, rotation using matrix transformations with wall kick offsets, a ghost piece preview, and a scoring system that awards more points for clearing multiple lines at once. I'll also implement a level progression system where the game speeds up every 10 lines cleared, add a next piece preview, and include pause functionality.\n\nWriting the TypeScript implementation... Setting up the game constants and piece definitions...\n\nNow I'm defining helper functions to create and manipulate pieces—generating random tetromino types, handling rotation logic, and setting up collision detection.\n\nImplementing collision detection... Writing the drawing functions... Writing the board rendering... Writing the piece rendering functions...\n\nNow I'm setting up the game state interface with properties for the board, current and next pieces, score tracking, and game status flags, then initializing it with default values. Starting to build the main TetrisGame class that will manage the canvas and rendering context.\n\nSetting up the game class properties... Setting up keyboard controls for the game, handling Enter to start, P to pause, and arrow keys plus Space for piece movement and rotation.\n\nNow I'm implementing the game initialization and pause toggle logic, resetting the game state and managing the overlay display when pausing or resuming.\n\nImplementing piece movement and rotation... Writing game state logic... Writing the game loop logic... I'm thinking through the project setup now—I'll keep it simple with TypeScript compilation and let users open the HTML file directly without needing a dev server. I want to implement the 7-bag randomizer for piece selection to make the game feel more balanced and fair.\n\nFor scoring, I'm using the standard Tetris formula where line clears multiply by level, and I'm applying the official Guideline speed curve to make the game progressively harder—starting at 1 second per drop at level 1 and accelerating significantly as levels increase.\n\nImplementing the speed formula...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":518,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":518,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"cc02b017-062b-4427-a7f4-29eb6a9d1159","uuid":"f2ded488-9c71-481c-b01d-a570f4c253fa"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log b/results/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json b/results/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json b/results/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "high", - "prompt_style": "simple", - "language": "typescript", - "human_language": "es", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3", - "run_number": 3, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T20:56:36.716000+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T21:06:41.324051+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl b/results/runs/tetris_context_file=none_effort=high_human_language=es_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run3/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "high", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Construye un juego de Tetris jugable que funcione en un navegador web. Debe tener todas las mecanicas estandar: rotacion de piezas, eliminacion de lineas, puntuacion y velocidad creciente. Usa controles de teclado para el movimiento y la rotacion.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-fp5393e8","session_id":"cc02b017-062b-4427-a7f4-29eb6a9d1159","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"2e40250b-9922-42d5-9811-0f0e4730a1f6","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_011ygQYx5Q8JWodJPwvaWm5u","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants me to build a playable Tetris game that works in a web browser using TypeScript. Let me create a complete Tetris implementation with all standard mechanics:\n\n1. Piece rotation\n2. Line clearing\n3. Scoring system\n4. Increasing speed\n5. Keyboard controls for movement and rotation\n\nI'll create a well-structured TypeScript project with:\n- HTML file for the game canvas/UI\n- TypeScript file for game logic\n- CSS for styling\n\nLet me plan the structure:\n\n1. `index.html` - Main HTML file\n2. `src/tetris.ts` - Main TypeScript game logic\n\n\n3. `package.json` - For TypeScript compilation\n4. `tsconfig.json` - TypeScript configuration\n\nI'll set up a proper project structure with all the necessary configuration files. The game will use a standard 10x20 grid with the 7 classic Tetris pieces (I, O, T, S, Z, J, L), and I'll implement keyboard controls for left/right movement, down for soft drop, and rotation.\n\nDefining the Tetromino types and pieces... Defining the Tetris piece shapes and colors... Writing the game logic... Defining the Tetris piece types and board structure... Building the HTML structure... I'm setting up the project structure with TypeScript, a build configuration, and organizing the files so everything compiles and runs smoothly in the browser.\n\nNow I'm planning out the core game mechanics: a 10x20 grid with all seven standard Tetris pieces, rotation using matrix transformations with wall kick offsets, a ghost piece preview, and a scoring system that awards more points for clearing multiple lines at once. I'll also implement a level progression system where the game speeds up every 10 lines cleared, add a next piece preview, and include pause functionality.\n\nWriting the TypeScript implementation... Setting up the game constants and piece definitions...\n\nNow I'm defining helper functions to create and manipulate pieces—generating random tetromino types, handling rotation logic, and setting up collision detection.\n\nImplementing collision detection... Writing the drawing functions... Writing the board rendering... Writing the piece rendering functions...\n\nNow I'm setting up the game state interface with properties for the board, current and next pieces, score tracking, and game status flags, then initializing it with default values. Starting to build the main TetrisGame class that will manage the canvas and rendering context.\n\nSetting up the game class properties... Setting up keyboard controls for the game, handling Enter to start, P to pause, and arrow keys plus Space for piece movement and rotation.\n\nNow I'm implementing the game initialization and pause toggle logic, resetting the game state and managing the overlay display when pausing or resuming.\n\nImplementing piece movement and rotation... Writing game state logic... Writing the game loop logic... I'm thinking through the project setup now—I'll keep it simple with TypeScript compilation and let users open the HTML file directly without needing a dev server. I want to implement the 7-bag randomizer for piece selection to make the game feel more balanced and fair.\n\nFor scoring, I'm using the standard Tetris formula where line clears multiply by level, and I'm applying the official Guideline speed curve to make the game progressively harder—starting at 1 second per drop at level 1 and accelerating significantly as levels increase.\n\nImplementing the speed formula...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":518,"cache_read_input_tokens":4241,"cache_creation":{"ephemeral_5m_input_tokens":518,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"cc02b017-062b-4427-a7f4-29eb6a9d1159","uuid":"f2ded488-9c71-481c-b01d-a570f4c253fa"} diff --git a/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json b/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_019gmSXop2Nz18kABkZQi98e","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser using TypeScript. Let me build a complete Tetris game with:\n\n1. All 7 standard Tetris pieces (I, O, T, S, Z, J, L)\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls (arrow keys for movement, up arrow or Z for rotation)\n\nI'll create:\n- `index.html` - Main HTML file\n- `src/tetris.ts` - TypeScript source\n- `tsconfig.json` - TypeScript config\n\n\n- `package.json` with TypeScript and esbuild for compilation\n\nI need to set up a build process so the TypeScript compiles to JavaScript that the browser can run, then I'll create the game logic with all the core mechanics.\n\nLet me structure this with an HTML file that references the compiled output, a TypeScript source file for the game, and the necessary config files. I'm planning the Tetris pieces with their standard colors and shapes, then I'll implement the board logic, collision detection, and game loop.\n\nWriting the game code... Finishing up the tetromino piece definitions with the remaining shapes, then moving on to build out the actual game logic.\n\nNow I'm setting up the full TypeScript class structure with the HTML canvas, configuration files, and build tooling using esbuild to compile everything.\n\nWriting the game files... Building the game class... Defining all seven tetromino pieces... Setting up the build configuration with esbuild and TypeScript, then writing the core game logic with the board state, piece definitions, and color palette... Defining the tetromino shapes and game mechanics... Writing game logic... Setting up the canvas elements and DOM references... Setting up keyboard event listeners to handle game controls—checking for game over and pause states, then routing arrow keys and other inputs to move pieces left and right, drop them down, and rotate them.\n\nStill writing game logic... Implementing wall kick logic to try different horizontal offsets when rotating, then handling soft and hard drops with collision detection. Writing game logic... Writing the rendering logic... Writing the block rendering... Writing game state handlers... I'm tracing through the game flow to make sure the restart logic works correctly. The constructor shows the initial overlay, then when the user presses Enter, `start()` kicks off the game loop with `requestAnimationFrame`. When the game ends, the overlay reappears, and pressing Enter again triggers `restart()` which resets all the game state. Since the animation loop is already running continuously (it just checks the `gameOver` and `paused` flags), I don't need to restart it—just reset the variables and hide the overlay so the loop can continue.\n\nThe tricky part is managing the event listeners: `setupControls` adds a keydown handler that runs for the entire game, and the initial overlay also adds its own listener. Since `setupControls` runs during construction before the overlay listener is added, the setup handler fires first, but I need to make sure the initial state doesn't cause conflicts when the game hasn't started yet.\n\nI'll introduce a state machine with clear states—`waiting`, `playing`, `paused`, and `gameover`—so the keydown handler can check the current state and only process movement or game actions when appropriate. This way, I can ignore input during the waiting state and avoid trying to move pieces before the game loop has actually started.\n\nWriting the refactored version... Still writing the game loop...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":4728,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":4728,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"1c8e7d9e-6b26-49cb-9000-21b90102dda6","uuid":"8e462a39-e7d5-4da1-bea1-39da483bc6d7"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log b/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json b/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json b/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "max", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1", - "run_number": 1, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T20:46:29.796093+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T20:56:35.380863+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl b/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run1/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "max", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-2orr26l3","session_id":"1c8e7d9e-6b26-49cb-9000-21b90102dda6","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"dc7183ef-dc5f-4811-832d-fb3afb0d00a0","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_019gmSXop2Nz18kABkZQi98e","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game that runs in a browser using TypeScript. Let me build a complete Tetris game with:\n\n1. All 7 standard Tetris pieces (I, O, T, S, Z, J, L)\n2. Piece rotation\n3. Line clearing\n4. Scoring system\n5. Increasing speed\n6. Keyboard controls (arrow keys for movement, up arrow or Z for rotation)\n\nI'll create:\n- `index.html` - Main HTML file\n- `src/tetris.ts` - TypeScript source\n- `tsconfig.json` - TypeScript config\n\n\n- `package.json` with TypeScript and esbuild for compilation\n\nI need to set up a build process so the TypeScript compiles to JavaScript that the browser can run, then I'll create the game logic with all the core mechanics.\n\nLet me structure this with an HTML file that references the compiled output, a TypeScript source file for the game, and the necessary config files. I'm planning the Tetris pieces with their standard colors and shapes, then I'll implement the board logic, collision detection, and game loop.\n\nWriting the game code... Finishing up the tetromino piece definitions with the remaining shapes, then moving on to build out the actual game logic.\n\nNow I'm setting up the full TypeScript class structure with the HTML canvas, configuration files, and build tooling using esbuild to compile everything.\n\nWriting the game files... Building the game class... Defining all seven tetromino pieces... Setting up the build configuration with esbuild and TypeScript, then writing the core game logic with the board state, piece definitions, and color palette... Defining the tetromino shapes and game mechanics... Writing game logic... Setting up the canvas elements and DOM references... Setting up keyboard event listeners to handle game controls—checking for game over and pause states, then routing arrow keys and other inputs to move pieces left and right, drop them down, and rotate them.\n\nStill writing game logic... Implementing wall kick logic to try different horizontal offsets when rotating, then handling soft and hard drops with collision detection. Writing game logic... Writing the rendering logic... Writing the block rendering... Writing game state handlers... I'm tracing through the game flow to make sure the restart logic works correctly. The constructor shows the initial overlay, then when the user presses Enter, `start()` kicks off the game loop with `requestAnimationFrame`. When the game ends, the overlay reappears, and pressing Enter again triggers `restart()` which resets all the game state. Since the animation loop is already running continuously (it just checks the `gameOver` and `paused` flags), I don't need to restart it—just reset the variables and hide the overlay so the loop can continue.\n\nThe tricky part is managing the event listeners: `setupControls` adds a keydown handler that runs for the entire game, and the initial overlay also adds its own listener. Since `setupControls` runs during construction before the overlay listener is added, the setup handler fires first, but I need to make sure the initial state doesn't cause conflicts when the game hasn't started yet.\n\nI'll introduce a state machine with clear states—`waiting`, `playing`, `paused`, and `gameover`—so the keydown handler can check the current state and only process movement or game actions when appropriate. This way, I can ignore input during the waiting state and avoid trying to move pieces before the game loop has actually started.\n\nWriting the refactored version... Still writing the game loop...","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":4728,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":4728,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"1c8e7d9e-6b26-49cb-9000-21b90102dda6","uuid":"8e462a39-e7d5-4da1-bea1-39da483bc6d7"} diff --git a/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json b/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_output.json @@ -1 +0,0 @@ -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01BgxYDnzETojB4JFTr7Bxcd","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in TypeScript that runs in a browser. Let me plan the implementation:\n\n1. **Game Structure:**\n - HTML file with a canvas element\n - TypeScript file with game logic\n - CSS for styling\n\n2. **Features to implement:**\n - All 7 Tetromino pieces (I, O, T, S, Z, J, L)\n - Piece rotation\n - Line clearing\n - Scoring system\n - Increasing speed\n - Keyboard controls (Arrow keys for movement, Up/Z/X for rotation)\n \n3. **Game mechanics:**\n - 10x20 grid board with pieces spawning at the top, falling under gravity with collision detection\n - Full rows clear automatically, increasing the score and level speed\n - Game ends when pieces stack to the top\n\nI'll set up the project with an HTML file, TypeScript game logic, and configuration files. Since this needs to run directly in a browser, I should use a simple approach that compiles TypeScript without requiring a complex build process.\n\nI'm defining the core game constants like the 30-pixel cell size and the seven Tetromino pieces with their colors, then setting up the keyboard controls for movement and rotation.\n\nWriting TypeScript code... Defining the game constants and tetromino shapes... I'm defining a rotation function that transforms a matrix clockwise by remapping each element to its new position. Now I'm setting up the complete game implementation with a game loop using `requestAnimationFrame` and delta time tracking, along with the necessary configuration files.\n\nBuilding the full Tetris game... Writing the TypeScript implementation... I'll simplify this and use a basic wall kick system that tests a few offset positions instead of the full SRS specification. Now I'm setting up the TypeScript implementation with the game constants, wall kick data, and the main TetrisGame class that manages the canvas contexts, board state, and current piece.\n\nDefining the game state properties... Writing the complete Tetris implementation... Defining the tetromino shapes... Defining wall kick offsets... Defining wall kick offset tables... Writing the game class... Setting up the game canvases and input handling...\n\nNow I'm planning out the full UI layout with a dark neon aesthetic—game board centered with score and stats on the left, next piece and hold piece previews on the right, plus I'll add visual polish like ghost pieces, line clear animations, and a pause screen.\n\nFor the game loop, I need to handle DAS (Delayed Auto Shift) by tracking key states and repeating movement after an initial delay, then update the drop counter each frame and move pieces down when the interval is reached, all while rendering the board, placed pieces, ghost piece, current piece, and any active animations.\n\nNow I'm laying out the full implementation with HTML for the UI, TypeScript for the game logic including SRS rotation and 7-bag randomization, and the necessary config files. I'll need to account for the spawn buffer above the visible play area.\n\nWriting the complete implementation... Defining the tetromino shapes...\n\nNow I'm setting up the wall kick offsets for the standard rotation system, which handles how pieces adjust their position when they rotate near walls or other obstacles. Finishing the kick rotation data for the I-piece, then setting up the scoring system with line clear multipliers and a function that calculates drop speed based on difficulty level, which gets faster as the game progresses.\n\nDefining the core piece interface with its type, shape matrix, color, and position properties including rotation state.\n\nImplementing rotation helper functions... Setting up the game state with the board, piece management including current/next/held pieces with a bag system for randomization, and tracking score, level, lines cleared, combo multiplier, and game status flags.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":4728,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":4728,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"d76b698e-1c1c-4192-b58a-66bf541ee1e5","uuid":"f1c84446-c5ff-4ea3-b2a9-d97be343a54e"} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log b/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/claude_stderr.log diff --git a/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json b/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/eval_results.json @@ -1,45 +0,0 @@ -{ - "structural": { - "pass": false, - "checks": [ - { - "name": "entry_point_exists", - "pass": false, - "detail": "no index.html found in workspace root, dist/, or public/" - }, - { - "name": "package_json_exists", - "pass": true, - "detail": "package.json found" - }, - { - "name": "build_succeeds", - "pass": true, - "detail": "no build script defined (static project)" - } - ], - "score": 0.67 - }, - "functional": { - "pass": false, - "error": "playwright eval not yet wired", - "score": 0 - }, - "quality": { - "lint": { - "pass": true, - "errors": 0, - "warnings": 0 - }, - "typecheck": { - "pass": false, - "error": "no tsconfig.json" - }, - "performance": { - "bundle_size_bytes": 0, - "size_under_512kb": true - }, - "score": 0.33 - }, - "score": 0.216 -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json b/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/meta.json @@ -1,30 +0,0 @@ -{ - "model": "sonnet", - "effort": "max", - "prompt_style": "simple", - "language": "typescript", - "human_language": "en", - "tool_read": "on", - "tool_write": "on", - "tool_edit": "on", - "tool_glob": "on", - "tool_grep": "on", - "linter": "on", - "playwright": "on", - "context_file": "none", - "sub_agents": "on", - "web_search": "on", - "max_budget": "low", - "task": "tetris", - "cell_id": "tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on", - "runs_per_cell": 3, - "timeout_seconds": 600, - "max_budget_usd": 0.5, - "run_id": "tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2", - "run_number": 2, - "claude_version": "2.1.91 (Claude Code)", - "started_at": "2026-04-03T20:46:29.796179+00:00", - "wall_time_seconds": 600, - "exit_code": 124, - "completed_at": "2026-04-03T20:56:35.910351+00:00" -} -\ No newline at end of file diff --git a/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl b/results/runs/tetris_context_file=none_effort=max_human_language=en_language=typescript_linter=on_max_budget=low_model=sonnet_playwright=on_prompt_style=simple_sub_agents=on_tool_edit=on_tool_glob=on_tool_grep=on_tool_read=on_tool_write=on_web_search=on_run2/transcript.jsonl @@ -1,4 +0,0 @@ -{"type": "harness", "subtype": "config", "model": "sonnet", "effort": "max", "tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Agent", "WebSearch", "WebFetch"], "max_budget_usd": 0.5, "timeout_seconds": 600, "task": "tetris", "language": "typescript", "prompt_style": "simple"} -{"type": "user", "subtype": "prompt", "message": {"role": "user", "content": "Build a playable Tetris game that runs in a browser. It should have all the standard mechanics: piece rotation, line clearing, scoring, and increasing speed. Use keyboard controls for movement and rotation.\n\n\nUse TypeScript."}} -{"type":"system","subtype":"init","cwd":"/tmp/loop-bench-rgwj6aig","session_id":"d76b698e-1c1c-4192-b58a-66bf541ee1e5","tools":["Bash","Edit","Read"],"mcp_servers":[],"model":"claude-sonnet-4-6","permissionMode":"dontAsk","slash_commands":["update-config","debug","simplify","batch","loop","schedule","claude-api","compact","context","cost","heapdump","init","release-notes","review","security-review","insights"],"apiKeySource":"apiKeyHelper","claude_code_version":"2.1.91","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[{"name":"claude-hud","path":"/root/.claude/plugins/marketplaces/claude-hud/","source":"claude-hud@claude-hud"},{"name":"rust-analyzer-lsp","path":"/root/.claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp","source":"rust-analyzer-lsp@claude-plugins-official"}],"uuid":"5d793b36-6bee-48d2-943b-755ed4bf07f8","fast_mode_state":"off"} -{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01BgxYDnzETojB4JFTr7Bxcd","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants a playable Tetris game in TypeScript that runs in a browser. Let me plan the implementation:\n\n1. **Game Structure:**\n - HTML file with a canvas element\n - TypeScript file with game logic\n - CSS for styling\n\n2. **Features to implement:**\n - All 7 Tetromino pieces (I, O, T, S, Z, J, L)\n - Piece rotation\n - Line clearing\n - Scoring system\n - Increasing speed\n - Keyboard controls (Arrow keys for movement, Up/Z/X for rotation)\n \n3. **Game mechanics:**\n - 10x20 grid board with pieces spawning at the top, falling under gravity with collision detection\n - Full rows clear automatically, increasing the score and level speed\n - Game ends when pieces stack to the top\n\nI'll set up the project with an HTML file, TypeScript game logic, and configuration files. Since this needs to run directly in a browser, I should use a simple approach that compiles TypeScript without requiring a complex build process.\n\nI'm defining the core game constants like the 30-pixel cell size and the seven Tetromino pieces with their colors, then setting up the keyboard controls for movement and rotation.\n\nWriting TypeScript code... Defining the game constants and tetromino shapes... I'm defining a rotation function that transforms a matrix clockwise by remapping each element to its new position. Now I'm setting up the complete game implementation with a game loop using `requestAnimationFrame` and delta time tracking, along with the necessary configuration files.\n\nBuilding the full Tetris game... Writing the TypeScript implementation... I'll simplify this and use a basic wall kick system that tests a few offset positions instead of the full SRS specification. Now I'm setting up the TypeScript implementation with the game constants, wall kick data, and the main TetrisGame class that manages the canvas contexts, board state, and current piece.\n\nDefining the game state properties... Writing the complete Tetris implementation... Defining the tetromino shapes... Defining wall kick offsets... Defining wall kick offset tables... Writing the game class... Setting up the game canvases and input handling...\n\nNow I'm planning out the full UI layout with a dark neon aesthetic—game board centered with score and stats on the left, next piece and hold piece previews on the right, plus I'll add visual polish like ghost pieces, line clear animations, and a pause screen.\n\nFor the game loop, I need to handle DAS (Delayed Auto Shift) by tracking key states and repeating movement after an initial delay, then update the drop counter each frame and move pieces down when the interval is reached, all while rendering the board, placed pieces, ghost piece, current piece, and any active animations.\n\nNow I'm laying out the full implementation with HTML for the UI, TypeScript for the game logic including SRS rotation and 7-bag randomization, and the necessary config files. I'll need to account for the spawn buffer above the visible play area.\n\nWriting the complete implementation... Defining the tetromino shapes...\n\nNow I'm setting up the wall kick offsets for the standard rotation system, which handles how pieces adjust their position when they rotate near walls or other obstacles. Finishing the kick rotation data for the I-piece, then setting up the scoring system with line clear multipliers and a function that calculates drop speed based on difficulty level, which gets faster as the game progresses.\n\nDefining the core piece interface with its type, shape matrix, color, and position properties including rotation state.\n\nImplementing rotation helper functions... Setting up the game state with the board, piece management including current/next/held pieces with a bag system for randomization, and tracking score, level, lines cleared, combo multiplier, and game status flags.","signature":"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"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":4728,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":4728,"ephemeral_1h_input_tokens":0},"output_tokens":0,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"d76b698e-1c1c-4192-b58a-66bf541ee1e5","uuid":"f1c84446-c5ff-4ea3-b2a9-d97be343a54e"}

Impressum · Datenschutz