Spaces:
Running on Zero
Running on Zero
feat: add live project atlas
Browse filesSync GitHub commit 76e4930 with atlas dashboard, MiniCPM quest LoRA, refresh APIs, and tests.
This view is limited to 50 files because it contains too many changes. See raw diff
- .gitattributes +1 -0
- README.md +49 -10
- app.py +251 -3
- artifacts/quest-lora/README.md +44 -0
- artifacts/quest-lora/adapter_config.json +48 -0
- artifacts/quest-lora/adapter_model.safetensors +3 -0
- artifacts/quest-lora/chat_template.jinja +179 -0
- artifacts/quest-lora/self-eval.json +66 -0
- artifacts/quest-lora/special_tokens_map.json +30 -0
- artifacts/quest-lora/tokenizer.json +0 -0
- artifacts/quest-lora/tokenizer_config.json +4099 -0
- artifacts/quest-lora/training-recipe.json +23 -0
- data/quest_corpus.json +0 -0
- data/quest_dataset_card.md +83 -0
- data/quest_label_input.json +0 -0
- data/quest_labels/in/AI-Puppet-Theater.json +14 -0
- data/quest_labels/in/AI-agent-Evaluation-pipeline.json +17 -0
- data/quest_labels/in/Advent_of_a_World_of_Flowering_Trees.json +14 -0
- data/quest_labels/in/Backyard-Demo-Builder.json +24 -0
- data/quest_labels/in/Case-Lantern.json +16 -0
- data/quest_labels/in/CodeFlow.json +14 -0
- data/quest_labels/in/ContextForge.json +14 -0
- data/quest_labels/in/Council-of-Tiny-Minds.json +14 -0
- data/quest_labels/in/Darwin-35B-A3B-Opus.json +15 -0
- data/quest_labels/in/Family-Bill-Assistant.json +14 -0
- data/quest_labels/in/First-Principle-AI.json +21 -0
- data/quest_labels/in/GRM-2.6-Opus.json +14 -0
- data/quest_labels/in/GTROX.json +14 -0
- data/quest_labels/in/InContext.json +14 -0
- data/quest_labels/in/Kasualdad_LFED.json +19 -0
- data/quest_labels/in/Kintsugi-Garden.json +14 -0
- data/quest_labels/in/LocalDuo.json +14 -0
- data/quest_labels/in/Mediassist.json +14 -0
- data/quest_labels/in/NEXUS-Visual-Weaver.json +14 -0
- data/quest_labels/in/PocketWorld-Studio.json +14 -0
- data/quest_labels/in/Retail-Insight-AI.json +14 -0
- data/quest_labels/in/SlideAI.json +14 -0
- data/quest_labels/in/Sprout-And-Spoon.json +14 -0
- data/quest_labels/in/Structured-Data-Rescuer.json +14 -0
- data/quest_labels/in/The-Shrine.json +14 -0
- data/quest_labels/in/Tone-Bridge.json +25 -0
- data/quest_labels/in/Trollsona.json +14 -0
- data/quest_labels/in/VoiceGate.json +14 -0
- data/quest_labels/in/WitGym.json +14 -0
- data/quest_labels/in/Yui-home-assistant.json +14 -0
- data/quest_labels/in/ai-study-buddy.json +14 -0
- data/quest_labels/in/amnesiac.json +14 -0
- data/quest_labels/in/attention-firewall.json +14 -0
- data/quest_labels/in/awaaz.json +17 -0
- data/quest_labels/in/backyard-raccoon-deterrent.json +17 -0
.gitattributes
CHANGED
|
@@ -1,3 +1,4 @@
|
|
| 1 |
# Auto detect text files and perform LF normalization
|
| 2 |
* text=auto
|
|
|
|
| 3 |
static/assets/parchment.png filter=lfs diff=lfs merge=lfs -text
|
|
|
|
| 1 |
# Auto detect text files and perform LF normalization
|
| 2 |
* text=auto
|
| 3 |
+
artifacts/quest-lora/adapter_model.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 4 |
static/assets/parchment.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -22,17 +22,18 @@ tags:
|
|
| 22 |
# Hackathon Advisor
|
| 23 |
|
| 24 |
**Hackathon Advisor** is a text-first project advisor for the Build Small Hackathon. The user-facing experience is
|
| 25 |
-
**The Unwritten Almanac**:
|
| 26 |
-
`build-small-hackathon` organization,
|
|
|
|
| 27 |
|
| 28 |
The current milestone is a deployed ZeroGPU + MiniCPM5 LoRA advisor:
|
| 29 |
|
| 30 |
- Local snapshot of public `build-small-hackathon` Spaces.
|
| 31 |
- Modal-built EmbeddingGemma GGUF retrieval index, with runtime query embeddings computed through llama.cpp.
|
|
|
|
| 32 |
- Nemotron Speech Streaming voice input through NVIDIA NeMo ASR on ZeroGPU.
|
| 33 |
- Jargon correction for hackathon/model terms.
|
| 34 |
-
- MiniCPM5 tool-call planning with a published PEFT LoRA adapter
|
| 35 |
-
development.
|
| 36 |
- One-turn advisor loop with overlap citations, whitespace suggestions, scoring, and plans.
|
| 37 |
- Custom `gradio.Server` frontend focused on the builder's idea workflow, with submission evidence kept in API exports.
|
| 38 |
|
|
@@ -44,10 +45,19 @@ See [DESIGN.md](DESIGN.md) for the full product and model plan.
|
|
| 44 |
python3.11 -m venv .venv
|
| 45 |
. .venv/bin/activate
|
| 46 |
pip install -r requirements.txt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
python app.py
|
| 48 |
```
|
| 49 |
|
| 50 |
-
Then open <http://127.0.0.1:7860>.
|
|
|
|
|
|
|
| 51 |
|
| 52 |
## Refresh The Project Snapshot
|
| 53 |
|
|
@@ -64,6 +74,25 @@ app file as the highest-signal project evidence for embedding. The canonical ind
|
|
| 64 |
`ggml-org/embeddinggemma-300m-qat-q8_0-GGUF` through llama.cpp; runtime search embeds the user query with the same GGUF
|
| 65 |
model and performs local cosine search over the checked-in vectors.
|
| 66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
## Trace Artifact
|
| 68 |
|
| 69 |
The app exposes a `trace_artifact` Gradio API endpoint for submission evidence and debugging. It emits a manifest row
|
|
@@ -188,18 +217,28 @@ ADVISOR_MODEL_BACKEND=minicpm-transformers
|
|
| 188 |
ADVISOR_MODEL_ID=openbmb/MiniCPM5-1B
|
| 189 |
ADVISOR_ADAPTER_ID=build-small-hackathon/hackathon-advisor-minicpm5-lora
|
| 190 |
ADVISOR_ADAPTER_REVISION=25de69bcde397e1bcdd852923b56a42f10222650
|
|
|
|
|
|
|
|
|
|
| 191 |
ADVISOR_EMBEDDING_MODEL_REPO=ggml-org/embeddinggemma-300m-qat-q8_0-GGUF
|
| 192 |
ADVISOR_EMBEDDING_MODEL_FILE=embeddinggemma-300m-qat-Q8_0.gguf
|
| 193 |
ADVISOR_ASR_MODEL_ID=nvidia/nemotron-speech-streaming-en-0.6b
|
| 194 |
```
|
| 195 |
|
| 196 |
`agent_turn` wraps the engine call with `spaces.GPU` when `ADVISOR_ZERO_GPU=1`, so model loading and generation run on
|
| 197 |
-
the ZeroGPU allocation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 198 |
`ADVISOR_EMBEDDING_MODEL_PATH` points to a local file. `/api/transcribe` uses the same ZeroGPU wrapper for Nemotron ASR.
|
| 199 |
-
On macOS local runs
|
| 200 |
-
|
| 201 |
-
the
|
| 202 |
-
Local tests and CPU-only development still default to `ADVISOR_MODEL_BACKEND=rules`.
|
| 203 |
|
| 204 |
## Test
|
| 205 |
|
|
|
|
| 22 |
# Hackathon Advisor
|
| 23 |
|
| 24 |
**Hackathon Advisor** is a text-first project advisor for the Build Small Hackathon. The user-facing experience is
|
| 25 |
+
an atlas-first dashboard plus **The Unwritten Almanac**: the first screen maps real Spaces in the
|
| 26 |
+
`build-small-hackathon` organization, while the advisor workspace compares your idea against that map, finds
|
| 27 |
+
under-explored territory, scores the idea, and drafts a practical build plan.
|
| 28 |
|
| 29 |
The current milestone is a deployed ZeroGPU + MiniCPM5 LoRA advisor:
|
| 30 |
|
| 31 |
- Local snapshot of public `build-small-hackathon` Spaces.
|
| 32 |
- Modal-built EmbeddingGemma GGUF retrieval index, with runtime query embeddings computed through llama.cpp.
|
| 33 |
+
- Full-screen t-SNE project atlas with clusters, nearest-neighbor links, quest coverage, and live refresh state.
|
| 34 |
- Nemotron Speech Streaming voice input through NVIDIA NeMo ASR on ZeroGPU.
|
| 35 |
- Jargon correction for hackathon/model terms.
|
| 36 |
+
- MiniCPM5 tool-call planning with a published PEFT LoRA adapter.
|
|
|
|
| 37 |
- One-turn advisor loop with overlap citations, whitespace suggestions, scoring, and plans.
|
| 38 |
- Custom `gradio.Server` frontend focused on the builder's idea workflow, with submission evidence kept in API exports.
|
| 39 |
|
|
|
|
| 45 |
python3.11 -m venv .venv
|
| 46 |
. .venv/bin/activate
|
| 47 |
pip install -r requirements.txt
|
| 48 |
+
mkdir -p .cache/advisor-dashboard
|
| 49 |
+
ADVISOR_CACHE_DIR=.cache/advisor-dashboard \
|
| 50 |
+
ADVISOR_MODEL_BACKEND=minicpm-transformers \
|
| 51 |
+
ADVISOR_MODEL_ID=openbmb/MiniCPM5-1B \
|
| 52 |
+
ADVISOR_ADAPTER_ID=build-small-hackathon/hackathon-advisor-minicpm5-lora \
|
| 53 |
+
ADVISOR_ADAPTER_REVISION=25de69bcde397e1bcdd852923b56a42f10222650 \
|
| 54 |
+
ADVISOR_QUEST_ANALYZER_BACKEND=minicpm-transformers \
|
| 55 |
python app.py
|
| 56 |
```
|
| 57 |
|
| 58 |
+
Then open <http://127.0.0.1:7860>. The atlas refresh button runs locally with the same artifact swap path used in
|
| 59 |
+
deployment. It writes refreshed runs under `.cache/advisor-dashboard/runs/` and atomically updates
|
| 60 |
+
`.cache/advisor-dashboard/latest.json`.
|
| 61 |
|
| 62 |
## Refresh The Project Snapshot
|
| 63 |
|
|
|
|
| 74 |
`ggml-org/embeddinggemma-300m-qat-q8_0-GGUF` through llama.cpp; runtime search embeds the user query with the same GGUF
|
| 75 |
model and performs local cosine search over the checked-in vectors.
|
| 76 |
|
| 77 |
+
## Live Project Atlas
|
| 78 |
+
|
| 79 |
+
`/api/dashboard` exposes the first-screen atlas payload: t-SNE coordinates, KMeans clusters, nearest-neighbor links,
|
| 80 |
+
quest coverage, provenance, and refresh status. The browser renders this as the default full-screen view; `#advisor`
|
| 81 |
+
opens the existing idea workflow.
|
| 82 |
+
|
| 83 |
+
`POST /api/dashboard/refresh` starts one background refresh job. The job snapshots public Spaces, rebuilds the GGUF
|
| 84 |
+
embedding index, runs strict JSON MiniCPM quest analysis, creates the atlas, persists the validated artifacts, and only
|
| 85 |
+
then swaps the live app to the new dashboard. `GET /api/dashboard/refresh` polls status.
|
| 86 |
+
|
| 87 |
+
Live refresh requires a writable dashboard cache directory at `ADVISOR_CACHE_DIR`. On Hugging Face Spaces this should be
|
| 88 |
+
a mounted Storage Bucket; locally it can be a normal directory such as `.cache/advisor-dashboard`. The job writes
|
| 89 |
+
`runs/{run_id}/projects.json`, `project_index.json`, `dashboard.json`, and `manifest.json`, then atomically updates
|
| 90 |
+
`latest.json`. If the cache directory is missing, not writable, or quest analysis fails validation, refresh fails and the
|
| 91 |
+
current validated dashboard stays active.
|
| 92 |
+
|
| 93 |
+
Set `ADVISOR_QUEST_ANALYZER_BACKEND=minicpm-transformers` for both local and deployed refresh runs. The local dashboard
|
| 94 |
+
uses the same MiniCPM analyzer as the deployed Space; test doubles are only used inside pytest.
|
| 95 |
+
|
| 96 |
## Trace Artifact
|
| 97 |
|
| 98 |
The app exposes a `trace_artifact` Gradio API endpoint for submission evidence and debugging. It emits a manifest row
|
|
|
|
| 217 |
ADVISOR_MODEL_ID=openbmb/MiniCPM5-1B
|
| 218 |
ADVISOR_ADAPTER_ID=build-small-hackathon/hackathon-advisor-minicpm5-lora
|
| 219 |
ADVISOR_ADAPTER_REVISION=25de69bcde397e1bcdd852923b56a42f10222650
|
| 220 |
+
ADVISOR_QUEST_ANALYZER_BACKEND=minicpm-transformers
|
| 221 |
+
ADVISOR_QUEST_ADAPTER_ID=artifacts/quest-lora
|
| 222 |
+
ADVISOR_CACHE_DIR=/data/advisor-cache
|
| 223 |
ADVISOR_EMBEDDING_MODEL_REPO=ggml-org/embeddinggemma-300m-qat-q8_0-GGUF
|
| 224 |
ADVISOR_EMBEDDING_MODEL_FILE=embeddinggemma-300m-qat-Q8_0.gguf
|
| 225 |
ADVISOR_ASR_MODEL_ID=nvidia/nemotron-speech-streaming-en-0.6b
|
| 226 |
```
|
| 227 |
|
| 228 |
`agent_turn` wraps the engine call with `spaces.GPU` when `ADVISOR_ZERO_GPU=1`, so model loading and generation run on
|
| 229 |
+
the ZeroGPU allocation. MiniCPM loading follows the official demo shape: tokenizer uses
|
| 230 |
+
`AutoTokenizer.from_pretrained(..., trust_remote_code=True)`, CUDA/ZeroGPU model loading uses
|
| 231 |
+
`AutoModelForCausalLM.from_pretrained(..., torch_dtype=torch.bfloat16, trust_remote_code=True).to("cuda")`, and prompts
|
| 232 |
+
are rendered with `apply_chat_template(..., tokenize=False, add_generation_prompt=True, enable_thinking=False)` before
|
| 233 |
+
tokenization. Generation follows the demo policy: temperature `> 0` uses `temperature=0.9`, `top_p=0.95`, and
|
| 234 |
+
`do_sample=True`; temperature `0` uses `do_sample=False`. The advisor tool planner uses temperature `0` for stable XML
|
| 235 |
+
tool calls, and dashboard quest analysis also uses temperature `0` so the MiniCPM LoRA emits strict JSON deterministically.
|
| 236 |
+
|
| 237 |
+
The retrieval query embedder downloads the GGUF model through `huggingface_hub` unless
|
| 238 |
`ADVISOR_EMBEDDING_MODEL_PATH` points to a local file. `/api/transcribe` uses the same ZeroGPU wrapper for Nemotron ASR.
|
| 239 |
+
On macOS local runs, the app automatically runs llama.cpp query embedding in a worker process so the MiniCPM PyTorch
|
| 240 |
+
runtime and llama.cpp do not load conflicting OpenMP runtimes in the same Python process. Dashboard refresh also builds
|
| 241 |
+
the GGUF embedding index in a subprocess before returning to the app process for MiniCPM quest analysis.
|
|
|
|
| 242 |
|
| 243 |
## Test
|
| 244 |
|
app.py
CHANGED
|
@@ -1,10 +1,15 @@
|
|
| 1 |
from __future__ import annotations
|
| 2 |
|
|
|
|
| 3 |
import json
|
| 4 |
import os
|
| 5 |
from pathlib import Path
|
|
|
|
|
|
|
| 6 |
import tempfile
|
|
|
|
| 7 |
from typing import Any, Iterator
|
|
|
|
| 8 |
|
| 9 |
from fastapi import Body, File, HTTPException, UploadFile
|
| 10 |
from fastapi.responses import FileResponse, HTMLResponse, JSONResponse, Response, StreamingResponse
|
|
@@ -14,7 +19,15 @@ from hackathon_advisor.agent import AdvisorEngine
|
|
| 14 |
from hackathon_advisor.artifact_bundle import BUNDLE_FILENAME, build_demo_bundle_zip
|
| 15 |
from hackathon_advisor.asr_runtime import create_asr_transcriber
|
| 16 |
from hackathon_advisor.chapter import build_chapter_markdown
|
| 17 |
-
from hackathon_advisor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
from hackathon_advisor.demo_rehearsal import build_demo_rehearsal
|
| 19 |
from hackathon_advisor.model_runtime import create_tool_planner
|
| 20 |
from hackathon_advisor.profiling import (
|
|
@@ -27,6 +40,7 @@ from hackathon_advisor.lora_dataset import build_lora_dataset_jsonl
|
|
| 27 |
from hackathon_advisor.lora_training_kit import TRAINING_KIT_FILENAME, build_lora_training_kit_zip
|
| 28 |
from hackathon_advisor.png_export import artifact_png_filename, render_artifact_png
|
| 29 |
from hackathon_advisor.prize_ledger import prize_ledger
|
|
|
|
| 30 |
from hackathon_advisor.runtime_hooks import install_asyncio_cleanup_hook
|
| 31 |
from hackathon_advisor.submission_packet import build_submission_packet_markdown
|
| 32 |
from hackathon_advisor.tool_contracts import resolve_tool_call, tool_schemas
|
|
@@ -45,16 +59,49 @@ INDEX_PATH = ROOT / "data" / "project_index.json"
|
|
| 45 |
PROFILE_FIELDS = ["skills", "time", "preferences", "constraints"]
|
| 46 |
MAX_AUDIO_UPLOAD_BYTES = 25 * 1024 * 1024
|
| 47 |
AUDIO_UPLOAD_SUFFIXES = {".aac", ".aif", ".aiff", ".flac", ".m4a", ".mp3", ".oga", ".ogg", ".opus", ".wav", ".webm"}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
|
| 49 |
-
index = ProjectIndex.from_files(DATA_PATH, INDEX_PATH)
|
| 50 |
# Acceleration is automatic: on a ZeroGPU Space the GPU path uses accelerate device_map inside
|
| 51 |
# the @spaces.GPU fork; locally the device resolves CUDA -> Apple MPS -> CPU. CPU is only used
|
| 52 |
# as an explicit override or a quota fallback.
|
| 53 |
-
engine = AdvisorEngine(index, create_tool_planner(device="
|
| 54 |
voice_transcriber = create_asr_transcriber()
|
| 55 |
app = Server()
|
| 56 |
|
| 57 |
_cpu_engine: AdvisorEngine | None = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
|
| 59 |
|
| 60 |
def _json_event(payload: dict) -> str:
|
|
@@ -81,6 +128,185 @@ def _transcribe_voice(audio_path: str) -> dict[str, Any]:
|
|
| 81 |
return voice_transcriber.transcribe(Path(audio_path)).to_dict()
|
| 82 |
|
| 83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
def _session_from_json(session_json: str = "{}") -> dict[str, Any]:
|
| 85 |
try:
|
| 86 |
session = json.loads(session_json or "{}")
|
|
@@ -174,6 +400,28 @@ def static_file(path: str) -> FileResponse:
|
|
| 174 |
return FileResponse(target)
|
| 175 |
|
| 176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 177 |
@app.get("/health")
|
| 178 |
def health() -> dict:
|
| 179 |
return {
|
|
|
|
| 1 |
from __future__ import annotations
|
| 2 |
|
| 3 |
+
from datetime import datetime, timezone
|
| 4 |
import json
|
| 5 |
import os
|
| 6 |
from pathlib import Path
|
| 7 |
+
import subprocess
|
| 8 |
+
import sys
|
| 9 |
import tempfile
|
| 10 |
+
from threading import Lock, Thread
|
| 11 |
from typing import Any, Iterator
|
| 12 |
+
from uuid import uuid4
|
| 13 |
|
| 14 |
from fastapi import Body, File, HTTPException, UploadFile
|
| 15 |
from fastapi.responses import FileResponse, HTMLResponse, JSONResponse, Response, StreamingResponse
|
|
|
|
| 19 |
from hackathon_advisor.artifact_bundle import BUNDLE_FILENAME, build_demo_bundle_zip
|
| 20 |
from hackathon_advisor.asr_runtime import create_asr_transcriber
|
| 21 |
from hackathon_advisor.chapter import build_chapter_markdown
|
| 22 |
+
from hackathon_advisor.dashboard import build_dashboard_payload
|
| 23 |
+
from hackathon_advisor.dashboard_storage import (
|
| 24 |
+
DashboardStorageError,
|
| 25 |
+
cache_dir_from_env,
|
| 26 |
+
load_latest_artifacts,
|
| 27 |
+
persist_refresh_artifacts,
|
| 28 |
+
require_writable_cache_dir,
|
| 29 |
+
)
|
| 30 |
+
from hackathon_advisor.data import DEFAULT_EMBEDDING_MODEL_FILE, DEFAULT_EMBEDDING_MODEL_REPO, Project, ProjectIndex
|
| 31 |
from hackathon_advisor.demo_rehearsal import build_demo_rehearsal
|
| 32 |
from hackathon_advisor.model_runtime import create_tool_planner
|
| 33 |
from hackathon_advisor.profiling import (
|
|
|
|
| 40 |
from hackathon_advisor.lora_training_kit import TRAINING_KIT_FILENAME, build_lora_training_kit_zip
|
| 41 |
from hackathon_advisor.png_export import artifact_png_filename, render_artifact_png
|
| 42 |
from hackathon_advisor.prize_ledger import prize_ledger
|
| 43 |
+
from hackathon_advisor.quest_analysis import create_quest_analyzer, validate_matches_by_project
|
| 44 |
from hackathon_advisor.runtime_hooks import install_asyncio_cleanup_hook
|
| 45 |
from hackathon_advisor.submission_packet import build_submission_packet_markdown
|
| 46 |
from hackathon_advisor.tool_contracts import resolve_tool_call, tool_schemas
|
|
|
|
| 59 |
PROFILE_FIELDS = ["skills", "time", "preferences", "constraints"]
|
| 60 |
MAX_AUDIO_UPLOAD_BYTES = 25 * 1024 * 1024
|
| 61 |
AUDIO_UPLOAD_SUFFIXES = {".aac", ".aif", ".aiff", ".flac", ".m4a", ".mp3", ".oga", ".ogg", ".opus", ".wav", ".webm"}
|
| 62 |
+
DEFAULT_HF_ORG = "build-small-hackathon"
|
| 63 |
+
REFRESH_STAGE_LABELS = {
|
| 64 |
+
"crawling": "Fetching public Spaces",
|
| 65 |
+
"embedding": "Rebuilding the embedding index",
|
| 66 |
+
"quest_analysis": "Classifying quest coverage",
|
| 67 |
+
"atlas": "Projecting the atlas",
|
| 68 |
+
"persisting": "Writing dashboard artifacts",
|
| 69 |
+
"swapping": "Activating the latest dashboard",
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
_runtime_lock = Lock()
|
| 73 |
+
_refresh_lock = Lock()
|
| 74 |
+
|
| 75 |
+
|
| 76 |
+
def _load_initial_runtime() -> tuple[ProjectIndex, dict[str, Any]]:
|
| 77 |
+
artifacts = load_latest_artifacts(cache_dir_from_env())
|
| 78 |
+
if artifacts is not None:
|
| 79 |
+
loaded_index = ProjectIndex.from_files(artifacts.projects_path, artifacts.index_path)
|
| 80 |
+
return loaded_index, artifacts.dashboard
|
| 81 |
+
loaded_index = ProjectIndex.from_files(DATA_PATH, INDEX_PATH)
|
| 82 |
+
return loaded_index, build_dashboard_payload(loaded_index)
|
| 83 |
+
|
| 84 |
+
|
| 85 |
+
index, dashboard_payload = _load_initial_runtime()
|
| 86 |
|
|
|
|
| 87 |
# Acceleration is automatic: on a ZeroGPU Space the GPU path uses accelerate device_map inside
|
| 88 |
# the @spaces.GPU fork; locally the device resolves CUDA -> Apple MPS -> CPU. CPU is only used
|
| 89 |
# as an explicit override or a quota fallback.
|
| 90 |
+
engine = AdvisorEngine(index, create_tool_planner(device="cuda" if zero_gpu_enabled() else "local"))
|
| 91 |
voice_transcriber = create_asr_transcriber()
|
| 92 |
app = Server()
|
| 93 |
|
| 94 |
_cpu_engine: AdvisorEngine | None = None
|
| 95 |
+
_refresh_state: dict[str, Any] = {
|
| 96 |
+
"status": "idle",
|
| 97 |
+
"run_id": "",
|
| 98 |
+
"stage": "",
|
| 99 |
+
"stage_label": "",
|
| 100 |
+
"started_at": "",
|
| 101 |
+
"finished_at": "",
|
| 102 |
+
"error": "",
|
| 103 |
+
"result": None,
|
| 104 |
+
}
|
| 105 |
|
| 106 |
|
| 107 |
def _json_event(payload: dict) -> str:
|
|
|
|
| 128 |
return voice_transcriber.transcribe(Path(audio_path)).to_dict()
|
| 129 |
|
| 130 |
|
| 131 |
+
@gpu_task
|
| 132 |
+
def _analyze_dashboard_quests(project_rows: list[dict[str, Any]]) -> dict[str, Any]:
|
| 133 |
+
missing_evidence_keys = [
|
| 134 |
+
str(item.get("id") or index)
|
| 135 |
+
for index, item in enumerate(project_rows)
|
| 136 |
+
if "readme_body" not in item or "app_file_source" not in item
|
| 137 |
+
]
|
| 138 |
+
if missing_evidence_keys:
|
| 139 |
+
raise RuntimeError(
|
| 140 |
+
"dashboard quest analysis requires refresh snapshots with readme_body and app_file_source; "
|
| 141 |
+
f"missing evidence keys for {len(missing_evidence_keys)} projects"
|
| 142 |
+
)
|
| 143 |
+
projects = [Project.from_dict(item) for item in project_rows]
|
| 144 |
+
analyzer = create_quest_analyzer(device="cuda" if zero_gpu_enabled() else "local")
|
| 145 |
+
matches = analyzer.analyze(projects)
|
| 146 |
+
source = getattr(analyzer, "source", "quest-analyzer")
|
| 147 |
+
validated = validate_matches_by_project(matches, projects, source=source)
|
| 148 |
+
return {
|
| 149 |
+
"source": validated.source,
|
| 150 |
+
"matches_by_project": validated.matches_by_project,
|
| 151 |
+
}
|
| 152 |
+
|
| 153 |
+
|
| 154 |
+
def _refresh_public_state() -> dict[str, Any]:
|
| 155 |
+
with _refresh_lock:
|
| 156 |
+
return dict(_refresh_state)
|
| 157 |
+
|
| 158 |
+
|
| 159 |
+
def _set_refresh_state(**updates: Any) -> None:
|
| 160 |
+
with _refresh_lock:
|
| 161 |
+
_refresh_state.update(updates)
|
| 162 |
+
stage = str(_refresh_state.get("stage") or "")
|
| 163 |
+
_refresh_state["stage_label"] = REFRESH_STAGE_LABELS.get(stage, "")
|
| 164 |
+
|
| 165 |
+
|
| 166 |
+
def _start_refresh_thread(cache_dir: Path) -> dict[str, Any]:
|
| 167 |
+
with _refresh_lock:
|
| 168 |
+
if _refresh_state.get("status") == "running":
|
| 169 |
+
raise HTTPException(status_code=409, detail="Dashboard refresh is already running.")
|
| 170 |
+
run_id = datetime.now(timezone.utc).strftime("%Y%m%dT%H%M%SZ") + "-" + uuid4().hex[:8]
|
| 171 |
+
_refresh_state.update(
|
| 172 |
+
{
|
| 173 |
+
"status": "running",
|
| 174 |
+
"run_id": run_id,
|
| 175 |
+
"stage": "crawling",
|
| 176 |
+
"stage_label": REFRESH_STAGE_LABELS["crawling"],
|
| 177 |
+
"started_at": datetime.now(timezone.utc).isoformat(timespec="seconds"),
|
| 178 |
+
"finished_at": "",
|
| 179 |
+
"error": "",
|
| 180 |
+
"result": None,
|
| 181 |
+
}
|
| 182 |
+
)
|
| 183 |
+
thread = Thread(target=_run_refresh_job, args=(run_id, cache_dir), daemon=True)
|
| 184 |
+
thread.start()
|
| 185 |
+
return _refresh_public_state()
|
| 186 |
+
|
| 187 |
+
|
| 188 |
+
def _run_refresh_job(run_id: str, cache_dir: Path) -> None:
|
| 189 |
+
try:
|
| 190 |
+
projects_payload, index_payload, refreshed_dashboard = _build_refresh_payloads(run_id)
|
| 191 |
+
_set_refresh_state(stage="persisting")
|
| 192 |
+
artifacts = persist_refresh_artifacts(
|
| 193 |
+
cache_dir,
|
| 194 |
+
run_id,
|
| 195 |
+
projects_payload=projects_payload,
|
| 196 |
+
index_payload=index_payload,
|
| 197 |
+
dashboard_payload=refreshed_dashboard,
|
| 198 |
+
)
|
| 199 |
+
_set_refresh_state(stage="swapping")
|
| 200 |
+
_replace_runtime_from_files(artifacts.projects_path, artifacts.index_path, artifacts.dashboard)
|
| 201 |
+
_set_refresh_state(
|
| 202 |
+
status="succeeded",
|
| 203 |
+
stage="",
|
| 204 |
+
finished_at=datetime.now(timezone.utc).isoformat(timespec="seconds"),
|
| 205 |
+
result={
|
| 206 |
+
"run_id": run_id,
|
| 207 |
+
"project_count": refreshed_dashboard["project_count"],
|
| 208 |
+
"snapshot_digest": refreshed_dashboard["provenance"]["snapshot_digest"],
|
| 209 |
+
"dashboard_generated_at": refreshed_dashboard["generated_at"],
|
| 210 |
+
},
|
| 211 |
+
)
|
| 212 |
+
except Exception as error: # noqa: BLE001 - background job must report every failure as state
|
| 213 |
+
_set_refresh_state(
|
| 214 |
+
status="failed",
|
| 215 |
+
stage="",
|
| 216 |
+
finished_at=datetime.now(timezone.utc).isoformat(timespec="seconds"),
|
| 217 |
+
error=str(error),
|
| 218 |
+
result=None,
|
| 219 |
+
)
|
| 220 |
+
|
| 221 |
+
|
| 222 |
+
def _build_refresh_payloads(run_id: str) -> tuple[dict[str, Any], dict[str, Any], dict[str, Any]]:
|
| 223 |
+
from scripts.crawl_hf_spaces import API, crawl_projects
|
| 224 |
+
|
| 225 |
+
org = os.environ.get("ADVISOR_HF_ORG", DEFAULT_HF_ORG).strip() or DEFAULT_HF_ORG
|
| 226 |
+
_set_refresh_state(stage="crawling")
|
| 227 |
+
project_rows = sorted(crawl_projects(org), key=lambda project: project["id"].lower())
|
| 228 |
+
projects_payload = {
|
| 229 |
+
"generated_at": datetime.now(timezone.utc).isoformat(timespec="seconds"),
|
| 230 |
+
"source": f"{API}/spaces?author={org}",
|
| 231 |
+
"projects": project_rows,
|
| 232 |
+
}
|
| 233 |
+
|
| 234 |
+
_set_refresh_state(stage="embedding")
|
| 235 |
+
with tempfile.TemporaryDirectory(prefix="advisor-refresh-") as directory:
|
| 236 |
+
project_path = Path(directory) / "projects.json"
|
| 237 |
+
project_path.write_text(json.dumps(projects_payload, ensure_ascii=False), encoding="utf-8")
|
| 238 |
+
index_payload = _build_refresh_index_payload(project_path, Path(directory) / "project_index.json")
|
| 239 |
+
|
| 240 |
+
projects = [Project.from_dict(item) for item in projects_payload["projects"]]
|
| 241 |
+
refreshed_index = ProjectIndex(
|
| 242 |
+
projects=projects,
|
| 243 |
+
generated_at=str(projects_payload["generated_at"]),
|
| 244 |
+
source=str(projects_payload["source"]),
|
| 245 |
+
index_payload=index_payload,
|
| 246 |
+
)
|
| 247 |
+
|
| 248 |
+
_set_refresh_state(stage="quest_analysis")
|
| 249 |
+
quest_analysis = _analyze_dashboard_quests([project.to_refresh_snapshot_dict() for project in projects])
|
| 250 |
+
_set_refresh_state(stage="atlas")
|
| 251 |
+
refreshed_dashboard = build_dashboard_payload(
|
| 252 |
+
refreshed_index,
|
| 253 |
+
quest_matches=quest_analysis["matches_by_project"],
|
| 254 |
+
quest_source=str(quest_analysis["source"]),
|
| 255 |
+
)
|
| 256 |
+
return projects_payload, index_payload, refreshed_dashboard
|
| 257 |
+
|
| 258 |
+
|
| 259 |
+
def _build_refresh_index_payload(project_path: Path, index_path: Path) -> dict[str, Any]:
|
| 260 |
+
command = [
|
| 261 |
+
sys.executable,
|
| 262 |
+
str(ROOT / "scripts" / "build_project_index.py"),
|
| 263 |
+
"--projects",
|
| 264 |
+
str(project_path),
|
| 265 |
+
"--out",
|
| 266 |
+
str(index_path),
|
| 267 |
+
"--model-repo",
|
| 268 |
+
os.environ.get("ADVISOR_EMBEDDING_MODEL_REPO", DEFAULT_EMBEDDING_MODEL_REPO),
|
| 269 |
+
"--model-file",
|
| 270 |
+
os.environ.get("ADVISOR_EMBEDDING_MODEL_FILE", DEFAULT_EMBEDDING_MODEL_FILE),
|
| 271 |
+
"--build-source",
|
| 272 |
+
"space dashboard refresh",
|
| 273 |
+
"--builder",
|
| 274 |
+
"app.py:/api/dashboard/refresh",
|
| 275 |
+
]
|
| 276 |
+
model_path = os.environ.get("ADVISOR_EMBEDDING_MODEL_PATH", "").strip()
|
| 277 |
+
if model_path:
|
| 278 |
+
command.extend(["--model-path", model_path])
|
| 279 |
+
n_ctx = os.environ.get("ADVISOR_EMBEDDING_N_CTX", "").strip()
|
| 280 |
+
if n_ctx:
|
| 281 |
+
command.extend(["--n-ctx", n_ctx])
|
| 282 |
+
n_threads = os.environ.get("ADVISOR_EMBEDDING_THREADS", "").strip()
|
| 283 |
+
if n_threads:
|
| 284 |
+
command.extend(["--n-threads", n_threads])
|
| 285 |
+
|
| 286 |
+
completed = subprocess.run(command, cwd=ROOT, capture_output=True, text=True, check=False)
|
| 287 |
+
if completed.returncode != 0:
|
| 288 |
+
detail = "\n".join(part for part in (completed.stdout.strip(), completed.stderr.strip()) if part)
|
| 289 |
+
raise RuntimeError(f"refresh embedding index build failed with exit code {completed.returncode}: {detail}")
|
| 290 |
+
try:
|
| 291 |
+
payload = json.loads(index_path.read_text(encoding="utf-8"))
|
| 292 |
+
except (OSError, json.JSONDecodeError) as error:
|
| 293 |
+
raise RuntimeError(f"refresh embedding index build did not write valid JSON: {index_path}") from error
|
| 294 |
+
if not isinstance(payload, dict):
|
| 295 |
+
raise RuntimeError("refresh embedding index build returned a non-object JSON payload")
|
| 296 |
+
return payload
|
| 297 |
+
|
| 298 |
+
|
| 299 |
+
def _replace_runtime_from_files(projects_path: Path, index_path: Path, refreshed_dashboard: dict[str, Any]) -> None:
|
| 300 |
+
global index, engine, _cpu_engine, dashboard_payload
|
| 301 |
+
new_index = ProjectIndex.from_files(projects_path, index_path)
|
| 302 |
+
with _runtime_lock:
|
| 303 |
+
index = new_index
|
| 304 |
+
engine = AdvisorEngine(new_index, engine.planner)
|
| 305 |
+
if _cpu_engine is not None:
|
| 306 |
+
_cpu_engine = AdvisorEngine(new_index, _cpu_engine.planner)
|
| 307 |
+
dashboard_payload = refreshed_dashboard
|
| 308 |
+
|
| 309 |
+
|
| 310 |
def _session_from_json(session_json: str = "{}") -> dict[str, Any]:
|
| 311 |
try:
|
| 312 |
session = json.loads(session_json or "{}")
|
|
|
|
| 400 |
return FileResponse(target)
|
| 401 |
|
| 402 |
|
| 403 |
+
@app.get("/api/dashboard")
|
| 404 |
+
def dashboard() -> dict:
|
| 405 |
+
with _runtime_lock:
|
| 406 |
+
payload = dict(dashboard_payload)
|
| 407 |
+
payload["refresh"] = _refresh_public_state()
|
| 408 |
+
return payload
|
| 409 |
+
|
| 410 |
+
|
| 411 |
+
@app.post("/api/dashboard/refresh")
|
| 412 |
+
def dashboard_refresh_start() -> JSONResponse:
|
| 413 |
+
try:
|
| 414 |
+
cache_dir = require_writable_cache_dir()
|
| 415 |
+
except DashboardStorageError as error:
|
| 416 |
+
raise HTTPException(status_code=400, detail=str(error)) from error
|
| 417 |
+
return JSONResponse(_start_refresh_thread(cache_dir), status_code=202)
|
| 418 |
+
|
| 419 |
+
|
| 420 |
+
@app.get("/api/dashboard/refresh")
|
| 421 |
+
def dashboard_refresh_status() -> dict:
|
| 422 |
+
return _refresh_public_state()
|
| 423 |
+
|
| 424 |
+
|
| 425 |
@app.get("/health")
|
| 426 |
def health() -> dict:
|
| 427 |
return {
|
artifacts/quest-lora/README.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
base_model: openbmb/MiniCPM5-1B
|
| 3 |
+
library_name: peft
|
| 4 |
+
datasets:
|
| 5 |
+
- build-small-hackathon/hackathon-advisor-quest-dataset
|
| 6 |
+
tags:
|
| 7 |
+
- lora
|
| 8 |
+
- hackathon-advisor
|
| 9 |
+
- quest-classification
|
| 10 |
+
license: apache-2.0
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
# Hackathon Advisor — Quest Classification LoRA (MiniCPM5-1B)
|
| 14 |
+
|
| 15 |
+
PEFT LoRA adapter that classifies a Build Small Hackathon project against 13 judging
|
| 16 |
+
dimensions (6 merit badges + 2 tracks + 5 sponsor/special awards) from a two-segment
|
| 17 |
+
README + app-file prompt, emitting strict JSON:
|
| 18 |
+
|
| 19 |
+
```json
|
| 20 |
+
{"matches":[{"quest":"...","confidence":0.0,"evidence":"...","source":"readme|app_file"}]}
|
| 21 |
+
```
|
| 22 |
+
|
| 23 |
+
Load it in the deployed Space by setting `ADVISOR_QUEST_ADAPTER_ID` to this repo.
|
| 24 |
+
The backend revalidates every dashboard refresh and will not swap on schema failure.
|
| 25 |
+
|
| 26 |
+
## Recipe
|
| 27 |
+
|
| 28 |
+
- Base model: `openbmb/MiniCPM5-1B`
|
| 29 |
+
- Task: `hackathon_advisor_quest_classification`
|
| 30 |
+
- Method: LoRA SFT (completion-only loss)
|
| 31 |
+
- Examples: 146
|
| 32 |
+
- Epochs: 6.0
|
| 33 |
+
- LoRA rank/alpha/dropout: 16/32/0.05
|
| 34 |
+
- Max seq length: 2560
|
| 35 |
+
- GPU: A10G
|
| 36 |
+
|
| 37 |
+
## Dataset
|
| 38 |
+
|
| 39 |
+
[`build-small-hackathon/hackathon-advisor-quest-dataset`](https://huggingface.co/datasets/build-small-hackathon/hackathon-advisor-quest-dataset) — 156 chat-JSONL examples built from real `build-small-hackathon` Spaces: 108 teacher-
|
| 40 |
+
labelled + adversarially-verified projects plus targeted augmentations (app-only,
|
| 41 |
+
readme-only / missing app file, README↔app contradictions, empty matches, noisy
|
| 42 |
+
metadata). All 13 quests covered.
|
| 43 |
+
|
| 44 |
+
## Self-eval at training time: 10/10 held-out prompts produced schema-valid JSON.
|
artifacts/quest-lora/adapter_config.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"alora_invocation_tokens": null,
|
| 3 |
+
"alpha_pattern": {},
|
| 4 |
+
"arrow_config": null,
|
| 5 |
+
"auto_mapping": null,
|
| 6 |
+
"base_model_name_or_path": "openbmb/MiniCPM5-1B",
|
| 7 |
+
"bias": "none",
|
| 8 |
+
"corda_config": null,
|
| 9 |
+
"ensure_weight_tying": false,
|
| 10 |
+
"eva_config": null,
|
| 11 |
+
"exclude_modules": null,
|
| 12 |
+
"fan_in_fan_out": false,
|
| 13 |
+
"inference_mode": true,
|
| 14 |
+
"init_lora_weights": true,
|
| 15 |
+
"layer_replication": null,
|
| 16 |
+
"layers_pattern": null,
|
| 17 |
+
"layers_to_transform": null,
|
| 18 |
+
"loftq_config": {},
|
| 19 |
+
"lora_alpha": 32,
|
| 20 |
+
"lora_bias": false,
|
| 21 |
+
"lora_dropout": 0.05,
|
| 22 |
+
"lora_ga_config": null,
|
| 23 |
+
"megatron_config": null,
|
| 24 |
+
"megatron_core": "megatron.core",
|
| 25 |
+
"modules_to_save": null,
|
| 26 |
+
"peft_type": "LORA",
|
| 27 |
+
"peft_version": "0.19.1",
|
| 28 |
+
"qalora_group_size": 16,
|
| 29 |
+
"r": 16,
|
| 30 |
+
"rank_pattern": {},
|
| 31 |
+
"revision": null,
|
| 32 |
+
"target_modules": [
|
| 33 |
+
"gate_proj",
|
| 34 |
+
"v_proj",
|
| 35 |
+
"o_proj",
|
| 36 |
+
"k_proj",
|
| 37 |
+
"q_proj",
|
| 38 |
+
"up_proj",
|
| 39 |
+
"down_proj"
|
| 40 |
+
],
|
| 41 |
+
"target_parameters": null,
|
| 42 |
+
"task_type": "CAUSAL_LM",
|
| 43 |
+
"trainable_token_indices": null,
|
| 44 |
+
"use_bdlora": null,
|
| 45 |
+
"use_dora": false,
|
| 46 |
+
"use_qalora": false,
|
| 47 |
+
"use_rslora": false
|
| 48 |
+
}
|
artifacts/quest-lora/adapter_model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0480796afd6869ee00b6e35b839b48d99ee9270ef848c7901907d328c0629508
|
| 3 |
+
size 44871152
|
artifacts/quest-lora/chat_template.jinja
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{{- bos_token }}{%- if tools %}
|
| 2 |
+
{%- set tool_definitions %}
|
| 3 |
+
{{- "# Tools\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
|
| 4 |
+
{%- for tool in tools %}
|
| 5 |
+
{{- "\n" }}
|
| 6 |
+
{{- tool | tojson(ensure_ascii=False) }}
|
| 7 |
+
{%- endfor %}
|
| 8 |
+
{{- '\n</tools>\n\nTool usage guidelines:\n- You may call zero or more functions. If no function calls are needed, just answer normally and do not include any <function ... </function>.\n- When calling a function, return an XML object within <function ... </function> using:\n<function name="function-name"><param name="param-name">param-value</param></function>\n- param-value may be multi-line. If it contains <, & or newline characters, wrap it in a CDATA block: <param name="param-name"><![CDATA[...multi-line value...]]></param>' }}
|
| 9 |
+
{%- endset %}
|
| 10 |
+
|
| 11 |
+
{{- '<|im_start|>system\n' }}
|
| 12 |
+
{%- if messages[0].role == 'system' %}
|
| 13 |
+
{%- if '<tool_def_sep>' in messages[0].content %}
|
| 14 |
+
{{- messages[0].content.replace('<tool_def_sep>', tool_definitions) }}
|
| 15 |
+
{%- else %}
|
| 16 |
+
{{- messages[0].content + '\n\n' + tool_definitions }}
|
| 17 |
+
{%- endif %}
|
| 18 |
+
{%- else %}
|
| 19 |
+
{{- tool_definitions.lstrip() }}
|
| 20 |
+
{%- endif %}
|
| 21 |
+
{{- '<|im_end|>\n' }}
|
| 22 |
+
{%- else %}
|
| 23 |
+
{%- if messages[0].role == 'system' %}
|
| 24 |
+
{{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
|
| 25 |
+
{%- endif %}
|
| 26 |
+
{%- endif %}
|
| 27 |
+
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
|
| 28 |
+
{%- for message in messages[::-1] %}
|
| 29 |
+
{%- set index = (messages|length - 1) - loop.index0 %}
|
| 30 |
+
{%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
|
| 31 |
+
{%- set ns.multi_step_tool = false %}
|
| 32 |
+
{%- set ns.last_query_index = index %}
|
| 33 |
+
{%- endif %}
|
| 34 |
+
{%- endfor %}
|
| 35 |
+
{%- for message in messages %}
|
| 36 |
+
{%- if message.content is string %}
|
| 37 |
+
{%- set content = message.content %}
|
| 38 |
+
{%- else %}
|
| 39 |
+
{%- set content = '' %}
|
| 40 |
+
{%- endif %}
|
| 41 |
+
{%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
|
| 42 |
+
{{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
|
| 43 |
+
{%- elif message.role == "assistant" %}
|
| 44 |
+
{%- set reasoning_content = '' %}
|
| 45 |
+
{%- if message.reasoning_content is string %}
|
| 46 |
+
{%- set reasoning_content = message.reasoning_content %}
|
| 47 |
+
{%- else %}
|
| 48 |
+
{%- if '</think>' in content %}
|
| 49 |
+
{%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
|
| 50 |
+
{%- set content = content.split('</think>')[-1].lstrip('\n') %}
|
| 51 |
+
{%- endif %}
|
| 52 |
+
{%- endif %}
|
| 53 |
+
|
| 54 |
+
{%- if message.tool_calls %}
|
| 55 |
+
{%- set content_parts = content.split('<tool_sep>') %}
|
| 56 |
+
{%- set processed_content = content_parts[0] %}
|
| 57 |
+
{%- set tool_calls_count = message.tool_calls|length %}
|
| 58 |
+
{%- set tool_sep_count = content_parts|length - 1 %}
|
| 59 |
+
{%- set min_count = [tool_calls_count, tool_sep_count]|min %}
|
| 60 |
+
|
| 61 |
+
{%- for i in range(1, content_parts|length) %}
|
| 62 |
+
{%- set tool_index = i - 1 %}
|
| 63 |
+
{%- if tool_index < tool_calls_count %}
|
| 64 |
+
{%- set tool_call = message.tool_calls[tool_index] %}
|
| 65 |
+
{%- if tool_call.function %}
|
| 66 |
+
{%- set tool_call = tool_call.function %}
|
| 67 |
+
{%- endif %}
|
| 68 |
+
{%- set single_tool_xml %}
|
| 69 |
+
{{- '<function name="' ~ tool_call.name ~ '">' }}
|
| 70 |
+
{%- if tool_call.arguments %}
|
| 71 |
+
{%- set args_dict = tool_call.arguments %}
|
| 72 |
+
{%- for param_name, param_value in args_dict.items() %}
|
| 73 |
+
{{- '<param name="' ~ param_name ~ '">' }}
|
| 74 |
+
{%- if param_value is string and ('<' in param_value or '&' in param_value or '\n' in param_value) %}
|
| 75 |
+
{{- '<![CDATA[' + param_value + ']]>' }}
|
| 76 |
+
{%- else %}
|
| 77 |
+
{{- param_value }}
|
| 78 |
+
{%- endif %}
|
| 79 |
+
{{- '</param>' }}
|
| 80 |
+
{%- endfor %}
|
| 81 |
+
{%- endif %}
|
| 82 |
+
{{- '</function>' }}
|
| 83 |
+
{%- endset %}
|
| 84 |
+
{%- set processed_content = processed_content + single_tool_xml + content_parts[i] %}
|
| 85 |
+
{%- else %}
|
| 86 |
+
{%- set processed_content = processed_content + content_parts[i] %}
|
| 87 |
+
{%- endif %}
|
| 88 |
+
{%- endfor %}
|
| 89 |
+
|
| 90 |
+
{%- if tool_calls_count > tool_sep_count %}
|
| 91 |
+
{%- for remaining_index in range(tool_sep_count, tool_calls_count) %}
|
| 92 |
+
{%- set tool_call = message.tool_calls[remaining_index] %}
|
| 93 |
+
{%- if tool_call.function %}
|
| 94 |
+
{%- set tool_call = tool_call.function %}
|
| 95 |
+
{%- endif %}
|
| 96 |
+
{%- set remaining_tool_xml %}
|
| 97 |
+
{{- '<function name="' ~ tool_call.name ~ '">' }}
|
| 98 |
+
{%- if tool_call.arguments %}
|
| 99 |
+
{%- set args_dict = tool_call.arguments %}
|
| 100 |
+
{%- for param_name, param_value in args_dict.items() %}
|
| 101 |
+
{{- '<param name="' ~ param_name ~ '">' }}
|
| 102 |
+
{%- if param_value is string and ('<' in param_value or '&' in param_value or '\n' in param_value) %}
|
| 103 |
+
{{- '<![CDATA[' + param_value + ']]>' }}
|
| 104 |
+
{%- else %}
|
| 105 |
+
{{- param_value }}
|
| 106 |
+
{%- endif %}
|
| 107 |
+
{{- '</param>' }}
|
| 108 |
+
{%- endfor %}
|
| 109 |
+
{%- endif %}
|
| 110 |
+
{{- '</function>' }}
|
| 111 |
+
{%- endset %}
|
| 112 |
+
{%- set processed_content = processed_content + remaining_tool_xml %}
|
| 113 |
+
{%- endfor %}
|
| 114 |
+
{%- endif %}
|
| 115 |
+
|
| 116 |
+
{%- set content = processed_content %}
|
| 117 |
+
{%- endif %}
|
| 118 |
+
|
| 119 |
+
{%- if loop.index0 > ns.last_query_index %}
|
| 120 |
+
{%- if reasoning_content %}
|
| 121 |
+
{{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
|
| 122 |
+
{%- else %}
|
| 123 |
+
{{- '<|im_start|>' + message.role + '\n' + content }}
|
| 124 |
+
{%- endif %}
|
| 125 |
+
{%- else %}
|
| 126 |
+
{{- '<|im_start|>' + message.role + '\n' + content }}
|
| 127 |
+
{%- endif %}
|
| 128 |
+
|
| 129 |
+
{%- if message.tool_calls and not has_tool_sep %}
|
| 130 |
+
{%- for tool_call in message.tool_calls %}
|
| 131 |
+
{%- if (loop.first and content) or (not loop.first) %}
|
| 132 |
+
{{- '\n' }}
|
| 133 |
+
{%- endif %}
|
| 134 |
+
{%- if tool_call.function %}
|
| 135 |
+
{%- set tool_call = tool_call.function %}
|
| 136 |
+
{%- endif %}
|
| 137 |
+
{{- '<function name="' ~ tool_call.name ~ '">' }}
|
| 138 |
+
{%- if tool_call.arguments %}
|
| 139 |
+
{%- set args_dict = tool_call.arguments %}
|
| 140 |
+
{%- for param_name, param_value in args_dict.items() %}
|
| 141 |
+
{{- '<param name="' ~ param_name ~ '">' }}
|
| 142 |
+
{%- if param_value is string and ('<' in param_value or '&' in param_value or '\n' in param_value) %}
|
| 143 |
+
{{- '<![CDATA[' + param_value + ']]>' }}
|
| 144 |
+
{%- else %}
|
| 145 |
+
{{- param_value }}
|
| 146 |
+
{%- endif %}
|
| 147 |
+
{{- '</param>' }}
|
| 148 |
+
{%- endfor %}
|
| 149 |
+
{%- endif %}
|
| 150 |
+
{{- '</function>' }}
|
| 151 |
+
{%- endfor %}
|
| 152 |
+
{%- endif %}
|
| 153 |
+
{{- '<|im_end|>\n' }}
|
| 154 |
+
{%- elif message.role == "tool" %}
|
| 155 |
+
{%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
|
| 156 |
+
{{- '<|im_start|>user' }}
|
| 157 |
+
{%- endif %}
|
| 158 |
+
{{- '\n<tool_response>\n' }}
|
| 159 |
+
{%- if message.content is string %}
|
| 160 |
+
{{- content }}
|
| 161 |
+
{%- else %}
|
| 162 |
+
{{- message.content | tojson(ensure_ascii=False) }}
|
| 163 |
+
{%- endif %}
|
| 164 |
+
{{- '\n</tool_response>' }}
|
| 165 |
+
{%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
|
| 166 |
+
{{- '<|im_end|>\n' }}
|
| 167 |
+
{%- endif %}
|
| 168 |
+
{%- endif %}
|
| 169 |
+
{%- endfor %}
|
| 170 |
+
{%- if add_generation_prompt %}
|
| 171 |
+
{{- '<|im_start|>assistant\n' }}
|
| 172 |
+
{%- if enable_thinking is defined %}
|
| 173 |
+
{%- if enable_thinking is false %}
|
| 174 |
+
{{- '<think>\n\n</think>\n\n' }}
|
| 175 |
+
{%- elif enable_thinking is true %}
|
| 176 |
+
{{- '<think>\n' }}
|
| 177 |
+
{%- endif %}
|
| 178 |
+
{%- endif %}
|
| 179 |
+
{%- endif %}
|
artifacts/quest-lora/self-eval.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"valid": 10,
|
| 3 |
+
"total": 10,
|
| 4 |
+
"samples": [
|
| 5 |
+
{
|
| 6 |
+
"project_id": "build-small-hackathon/AI-Puppet-Theater",
|
| 7 |
+
"valid_json": true,
|
| 8 |
+
"detail": "",
|
| 9 |
+
"output": "{\"matches\":[{\"quest\":\"OpenBMB\",\"confidence\":0.97,\"evidence\":\"OpenBMB model id: openbmb/MiniCPM5-1B\",\"source\":\"app_file\"},{\"quest\":\"Tiny Titan\",\"confidence\":0.93,\"evidence\":\"openbmb/MiniCPM5-1B is a 1B model\",\"source\":\"app_file\"},{\"quest\":\"Off-Brand\",\"confidence\":0.9,\"evidence\":\"CUSTOM_CSS overrides .gradio-container background\",\"source\":\"app_file\"},{\"quest\":\"Thousand Token Wood\",\"confidence\":0.85,"
|
| 10 |
+
},
|
| 11 |
+
{
|
| 12 |
+
"project_id": "build-small-hackathon/neilA",
|
| 13 |
+
"valid_json": true,
|
| 14 |
+
"detail": "",
|
| 15 |
+
"output": "{\"matches\":[{\"quest\":\"Thousand Token Wood\",\"confidence\":0.97,\"evidence\":\"teach an alien that knows human words but has never lived a human life\",\"source\":\"readme\"},{\"quest\":\"Off-Brand\",\"confidence\":0.9,\"evidence\":\"plain-Python concept ledger injected into the prompt each turn\",\"source\":\"app_file\"},{\"quest\":\"Off the Grid\",\"confidence\":0.78,\"evidence\":\"Only inference runs inside @spaces.GPU; all sta"
|
| 16 |
+
},
|
| 17 |
+
{
|
| 18 |
+
"project_id": "build-small-hackathon/Trollsona",
|
| 19 |
+
"valid_json": true,
|
| 20 |
+
"detail": "",
|
| 21 |
+
"output": "{\"matches\":[{\"quest\":\"Thousand Token Wood\",\"confidence\":0.97,\"evidence\":\"Track: An Adventure in Thousand Token Wood; playful troll alter ego; goblin meter\",\"source\":\"readme\"},{\"quest\":\"Tiny Titan\",\"confidence\":0.95,\"evidence\":\"compact RthItalia model derived from Qwen/Qwen2.5-3B-Instruct; lightweight Qwen 0.5B model\",\"source\":\"readme\"},{\"quest\":\"Off the Grid\",\"confidence\":0.9,\"evidence\":\"Local Hug"
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"project_id": "build-small-hackathon/hackathon-advisor",
|
| 25 |
+
"valid_json": true,
|
| 26 |
+
"detail": "",
|
| 27 |
+
"output": "{\"matches\":[{\"quest\":\"Llama Champion\",\"confidence\":0.97,\"evidence\":\"llama.cpp runtime, GGUF retrieval index, llama.cpp imports\",\"source\":\"readme\"},{\"quest\":\"Tiny Titan\",\"confidence\":0.93,\"evidence\":\"MiniCPM5 tool-call planning, published PEFT LoRA adapter\",\"source\":\"readme\"},{\"quest\":\"Off the Grid\",\"confidence\":0.9,\"evidence\":\"Local snapshot of public Spaces, Modal-built GGUF index, no cloud API\","
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"project_id": "build-small-hackathon/wan2-2-fp8da-aoti-14B-fast",
|
| 31 |
+
"valid_json": true,
|
| 32 |
+
"detail": "",
|
| 33 |
+
"output": "{\"matches\":[{\"quest\":\"Off the Grid\",\"confidence\":0.7,\"evidence\":\"diffusers.pipelines.wan.pipeline_wan_i2v import WanImageToVideoPipeline\",\"source\":\"app_file\"},{\"quest\":\"Tiny Titan\",\"confidence\":0.6,\"evidence\":\"from train_log.RIFE_HDv3 import Model\",\"source\":\"app_file\"}]}"
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"project_id": "build-small-hackathon/family-care-asr-eval",
|
| 37 |
+
"valid_json": true,
|
| 38 |
+
"detail": "",
|
| 39 |
+
"output": "{\"matches\":[{\"quest\":\"Well-Tuned\",\"confidence\":0.97,\"evidence\":\"teckedd/whisper_small-waxal_akan-asr-v1 fine-tune; GiftMark fallback\",\"source\":\"app_file\"},{\"quest\":\"Tiny Titan\",\"confidence\":0.97,\"evidence\":\"facebook/mms-1b-all (recommended): 1B parameter model\",\"source\":\"app_file\"},{\"quest\":\"Off the Grid\",\"confidence\":0.93,\"evidence\":\"Wav2Vec2ForCTC + WhisperForConditionalGeneration from transform"
|
| 40 |
+
},
|
| 41 |
+
{
|
| 42 |
+
"project_id": "build-small-hackathon/GRM-2.6-Opus",
|
| 43 |
+
"valid_json": true,
|
| 44 |
+
"detail": "",
|
| 45 |
+
"output": "{\"matches\":[{\"quest\":\"Off the Grid\",\"confidence\":0.97,\"evidence\":\"AutoModelForCausalLM.from_pretrained(MODEL_ID)... no cloud API client\",\"source\":\"app_file\"},{\"quest\":\"Tiny Titan\",\"confidence\":0.93,\"evidence\":\"OrionLLM/GRM-2.6-Opus (3.6B) model declared\",\"source\":\"app_file\"}]}"
|
| 46 |
+
},
|
| 47 |
+
{
|
| 48 |
+
"project_id": "build-small-hackathon/backyard-raccoon-deterrent",
|
| 49 |
+
"valid_json": true,
|
| 50 |
+
"detail": "",
|
| 51 |
+
"output": "{\"matches\":[{\"quest\":\"Backyard AI\",\"confidence\":0.97,\"evidence\":\"Ring camera sees raccoons; U.S. federal wildlife control killed over 375,000 native animals\",\"source\":\"readme\"},{\"quest\":\"Off the Grid\",\"confidence\":0.95,\"evidence\":\"runs fully offline: no cloud APIs; YOLO weights ship in the repo\",\"source\":\"app_file\"},{\"quest\":\"Well-Tuned\",\"confidence\":0.9,\"evidence\":\"Fine-tuned YOLOv8n raccoon dete"
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"project_id": "build-small-hackathon/global-leaders",
|
| 55 |
+
"valid_json": true,
|
| 56 |
+
"detail": "",
|
| 57 |
+
"output": "{\"matches\":[{\"quest\":\"Nemotron\",\"confidence\":0.97,\"evidence\":\"Ollama Cloud (Nemotron) if OLLAMA_API_KEY is set\",\"source\":\"app_file\"},{\"quest\":\"Off-Brand\",\"confidence\":0.93,\"evidence\":\"Backend: Ollama Cloud (Nemotron) if OLLAMA_API_KEY is set\",\"source\":\"app_file\"}]}"
|
| 58 |
+
},
|
| 59 |
+
{
|
| 60 |
+
"project_id": "build-small-hackathon/The-Shrine",
|
| 61 |
+
"valid_json": true,
|
| 62 |
+
"detail": "",
|
| 63 |
+
"output": "{\"matches\":[{\"quest\":\"Off the Grid\",\"confidence\":0.97,\"evidence\":\"local monologue engine works offline\",\"source\":\"app_file\"},{\"quest\":\"Off-Brand\",\"confidence\":0.9,\"evidence\":\"Custom Canvas + vanilla JS (60+ monologue phrases)\",\"source\":\"readme\"},{\"quest\":\"Well-Tuned\",\"confidence\":0.85,\"evidence\":\"QwEN_MODEL = \\\"qwen-max\\\"\",\"source\":\"app_file\"}]}"
|
| 64 |
+
}
|
| 65 |
+
]
|
| 66 |
+
}
|
artifacts/quest-lora/special_tokens_map.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token": {
|
| 3 |
+
"content": "<s>",
|
| 4 |
+
"lstrip": false,
|
| 5 |
+
"normalized": false,
|
| 6 |
+
"rstrip": false,
|
| 7 |
+
"single_word": false
|
| 8 |
+
},
|
| 9 |
+
"eos_token": {
|
| 10 |
+
"content": "</s>",
|
| 11 |
+
"lstrip": false,
|
| 12 |
+
"normalized": false,
|
| 13 |
+
"rstrip": false,
|
| 14 |
+
"single_word": false
|
| 15 |
+
},
|
| 16 |
+
"pad_token": {
|
| 17 |
+
"content": "</s>",
|
| 18 |
+
"lstrip": false,
|
| 19 |
+
"normalized": false,
|
| 20 |
+
"rstrip": false,
|
| 21 |
+
"single_word": false
|
| 22 |
+
},
|
| 23 |
+
"unk_token": {
|
| 24 |
+
"content": "<unk>",
|
| 25 |
+
"lstrip": false,
|
| 26 |
+
"normalized": false,
|
| 27 |
+
"rstrip": false,
|
| 28 |
+
"single_word": false
|
| 29 |
+
}
|
| 30 |
+
}
|
artifacts/quest-lora/tokenizer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
artifacts/quest-lora/tokenizer_config.json
ADDED
|
@@ -0,0 +1,4099 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_bos_token": false,
|
| 3 |
+
"add_eos_token": false,
|
| 4 |
+
"add_prefix_space": null,
|
| 5 |
+
"added_tokens_decoder": {
|
| 6 |
+
"0": {
|
| 7 |
+
"content": "<s>",
|
| 8 |
+
"lstrip": false,
|
| 9 |
+
"normalized": false,
|
| 10 |
+
"rstrip": false,
|
| 11 |
+
"single_word": false,
|
| 12 |
+
"special": true
|
| 13 |
+
},
|
| 14 |
+
"1": {
|
| 15 |
+
"content": "</s>",
|
| 16 |
+
"lstrip": false,
|
| 17 |
+
"normalized": false,
|
| 18 |
+
"rstrip": false,
|
| 19 |
+
"single_word": false,
|
| 20 |
+
"special": true
|
| 21 |
+
},
|
| 22 |
+
"2": {
|
| 23 |
+
"content": "<tool_call>",
|
| 24 |
+
"lstrip": false,
|
| 25 |
+
"normalized": false,
|
| 26 |
+
"rstrip": false,
|
| 27 |
+
"single_word": false,
|
| 28 |
+
"special": true
|
| 29 |
+
},
|
| 30 |
+
"3": {
|
| 31 |
+
"content": "</tool_call>",
|
| 32 |
+
"lstrip": false,
|
| 33 |
+
"normalized": false,
|
| 34 |
+
"rstrip": false,
|
| 35 |
+
"single_word": false,
|
| 36 |
+
"special": true
|
| 37 |
+
},
|
| 38 |
+
"4": {
|
| 39 |
+
"content": "<|im_sep|>",
|
| 40 |
+
"lstrip": false,
|
| 41 |
+
"normalized": false,
|
| 42 |
+
"rstrip": false,
|
| 43 |
+
"single_word": false,
|
| 44 |
+
"special": true
|
| 45 |
+
},
|
| 46 |
+
"5": {
|
| 47 |
+
"content": "<|fim_prefix|>",
|
| 48 |
+
"lstrip": false,
|
| 49 |
+
"normalized": false,
|
| 50 |
+
"rstrip": false,
|
| 51 |
+
"single_word": false,
|
| 52 |
+
"special": true
|
| 53 |
+
},
|
| 54 |
+
"6": {
|
| 55 |
+
"content": "<|fim_middle|>",
|
| 56 |
+
"lstrip": false,
|
| 57 |
+
"normalized": false,
|
| 58 |
+
"rstrip": false,
|
| 59 |
+
"single_word": false,
|
| 60 |
+
"special": true
|
| 61 |
+
},
|
| 62 |
+
"7": {
|
| 63 |
+
"content": "<|fim_suffix|>",
|
| 64 |
+
"lstrip": false,
|
| 65 |
+
"normalized": false,
|
| 66 |
+
"rstrip": false,
|
| 67 |
+
"single_word": false,
|
| 68 |
+
"special": true
|
| 69 |
+
},
|
| 70 |
+
"8": {
|
| 71 |
+
"content": "<think>",
|
| 72 |
+
"lstrip": false,
|
| 73 |
+
"normalized": false,
|
| 74 |
+
"rstrip": false,
|
| 75 |
+
"single_word": false,
|
| 76 |
+
"special": false
|
| 77 |
+
},
|
| 78 |
+
"9": {
|
| 79 |
+
"content": "</think>",
|
| 80 |
+
"lstrip": false,
|
| 81 |
+
"normalized": false,
|
| 82 |
+
"rstrip": false,
|
| 83 |
+
"single_word": false,
|
| 84 |
+
"special": false
|
| 85 |
+
},
|
| 86 |
+
"10": {
|
| 87 |
+
"content": "<tool_response>",
|
| 88 |
+
"lstrip": false,
|
| 89 |
+
"normalized": false,
|
| 90 |
+
"rstrip": false,
|
| 91 |
+
"single_word": false,
|
| 92 |
+
"special": true
|
| 93 |
+
},
|
| 94 |
+
"11": {
|
| 95 |
+
"content": "</tool_response>",
|
| 96 |
+
"lstrip": false,
|
| 97 |
+
"normalized": false,
|
| 98 |
+
"rstrip": false,
|
| 99 |
+
"single_word": false,
|
| 100 |
+
"special": true
|
| 101 |
+
},
|
| 102 |
+
"12": {
|
| 103 |
+
"content": "<tools>",
|
| 104 |
+
"lstrip": false,
|
| 105 |
+
"normalized": false,
|
| 106 |
+
"rstrip": false,
|
| 107 |
+
"single_word": false,
|
| 108 |
+
"special": true
|
| 109 |
+
},
|
| 110 |
+
"13": {
|
| 111 |
+
"content": "</tools>",
|
| 112 |
+
"lstrip": false,
|
| 113 |
+
"normalized": false,
|
| 114 |
+
"rstrip": false,
|
| 115 |
+
"single_word": false,
|
| 116 |
+
"special": true
|
| 117 |
+
},
|
| 118 |
+
"14": {
|
| 119 |
+
"content": "<arguments>",
|
| 120 |
+
"lstrip": false,
|
| 121 |
+
"normalized": false,
|
| 122 |
+
"rstrip": false,
|
| 123 |
+
"single_word": false,
|
| 124 |
+
"special": true
|
| 125 |
+
},
|
| 126 |
+
"15": {
|
| 127 |
+
"content": "</arguments>",
|
| 128 |
+
"lstrip": false,
|
| 129 |
+
"normalized": false,
|
| 130 |
+
"rstrip": false,
|
| 131 |
+
"single_word": false,
|
| 132 |
+
"special": true
|
| 133 |
+
},
|
| 134 |
+
"16": {
|
| 135 |
+
"content": "<parameters>",
|
| 136 |
+
"lstrip": false,
|
| 137 |
+
"normalized": false,
|
| 138 |
+
"rstrip": false,
|
| 139 |
+
"single_word": false,
|
| 140 |
+
"special": true
|
| 141 |
+
},
|
| 142 |
+
"17": {
|
| 143 |
+
"content": "</parameters>",
|
| 144 |
+
"lstrip": false,
|
| 145 |
+
"normalized": false,
|
| 146 |
+
"rstrip": false,
|
| 147 |
+
"single_word": false,
|
| 148 |
+
"special": true
|
| 149 |
+
},
|
| 150 |
+
"18": {
|
| 151 |
+
"content": "<function",
|
| 152 |
+
"lstrip": false,
|
| 153 |
+
"normalized": false,
|
| 154 |
+
"rstrip": false,
|
| 155 |
+
"single_word": false,
|
| 156 |
+
"special": true
|
| 157 |
+
},
|
| 158 |
+
"19": {
|
| 159 |
+
"content": "</function>",
|
| 160 |
+
"lstrip": false,
|
| 161 |
+
"normalized": false,
|
| 162 |
+
"rstrip": false,
|
| 163 |
+
"single_word": false,
|
| 164 |
+
"special": true
|
| 165 |
+
},
|
| 166 |
+
"20": {
|
| 167 |
+
"content": "<param",
|
| 168 |
+
"lstrip": false,
|
| 169 |
+
"normalized": false,
|
| 170 |
+
"rstrip": false,
|
| 171 |
+
"single_word": false,
|
| 172 |
+
"special": true
|
| 173 |
+
},
|
| 174 |
+
"21": {
|
| 175 |
+
"content": "</param>",
|
| 176 |
+
"lstrip": false,
|
| 177 |
+
"normalized": false,
|
| 178 |
+
"rstrip": false,
|
| 179 |
+
"single_word": false,
|
| 180 |
+
"special": true
|
| 181 |
+
},
|
| 182 |
+
"130072": {
|
| 183 |
+
"content": "<|im_start|>",
|
| 184 |
+
"lstrip": false,
|
| 185 |
+
"normalized": false,
|
| 186 |
+
"rstrip": false,
|
| 187 |
+
"single_word": false,
|
| 188 |
+
"special": true
|
| 189 |
+
},
|
| 190 |
+
"130073": {
|
| 191 |
+
"content": "<|im_end|>",
|
| 192 |
+
"lstrip": false,
|
| 193 |
+
"normalized": false,
|
| 194 |
+
"rstrip": false,
|
| 195 |
+
"single_word": false,
|
| 196 |
+
"special": true
|
| 197 |
+
},
|
| 198 |
+
"130074": {
|
| 199 |
+
"content": "<unk>",
|
| 200 |
+
"lstrip": false,
|
| 201 |
+
"normalized": false,
|
| 202 |
+
"rstrip": false,
|
| 203 |
+
"single_word": false,
|
| 204 |
+
"special": true
|
| 205 |
+
},
|
| 206 |
+
"130075": {
|
| 207 |
+
"content": "<|thought_begin|>",
|
| 208 |
+
"lstrip": false,
|
| 209 |
+
"normalized": false,
|
| 210 |
+
"rstrip": false,
|
| 211 |
+
"single_word": false,
|
| 212 |
+
"special": true
|
| 213 |
+
},
|
| 214 |
+
"130076": {
|
| 215 |
+
"content": "<|thought_end|>",
|
| 216 |
+
"lstrip": false,
|
| 217 |
+
"normalized": false,
|
| 218 |
+
"rstrip": false,
|
| 219 |
+
"single_word": false,
|
| 220 |
+
"special": true
|
| 221 |
+
},
|
| 222 |
+
"130077": {
|
| 223 |
+
"content": "<|tool_call|>",
|
| 224 |
+
"lstrip": false,
|
| 225 |
+
"normalized": false,
|
| 226 |
+
"rstrip": false,
|
| 227 |
+
"single_word": false,
|
| 228 |
+
"special": true
|
| 229 |
+
},
|
| 230 |
+
"130078": {
|
| 231 |
+
"content": "<|execute_start|>",
|
| 232 |
+
"lstrip": false,
|
| 233 |
+
"normalized": false,
|
| 234 |
+
"rstrip": false,
|
| 235 |
+
"single_word": false,
|
| 236 |
+
"special": true
|
| 237 |
+
},
|
| 238 |
+
"130079": {
|
| 239 |
+
"content": "<|execute_end|>",
|
| 240 |
+
"lstrip": false,
|
| 241 |
+
"normalized": false,
|
| 242 |
+
"rstrip": false,
|
| 243 |
+
"single_word": false,
|
| 244 |
+
"special": true
|
| 245 |
+
},
|
| 246 |
+
"130080": {
|
| 247 |
+
"content": "/think",
|
| 248 |
+
"lstrip": false,
|
| 249 |
+
"normalized": false,
|
| 250 |
+
"rstrip": false,
|
| 251 |
+
"single_word": false,
|
| 252 |
+
"special": true
|
| 253 |
+
},
|
| 254 |
+
"130081": {
|
| 255 |
+
"content": "/no_think",
|
| 256 |
+
"lstrip": false,
|
| 257 |
+
"normalized": false,
|
| 258 |
+
"rstrip": false,
|
| 259 |
+
"single_word": false,
|
| 260 |
+
"special": true
|
| 261 |
+
},
|
| 262 |
+
"130082": {
|
| 263 |
+
"content": "<unused_token_0>",
|
| 264 |
+
"lstrip": false,
|
| 265 |
+
"normalized": true,
|
| 266 |
+
"rstrip": false,
|
| 267 |
+
"single_word": false,
|
| 268 |
+
"special": false
|
| 269 |
+
},
|
| 270 |
+
"130083": {
|
| 271 |
+
"content": "<unused_token_1>",
|
| 272 |
+
"lstrip": false,
|
| 273 |
+
"normalized": true,
|
| 274 |
+
"rstrip": false,
|
| 275 |
+
"single_word": false,
|
| 276 |
+
"special": false
|
| 277 |
+
},
|
| 278 |
+
"130084": {
|
| 279 |
+
"content": "<unused_token_2>",
|
| 280 |
+
"lstrip": false,
|
| 281 |
+
"normalized": true,
|
| 282 |
+
"rstrip": false,
|
| 283 |
+
"single_word": false,
|
| 284 |
+
"special": false
|
| 285 |
+
},
|
| 286 |
+
"130085": {
|
| 287 |
+
"content": "<unused_token_3>",
|
| 288 |
+
"lstrip": false,
|
| 289 |
+
"normalized": true,
|
| 290 |
+
"rstrip": false,
|
| 291 |
+
"single_word": false,
|
| 292 |
+
"special": false
|
| 293 |
+
},
|
| 294 |
+
"130086": {
|
| 295 |
+
"content": "<unused_token_4>",
|
| 296 |
+
"lstrip": false,
|
| 297 |
+
"normalized": true,
|
| 298 |
+
"rstrip": false,
|
| 299 |
+
"single_word": false,
|
| 300 |
+
"special": false
|
| 301 |
+
},
|
| 302 |
+
"130087": {
|
| 303 |
+
"content": "<unused_token_5>",
|
| 304 |
+
"lstrip": false,
|
| 305 |
+
"normalized": true,
|
| 306 |
+
"rstrip": false,
|
| 307 |
+
"single_word": false,
|
| 308 |
+
"special": false
|
| 309 |
+
},
|
| 310 |
+
"130088": {
|
| 311 |
+
"content": "<unused_token_6>",
|
| 312 |
+
"lstrip": false,
|
| 313 |
+
"normalized": true,
|
| 314 |
+
"rstrip": false,
|
| 315 |
+
"single_word": false,
|
| 316 |
+
"special": false
|
| 317 |
+
},
|
| 318 |
+
"130089": {
|
| 319 |
+
"content": "<unused_token_7>",
|
| 320 |
+
"lstrip": false,
|
| 321 |
+
"normalized": true,
|
| 322 |
+
"rstrip": false,
|
| 323 |
+
"single_word": false,
|
| 324 |
+
"special": false
|
| 325 |
+
},
|
| 326 |
+
"130090": {
|
| 327 |
+
"content": "<unused_token_8>",
|
| 328 |
+
"lstrip": false,
|
| 329 |
+
"normalized": true,
|
| 330 |
+
"rstrip": false,
|
| 331 |
+
"single_word": false,
|
| 332 |
+
"special": false
|
| 333 |
+
},
|
| 334 |
+
"130091": {
|
| 335 |
+
"content": "<unused_token_9>",
|
| 336 |
+
"lstrip": false,
|
| 337 |
+
"normalized": true,
|
| 338 |
+
"rstrip": false,
|
| 339 |
+
"single_word": false,
|
| 340 |
+
"special": false
|
| 341 |
+
},
|
| 342 |
+
"130092": {
|
| 343 |
+
"content": "<unused_token_10>",
|
| 344 |
+
"lstrip": false,
|
| 345 |
+
"normalized": true,
|
| 346 |
+
"rstrip": false,
|
| 347 |
+
"single_word": false,
|
| 348 |
+
"special": false
|
| 349 |
+
},
|
| 350 |
+
"130093": {
|
| 351 |
+
"content": "<unused_token_11>",
|
| 352 |
+
"lstrip": false,
|
| 353 |
+
"normalized": true,
|
| 354 |
+
"rstrip": false,
|
| 355 |
+
"single_word": false,
|
| 356 |
+
"special": false
|
| 357 |
+
},
|
| 358 |
+
"130094": {
|
| 359 |
+
"content": "<unused_token_12>",
|
| 360 |
+
"lstrip": false,
|
| 361 |
+
"normalized": true,
|
| 362 |
+
"rstrip": false,
|
| 363 |
+
"single_word": false,
|
| 364 |
+
"special": false
|
| 365 |
+
},
|
| 366 |
+
"130095": {
|
| 367 |
+
"content": "<unused_token_13>",
|
| 368 |
+
"lstrip": false,
|
| 369 |
+
"normalized": true,
|
| 370 |
+
"rstrip": false,
|
| 371 |
+
"single_word": false,
|
| 372 |
+
"special": false
|
| 373 |
+
},
|
| 374 |
+
"130096": {
|
| 375 |
+
"content": "<unused_token_14>",
|
| 376 |
+
"lstrip": false,
|
| 377 |
+
"normalized": true,
|
| 378 |
+
"rstrip": false,
|
| 379 |
+
"single_word": false,
|
| 380 |
+
"special": false
|
| 381 |
+
},
|
| 382 |
+
"130097": {
|
| 383 |
+
"content": "<unused_token_15>",
|
| 384 |
+
"lstrip": false,
|
| 385 |
+
"normalized": true,
|
| 386 |
+
"rstrip": false,
|
| 387 |
+
"single_word": false,
|
| 388 |
+
"special": false
|
| 389 |
+
},
|
| 390 |
+
"130098": {
|
| 391 |
+
"content": "<unused_token_16>",
|
| 392 |
+
"lstrip": false,
|
| 393 |
+
"normalized": true,
|
| 394 |
+
"rstrip": false,
|
| 395 |
+
"single_word": false,
|
| 396 |
+
"special": false
|
| 397 |
+
},
|
| 398 |
+
"130099": {
|
| 399 |
+
"content": "<unused_token_17>",
|
| 400 |
+
"lstrip": false,
|
| 401 |
+
"normalized": true,
|
| 402 |
+
"rstrip": false,
|
| 403 |
+
"single_word": false,
|
| 404 |
+
"special": false
|
| 405 |
+
},
|
| 406 |
+
"130100": {
|
| 407 |
+
"content": "<unused_token_18>",
|
| 408 |
+
"lstrip": false,
|
| 409 |
+
"normalized": true,
|
| 410 |
+
"rstrip": false,
|
| 411 |
+
"single_word": false,
|
| 412 |
+
"special": false
|
| 413 |
+
},
|
| 414 |
+
"130101": {
|
| 415 |
+
"content": "<unused_token_19>",
|
| 416 |
+
"lstrip": false,
|
| 417 |
+
"normalized": true,
|
| 418 |
+
"rstrip": false,
|
| 419 |
+
"single_word": false,
|
| 420 |
+
"special": false
|
| 421 |
+
},
|
| 422 |
+
"130102": {
|
| 423 |
+
"content": "<unused_token_20>",
|
| 424 |
+
"lstrip": false,
|
| 425 |
+
"normalized": true,
|
| 426 |
+
"rstrip": false,
|
| 427 |
+
"single_word": false,
|
| 428 |
+
"special": false
|
| 429 |
+
},
|
| 430 |
+
"130103": {
|
| 431 |
+
"content": "<unused_token_21>",
|
| 432 |
+
"lstrip": false,
|
| 433 |
+
"normalized": true,
|
| 434 |
+
"rstrip": false,
|
| 435 |
+
"single_word": false,
|
| 436 |
+
"special": false
|
| 437 |
+
},
|
| 438 |
+
"130104": {
|
| 439 |
+
"content": "<unused_token_22>",
|
| 440 |
+
"lstrip": false,
|
| 441 |
+
"normalized": true,
|
| 442 |
+
"rstrip": false,
|
| 443 |
+
"single_word": false,
|
| 444 |
+
"special": false
|
| 445 |
+
},
|
| 446 |
+
"130105": {
|
| 447 |
+
"content": "<unused_token_23>",
|
| 448 |
+
"lstrip": false,
|
| 449 |
+
"normalized": true,
|
| 450 |
+
"rstrip": false,
|
| 451 |
+
"single_word": false,
|
| 452 |
+
"special": false
|
| 453 |
+
},
|
| 454 |
+
"130106": {
|
| 455 |
+
"content": "<unused_token_24>",
|
| 456 |
+
"lstrip": false,
|
| 457 |
+
"normalized": true,
|
| 458 |
+
"rstrip": false,
|
| 459 |
+
"single_word": false,
|
| 460 |
+
"special": false
|
| 461 |
+
},
|
| 462 |
+
"130107": {
|
| 463 |
+
"content": "<unused_token_25>",
|
| 464 |
+
"lstrip": false,
|
| 465 |
+
"normalized": true,
|
| 466 |
+
"rstrip": false,
|
| 467 |
+
"single_word": false,
|
| 468 |
+
"special": false
|
| 469 |
+
},
|
| 470 |
+
"130108": {
|
| 471 |
+
"content": "<unused_token_26>",
|
| 472 |
+
"lstrip": false,
|
| 473 |
+
"normalized": true,
|
| 474 |
+
"rstrip": false,
|
| 475 |
+
"single_word": false,
|
| 476 |
+
"special": false
|
| 477 |
+
},
|
| 478 |
+
"130109": {
|
| 479 |
+
"content": "<unused_token_27>",
|
| 480 |
+
"lstrip": false,
|
| 481 |
+
"normalized": true,
|
| 482 |
+
"rstrip": false,
|
| 483 |
+
"single_word": false,
|
| 484 |
+
"special": false
|
| 485 |
+
},
|
| 486 |
+
"130110": {
|
| 487 |
+
"content": "<unused_token_28>",
|
| 488 |
+
"lstrip": false,
|
| 489 |
+
"normalized": true,
|
| 490 |
+
"rstrip": false,
|
| 491 |
+
"single_word": false,
|
| 492 |
+
"special": false
|
| 493 |
+
},
|
| 494 |
+
"130111": {
|
| 495 |
+
"content": "<unused_token_29>",
|
| 496 |
+
"lstrip": false,
|
| 497 |
+
"normalized": true,
|
| 498 |
+
"rstrip": false,
|
| 499 |
+
"single_word": false,
|
| 500 |
+
"special": false
|
| 501 |
+
},
|
| 502 |
+
"130112": {
|
| 503 |
+
"content": "<unused_token_30>",
|
| 504 |
+
"lstrip": false,
|
| 505 |
+
"normalized": true,
|
| 506 |
+
"rstrip": false,
|
| 507 |
+
"single_word": false,
|
| 508 |
+
"special": false
|
| 509 |
+
},
|
| 510 |
+
"130113": {
|
| 511 |
+
"content": "<unused_token_31>",
|
| 512 |
+
"lstrip": false,
|
| 513 |
+
"normalized": true,
|
| 514 |
+
"rstrip": false,
|
| 515 |
+
"single_word": false,
|
| 516 |
+
"special": false
|
| 517 |
+
},
|
| 518 |
+
"130114": {
|
| 519 |
+
"content": "<unused_token_32>",
|
| 520 |
+
"lstrip": false,
|
| 521 |
+
"normalized": true,
|
| 522 |
+
"rstrip": false,
|
| 523 |
+
"single_word": false,
|
| 524 |
+
"special": false
|
| 525 |
+
},
|
| 526 |
+
"130115": {
|
| 527 |
+
"content": "<unused_token_33>",
|
| 528 |
+
"lstrip": false,
|
| 529 |
+
"normalized": true,
|
| 530 |
+
"rstrip": false,
|
| 531 |
+
"single_word": false,
|
| 532 |
+
"special": false
|
| 533 |
+
},
|
| 534 |
+
"130116": {
|
| 535 |
+
"content": "<unused_token_34>",
|
| 536 |
+
"lstrip": false,
|
| 537 |
+
"normalized": true,
|
| 538 |
+
"rstrip": false,
|
| 539 |
+
"single_word": false,
|
| 540 |
+
"special": false
|
| 541 |
+
},
|
| 542 |
+
"130117": {
|
| 543 |
+
"content": "<unused_token_35>",
|
| 544 |
+
"lstrip": false,
|
| 545 |
+
"normalized": true,
|
| 546 |
+
"rstrip": false,
|
| 547 |
+
"single_word": false,
|
| 548 |
+
"special": false
|
| 549 |
+
},
|
| 550 |
+
"130118": {
|
| 551 |
+
"content": "<unused_token_36>",
|
| 552 |
+
"lstrip": false,
|
| 553 |
+
"normalized": true,
|
| 554 |
+
"rstrip": false,
|
| 555 |
+
"single_word": false,
|
| 556 |
+
"special": false
|
| 557 |
+
},
|
| 558 |
+
"130119": {
|
| 559 |
+
"content": "<unused_token_37>",
|
| 560 |
+
"lstrip": false,
|
| 561 |
+
"normalized": true,
|
| 562 |
+
"rstrip": false,
|
| 563 |
+
"single_word": false,
|
| 564 |
+
"special": false
|
| 565 |
+
},
|
| 566 |
+
"130120": {
|
| 567 |
+
"content": "<unused_token_38>",
|
| 568 |
+
"lstrip": false,
|
| 569 |
+
"normalized": true,
|
| 570 |
+
"rstrip": false,
|
| 571 |
+
"single_word": false,
|
| 572 |
+
"special": false
|
| 573 |
+
},
|
| 574 |
+
"130121": {
|
| 575 |
+
"content": "<unused_token_39>",
|
| 576 |
+
"lstrip": false,
|
| 577 |
+
"normalized": true,
|
| 578 |
+
"rstrip": false,
|
| 579 |
+
"single_word": false,
|
| 580 |
+
"special": false
|
| 581 |
+
},
|
| 582 |
+
"130122": {
|
| 583 |
+
"content": "<unused_token_40>",
|
| 584 |
+
"lstrip": false,
|
| 585 |
+
"normalized": true,
|
| 586 |
+
"rstrip": false,
|
| 587 |
+
"single_word": false,
|
| 588 |
+
"special": false
|
| 589 |
+
},
|
| 590 |
+
"130123": {
|
| 591 |
+
"content": "<unused_token_41>",
|
| 592 |
+
"lstrip": false,
|
| 593 |
+
"normalized": true,
|
| 594 |
+
"rstrip": false,
|
| 595 |
+
"single_word": false,
|
| 596 |
+
"special": false
|
| 597 |
+
},
|
| 598 |
+
"130124": {
|
| 599 |
+
"content": "<unused_token_42>",
|
| 600 |
+
"lstrip": false,
|
| 601 |
+
"normalized": true,
|
| 602 |
+
"rstrip": false,
|
| 603 |
+
"single_word": false,
|
| 604 |
+
"special": false
|
| 605 |
+
},
|
| 606 |
+
"130125": {
|
| 607 |
+
"content": "<unused_token_43>",
|
| 608 |
+
"lstrip": false,
|
| 609 |
+
"normalized": true,
|
| 610 |
+
"rstrip": false,
|
| 611 |
+
"single_word": false,
|
| 612 |
+
"special": false
|
| 613 |
+
},
|
| 614 |
+
"130126": {
|
| 615 |
+
"content": "<unused_token_44>",
|
| 616 |
+
"lstrip": false,
|
| 617 |
+
"normalized": true,
|
| 618 |
+
"rstrip": false,
|
| 619 |
+
"single_word": false,
|
| 620 |
+
"special": false
|
| 621 |
+
},
|
| 622 |
+
"130127": {
|
| 623 |
+
"content": "<unused_token_45>",
|
| 624 |
+
"lstrip": false,
|
| 625 |
+
"normalized": true,
|
| 626 |
+
"rstrip": false,
|
| 627 |
+
"single_word": false,
|
| 628 |
+
"special": false
|
| 629 |
+
},
|
| 630 |
+
"130128": {
|
| 631 |
+
"content": "<unused_token_46>",
|
| 632 |
+
"lstrip": false,
|
| 633 |
+
"normalized": true,
|
| 634 |
+
"rstrip": false,
|
| 635 |
+
"single_word": false,
|
| 636 |
+
"special": false
|
| 637 |
+
},
|
| 638 |
+
"130129": {
|
| 639 |
+
"content": "<unused_token_47>",
|
| 640 |
+
"lstrip": false,
|
| 641 |
+
"normalized": true,
|
| 642 |
+
"rstrip": false,
|
| 643 |
+
"single_word": false,
|
| 644 |
+
"special": false
|
| 645 |
+
},
|
| 646 |
+
"130130": {
|
| 647 |
+
"content": "<unused_token_48>",
|
| 648 |
+
"lstrip": false,
|
| 649 |
+
"normalized": true,
|
| 650 |
+
"rstrip": false,
|
| 651 |
+
"single_word": false,
|
| 652 |
+
"special": false
|
| 653 |
+
},
|
| 654 |
+
"130131": {
|
| 655 |
+
"content": "<unused_token_49>",
|
| 656 |
+
"lstrip": false,
|
| 657 |
+
"normalized": true,
|
| 658 |
+
"rstrip": false,
|
| 659 |
+
"single_word": false,
|
| 660 |
+
"special": false
|
| 661 |
+
},
|
| 662 |
+
"130132": {
|
| 663 |
+
"content": "<unused_token_50>",
|
| 664 |
+
"lstrip": false,
|
| 665 |
+
"normalized": true,
|
| 666 |
+
"rstrip": false,
|
| 667 |
+
"single_word": false,
|
| 668 |
+
"special": false
|
| 669 |
+
},
|
| 670 |
+
"130133": {
|
| 671 |
+
"content": "<unused_token_51>",
|
| 672 |
+
"lstrip": false,
|
| 673 |
+
"normalized": true,
|
| 674 |
+
"rstrip": false,
|
| 675 |
+
"single_word": false,
|
| 676 |
+
"special": false
|
| 677 |
+
},
|
| 678 |
+
"130134": {
|
| 679 |
+
"content": "<unused_token_52>",
|
| 680 |
+
"lstrip": false,
|
| 681 |
+
"normalized": true,
|
| 682 |
+
"rstrip": false,
|
| 683 |
+
"single_word": false,
|
| 684 |
+
"special": false
|
| 685 |
+
},
|
| 686 |
+
"130135": {
|
| 687 |
+
"content": "<unused_token_53>",
|
| 688 |
+
"lstrip": false,
|
| 689 |
+
"normalized": true,
|
| 690 |
+
"rstrip": false,
|
| 691 |
+
"single_word": false,
|
| 692 |
+
"special": false
|
| 693 |
+
},
|
| 694 |
+
"130136": {
|
| 695 |
+
"content": "<unused_token_54>",
|
| 696 |
+
"lstrip": false,
|
| 697 |
+
"normalized": true,
|
| 698 |
+
"rstrip": false,
|
| 699 |
+
"single_word": false,
|
| 700 |
+
"special": false
|
| 701 |
+
},
|
| 702 |
+
"130137": {
|
| 703 |
+
"content": "<unused_token_55>",
|
| 704 |
+
"lstrip": false,
|
| 705 |
+
"normalized": true,
|
| 706 |
+
"rstrip": false,
|
| 707 |
+
"single_word": false,
|
| 708 |
+
"special": false
|
| 709 |
+
},
|
| 710 |
+
"130138": {
|
| 711 |
+
"content": "<unused_token_56>",
|
| 712 |
+
"lstrip": false,
|
| 713 |
+
"normalized": true,
|
| 714 |
+
"rstrip": false,
|
| 715 |
+
"single_word": false,
|
| 716 |
+
"special": false
|
| 717 |
+
},
|
| 718 |
+
"130139": {
|
| 719 |
+
"content": "<unused_token_57>",
|
| 720 |
+
"lstrip": false,
|
| 721 |
+
"normalized": true,
|
| 722 |
+
"rstrip": false,
|
| 723 |
+
"single_word": false,
|
| 724 |
+
"special": false
|
| 725 |
+
},
|
| 726 |
+
"130140": {
|
| 727 |
+
"content": "<unused_token_58>",
|
| 728 |
+
"lstrip": false,
|
| 729 |
+
"normalized": true,
|
| 730 |
+
"rstrip": false,
|
| 731 |
+
"single_word": false,
|
| 732 |
+
"special": false
|
| 733 |
+
},
|
| 734 |
+
"130141": {
|
| 735 |
+
"content": "<unused_token_59>",
|
| 736 |
+
"lstrip": false,
|
| 737 |
+
"normalized": true,
|
| 738 |
+
"rstrip": false,
|
| 739 |
+
"single_word": false,
|
| 740 |
+
"special": false
|
| 741 |
+
},
|
| 742 |
+
"130142": {
|
| 743 |
+
"content": "<unused_token_60>",
|
| 744 |
+
"lstrip": false,
|
| 745 |
+
"normalized": true,
|
| 746 |
+
"rstrip": false,
|
| 747 |
+
"single_word": false,
|
| 748 |
+
"special": false
|
| 749 |
+
},
|
| 750 |
+
"130143": {
|
| 751 |
+
"content": "<unused_token_61>",
|
| 752 |
+
"lstrip": false,
|
| 753 |
+
"normalized": true,
|
| 754 |
+
"rstrip": false,
|
| 755 |
+
"single_word": false,
|
| 756 |
+
"special": false
|
| 757 |
+
},
|
| 758 |
+
"130144": {
|
| 759 |
+
"content": "<unused_token_62>",
|
| 760 |
+
"lstrip": false,
|
| 761 |
+
"normalized": true,
|
| 762 |
+
"rstrip": false,
|
| 763 |
+
"single_word": false,
|
| 764 |
+
"special": false
|
| 765 |
+
},
|
| 766 |
+
"130145": {
|
| 767 |
+
"content": "<unused_token_63>",
|
| 768 |
+
"lstrip": false,
|
| 769 |
+
"normalized": true,
|
| 770 |
+
"rstrip": false,
|
| 771 |
+
"single_word": false,
|
| 772 |
+
"special": false
|
| 773 |
+
},
|
| 774 |
+
"130146": {
|
| 775 |
+
"content": "<unused_token_64>",
|
| 776 |
+
"lstrip": false,
|
| 777 |
+
"normalized": true,
|
| 778 |
+
"rstrip": false,
|
| 779 |
+
"single_word": false,
|
| 780 |
+
"special": false
|
| 781 |
+
},
|
| 782 |
+
"130147": {
|
| 783 |
+
"content": "<unused_token_65>",
|
| 784 |
+
"lstrip": false,
|
| 785 |
+
"normalized": true,
|
| 786 |
+
"rstrip": false,
|
| 787 |
+
"single_word": false,
|
| 788 |
+
"special": false
|
| 789 |
+
},
|
| 790 |
+
"130148": {
|
| 791 |
+
"content": "<unused_token_66>",
|
| 792 |
+
"lstrip": false,
|
| 793 |
+
"normalized": true,
|
| 794 |
+
"rstrip": false,
|
| 795 |
+
"single_word": false,
|
| 796 |
+
"special": false
|
| 797 |
+
},
|
| 798 |
+
"130149": {
|
| 799 |
+
"content": "<unused_token_67>",
|
| 800 |
+
"lstrip": false,
|
| 801 |
+
"normalized": true,
|
| 802 |
+
"rstrip": false,
|
| 803 |
+
"single_word": false,
|
| 804 |
+
"special": false
|
| 805 |
+
},
|
| 806 |
+
"130150": {
|
| 807 |
+
"content": "<unused_token_68>",
|
| 808 |
+
"lstrip": false,
|
| 809 |
+
"normalized": true,
|
| 810 |
+
"rstrip": false,
|
| 811 |
+
"single_word": false,
|
| 812 |
+
"special": false
|
| 813 |
+
},
|
| 814 |
+
"130151": {
|
| 815 |
+
"content": "<unused_token_69>",
|
| 816 |
+
"lstrip": false,
|
| 817 |
+
"normalized": true,
|
| 818 |
+
"rstrip": false,
|
| 819 |
+
"single_word": false,
|
| 820 |
+
"special": false
|
| 821 |
+
},
|
| 822 |
+
"130152": {
|
| 823 |
+
"content": "<unused_token_70>",
|
| 824 |
+
"lstrip": false,
|
| 825 |
+
"normalized": true,
|
| 826 |
+
"rstrip": false,
|
| 827 |
+
"single_word": false,
|
| 828 |
+
"special": false
|
| 829 |
+
},
|
| 830 |
+
"130153": {
|
| 831 |
+
"content": "<unused_token_71>",
|
| 832 |
+
"lstrip": false,
|
| 833 |
+
"normalized": true,
|
| 834 |
+
"rstrip": false,
|
| 835 |
+
"single_word": false,
|
| 836 |
+
"special": false
|
| 837 |
+
},
|
| 838 |
+
"130154": {
|
| 839 |
+
"content": "<unused_token_72>",
|
| 840 |
+
"lstrip": false,
|
| 841 |
+
"normalized": true,
|
| 842 |
+
"rstrip": false,
|
| 843 |
+
"single_word": false,
|
| 844 |
+
"special": false
|
| 845 |
+
},
|
| 846 |
+
"130155": {
|
| 847 |
+
"content": "<unused_token_73>",
|
| 848 |
+
"lstrip": false,
|
| 849 |
+
"normalized": true,
|
| 850 |
+
"rstrip": false,
|
| 851 |
+
"single_word": false,
|
| 852 |
+
"special": false
|
| 853 |
+
},
|
| 854 |
+
"130156": {
|
| 855 |
+
"content": "<unused_token_74>",
|
| 856 |
+
"lstrip": false,
|
| 857 |
+
"normalized": true,
|
| 858 |
+
"rstrip": false,
|
| 859 |
+
"single_word": false,
|
| 860 |
+
"special": false
|
| 861 |
+
},
|
| 862 |
+
"130157": {
|
| 863 |
+
"content": "<unused_token_75>",
|
| 864 |
+
"lstrip": false,
|
| 865 |
+
"normalized": true,
|
| 866 |
+
"rstrip": false,
|
| 867 |
+
"single_word": false,
|
| 868 |
+
"special": false
|
| 869 |
+
},
|
| 870 |
+
"130158": {
|
| 871 |
+
"content": "<unused_token_76>",
|
| 872 |
+
"lstrip": false,
|
| 873 |
+
"normalized": true,
|
| 874 |
+
"rstrip": false,
|
| 875 |
+
"single_word": false,
|
| 876 |
+
"special": false
|
| 877 |
+
},
|
| 878 |
+
"130159": {
|
| 879 |
+
"content": "<unused_token_77>",
|
| 880 |
+
"lstrip": false,
|
| 881 |
+
"normalized": true,
|
| 882 |
+
"rstrip": false,
|
| 883 |
+
"single_word": false,
|
| 884 |
+
"special": false
|
| 885 |
+
},
|
| 886 |
+
"130160": {
|
| 887 |
+
"content": "<unused_token_78>",
|
| 888 |
+
"lstrip": false,
|
| 889 |
+
"normalized": true,
|
| 890 |
+
"rstrip": false,
|
| 891 |
+
"single_word": false,
|
| 892 |
+
"special": false
|
| 893 |
+
},
|
| 894 |
+
"130161": {
|
| 895 |
+
"content": "<unused_token_79>",
|
| 896 |
+
"lstrip": false,
|
| 897 |
+
"normalized": true,
|
| 898 |
+
"rstrip": false,
|
| 899 |
+
"single_word": false,
|
| 900 |
+
"special": false
|
| 901 |
+
},
|
| 902 |
+
"130162": {
|
| 903 |
+
"content": "<unused_token_80>",
|
| 904 |
+
"lstrip": false,
|
| 905 |
+
"normalized": true,
|
| 906 |
+
"rstrip": false,
|
| 907 |
+
"single_word": false,
|
| 908 |
+
"special": false
|
| 909 |
+
},
|
| 910 |
+
"130163": {
|
| 911 |
+
"content": "<unused_token_81>",
|
| 912 |
+
"lstrip": false,
|
| 913 |
+
"normalized": true,
|
| 914 |
+
"rstrip": false,
|
| 915 |
+
"single_word": false,
|
| 916 |
+
"special": false
|
| 917 |
+
},
|
| 918 |
+
"130164": {
|
| 919 |
+
"content": "<unused_token_82>",
|
| 920 |
+
"lstrip": false,
|
| 921 |
+
"normalized": true,
|
| 922 |
+
"rstrip": false,
|
| 923 |
+
"single_word": false,
|
| 924 |
+
"special": false
|
| 925 |
+
},
|
| 926 |
+
"130165": {
|
| 927 |
+
"content": "<unused_token_83>",
|
| 928 |
+
"lstrip": false,
|
| 929 |
+
"normalized": true,
|
| 930 |
+
"rstrip": false,
|
| 931 |
+
"single_word": false,
|
| 932 |
+
"special": false
|
| 933 |
+
},
|
| 934 |
+
"130166": {
|
| 935 |
+
"content": "<unused_token_84>",
|
| 936 |
+
"lstrip": false,
|
| 937 |
+
"normalized": true,
|
| 938 |
+
"rstrip": false,
|
| 939 |
+
"single_word": false,
|
| 940 |
+
"special": false
|
| 941 |
+
},
|
| 942 |
+
"130167": {
|
| 943 |
+
"content": "<unused_token_85>",
|
| 944 |
+
"lstrip": false,
|
| 945 |
+
"normalized": true,
|
| 946 |
+
"rstrip": false,
|
| 947 |
+
"single_word": false,
|
| 948 |
+
"special": false
|
| 949 |
+
},
|
| 950 |
+
"130168": {
|
| 951 |
+
"content": "<unused_token_86>",
|
| 952 |
+
"lstrip": false,
|
| 953 |
+
"normalized": true,
|
| 954 |
+
"rstrip": false,
|
| 955 |
+
"single_word": false,
|
| 956 |
+
"special": false
|
| 957 |
+
},
|
| 958 |
+
"130169": {
|
| 959 |
+
"content": "<unused_token_87>",
|
| 960 |
+
"lstrip": false,
|
| 961 |
+
"normalized": true,
|
| 962 |
+
"rstrip": false,
|
| 963 |
+
"single_word": false,
|
| 964 |
+
"special": false
|
| 965 |
+
},
|
| 966 |
+
"130170": {
|
| 967 |
+
"content": "<unused_token_88>",
|
| 968 |
+
"lstrip": false,
|
| 969 |
+
"normalized": true,
|
| 970 |
+
"rstrip": false,
|
| 971 |
+
"single_word": false,
|
| 972 |
+
"special": false
|
| 973 |
+
},
|
| 974 |
+
"130171": {
|
| 975 |
+
"content": "<unused_token_89>",
|
| 976 |
+
"lstrip": false,
|
| 977 |
+
"normalized": true,
|
| 978 |
+
"rstrip": false,
|
| 979 |
+
"single_word": false,
|
| 980 |
+
"special": false
|
| 981 |
+
},
|
| 982 |
+
"130172": {
|
| 983 |
+
"content": "<unused_token_90>",
|
| 984 |
+
"lstrip": false,
|
| 985 |
+
"normalized": true,
|
| 986 |
+
"rstrip": false,
|
| 987 |
+
"single_word": false,
|
| 988 |
+
"special": false
|
| 989 |
+
},
|
| 990 |
+
"130173": {
|
| 991 |
+
"content": "<unused_token_91>",
|
| 992 |
+
"lstrip": false,
|
| 993 |
+
"normalized": true,
|
| 994 |
+
"rstrip": false,
|
| 995 |
+
"single_word": false,
|
| 996 |
+
"special": false
|
| 997 |
+
},
|
| 998 |
+
"130174": {
|
| 999 |
+
"content": "<unused_token_92>",
|
| 1000 |
+
"lstrip": false,
|
| 1001 |
+
"normalized": true,
|
| 1002 |
+
"rstrip": false,
|
| 1003 |
+
"single_word": false,
|
| 1004 |
+
"special": false
|
| 1005 |
+
},
|
| 1006 |
+
"130175": {
|
| 1007 |
+
"content": "<unused_token_93>",
|
| 1008 |
+
"lstrip": false,
|
| 1009 |
+
"normalized": true,
|
| 1010 |
+
"rstrip": false,
|
| 1011 |
+
"single_word": false,
|
| 1012 |
+
"special": false
|
| 1013 |
+
},
|
| 1014 |
+
"130176": {
|
| 1015 |
+
"content": "<unused_token_94>",
|
| 1016 |
+
"lstrip": false,
|
| 1017 |
+
"normalized": true,
|
| 1018 |
+
"rstrip": false,
|
| 1019 |
+
"single_word": false,
|
| 1020 |
+
"special": false
|
| 1021 |
+
},
|
| 1022 |
+
"130177": {
|
| 1023 |
+
"content": "<unused_token_95>",
|
| 1024 |
+
"lstrip": false,
|
| 1025 |
+
"normalized": true,
|
| 1026 |
+
"rstrip": false,
|
| 1027 |
+
"single_word": false,
|
| 1028 |
+
"special": false
|
| 1029 |
+
},
|
| 1030 |
+
"130178": {
|
| 1031 |
+
"content": "<unused_token_96>",
|
| 1032 |
+
"lstrip": false,
|
| 1033 |
+
"normalized": true,
|
| 1034 |
+
"rstrip": false,
|
| 1035 |
+
"single_word": false,
|
| 1036 |
+
"special": false
|
| 1037 |
+
},
|
| 1038 |
+
"130179": {
|
| 1039 |
+
"content": "<unused_token_97>",
|
| 1040 |
+
"lstrip": false,
|
| 1041 |
+
"normalized": true,
|
| 1042 |
+
"rstrip": false,
|
| 1043 |
+
"single_word": false,
|
| 1044 |
+
"special": false
|
| 1045 |
+
},
|
| 1046 |
+
"130180": {
|
| 1047 |
+
"content": "<unused_token_98>",
|
| 1048 |
+
"lstrip": false,
|
| 1049 |
+
"normalized": true,
|
| 1050 |
+
"rstrip": false,
|
| 1051 |
+
"single_word": false,
|
| 1052 |
+
"special": false
|
| 1053 |
+
},
|
| 1054 |
+
"130181": {
|
| 1055 |
+
"content": "<unused_token_99>",
|
| 1056 |
+
"lstrip": false,
|
| 1057 |
+
"normalized": true,
|
| 1058 |
+
"rstrip": false,
|
| 1059 |
+
"single_word": false,
|
| 1060 |
+
"special": false
|
| 1061 |
+
},
|
| 1062 |
+
"130182": {
|
| 1063 |
+
"content": "<unused_token_100>",
|
| 1064 |
+
"lstrip": false,
|
| 1065 |
+
"normalized": true,
|
| 1066 |
+
"rstrip": false,
|
| 1067 |
+
"single_word": false,
|
| 1068 |
+
"special": false
|
| 1069 |
+
},
|
| 1070 |
+
"130183": {
|
| 1071 |
+
"content": "<unused_token_101>",
|
| 1072 |
+
"lstrip": false,
|
| 1073 |
+
"normalized": true,
|
| 1074 |
+
"rstrip": false,
|
| 1075 |
+
"single_word": false,
|
| 1076 |
+
"special": false
|
| 1077 |
+
},
|
| 1078 |
+
"130184": {
|
| 1079 |
+
"content": "<unused_token_102>",
|
| 1080 |
+
"lstrip": false,
|
| 1081 |
+
"normalized": true,
|
| 1082 |
+
"rstrip": false,
|
| 1083 |
+
"single_word": false,
|
| 1084 |
+
"special": false
|
| 1085 |
+
},
|
| 1086 |
+
"130185": {
|
| 1087 |
+
"content": "<unused_token_103>",
|
| 1088 |
+
"lstrip": false,
|
| 1089 |
+
"normalized": true,
|
| 1090 |
+
"rstrip": false,
|
| 1091 |
+
"single_word": false,
|
| 1092 |
+
"special": false
|
| 1093 |
+
},
|
| 1094 |
+
"130186": {
|
| 1095 |
+
"content": "<unused_token_104>",
|
| 1096 |
+
"lstrip": false,
|
| 1097 |
+
"normalized": true,
|
| 1098 |
+
"rstrip": false,
|
| 1099 |
+
"single_word": false,
|
| 1100 |
+
"special": false
|
| 1101 |
+
},
|
| 1102 |
+
"130187": {
|
| 1103 |
+
"content": "<unused_token_105>",
|
| 1104 |
+
"lstrip": false,
|
| 1105 |
+
"normalized": true,
|
| 1106 |
+
"rstrip": false,
|
| 1107 |
+
"single_word": false,
|
| 1108 |
+
"special": false
|
| 1109 |
+
},
|
| 1110 |
+
"130188": {
|
| 1111 |
+
"content": "<unused_token_106>",
|
| 1112 |
+
"lstrip": false,
|
| 1113 |
+
"normalized": true,
|
| 1114 |
+
"rstrip": false,
|
| 1115 |
+
"single_word": false,
|
| 1116 |
+
"special": false
|
| 1117 |
+
},
|
| 1118 |
+
"130189": {
|
| 1119 |
+
"content": "<unused_token_107>",
|
| 1120 |
+
"lstrip": false,
|
| 1121 |
+
"normalized": true,
|
| 1122 |
+
"rstrip": false,
|
| 1123 |
+
"single_word": false,
|
| 1124 |
+
"special": false
|
| 1125 |
+
},
|
| 1126 |
+
"130190": {
|
| 1127 |
+
"content": "<unused_token_108>",
|
| 1128 |
+
"lstrip": false,
|
| 1129 |
+
"normalized": true,
|
| 1130 |
+
"rstrip": false,
|
| 1131 |
+
"single_word": false,
|
| 1132 |
+
"special": false
|
| 1133 |
+
},
|
| 1134 |
+
"130191": {
|
| 1135 |
+
"content": "<unused_token_109>",
|
| 1136 |
+
"lstrip": false,
|
| 1137 |
+
"normalized": true,
|
| 1138 |
+
"rstrip": false,
|
| 1139 |
+
"single_word": false,
|
| 1140 |
+
"special": false
|
| 1141 |
+
},
|
| 1142 |
+
"130192": {
|
| 1143 |
+
"content": "<unused_token_110>",
|
| 1144 |
+
"lstrip": false,
|
| 1145 |
+
"normalized": true,
|
| 1146 |
+
"rstrip": false,
|
| 1147 |
+
"single_word": false,
|
| 1148 |
+
"special": false
|
| 1149 |
+
},
|
| 1150 |
+
"130193": {
|
| 1151 |
+
"content": "<unused_token_111>",
|
| 1152 |
+
"lstrip": false,
|
| 1153 |
+
"normalized": true,
|
| 1154 |
+
"rstrip": false,
|
| 1155 |
+
"single_word": false,
|
| 1156 |
+
"special": false
|
| 1157 |
+
},
|
| 1158 |
+
"130194": {
|
| 1159 |
+
"content": "<unused_token_112>",
|
| 1160 |
+
"lstrip": false,
|
| 1161 |
+
"normalized": true,
|
| 1162 |
+
"rstrip": false,
|
| 1163 |
+
"single_word": false,
|
| 1164 |
+
"special": false
|
| 1165 |
+
},
|
| 1166 |
+
"130195": {
|
| 1167 |
+
"content": "<unused_token_113>",
|
| 1168 |
+
"lstrip": false,
|
| 1169 |
+
"normalized": true,
|
| 1170 |
+
"rstrip": false,
|
| 1171 |
+
"single_word": false,
|
| 1172 |
+
"special": false
|
| 1173 |
+
},
|
| 1174 |
+
"130196": {
|
| 1175 |
+
"content": "<unused_token_114>",
|
| 1176 |
+
"lstrip": false,
|
| 1177 |
+
"normalized": true,
|
| 1178 |
+
"rstrip": false,
|
| 1179 |
+
"single_word": false,
|
| 1180 |
+
"special": false
|
| 1181 |
+
},
|
| 1182 |
+
"130197": {
|
| 1183 |
+
"content": "<unused_token_115>",
|
| 1184 |
+
"lstrip": false,
|
| 1185 |
+
"normalized": true,
|
| 1186 |
+
"rstrip": false,
|
| 1187 |
+
"single_word": false,
|
| 1188 |
+
"special": false
|
| 1189 |
+
},
|
| 1190 |
+
"130198": {
|
| 1191 |
+
"content": "<unused_token_116>",
|
| 1192 |
+
"lstrip": false,
|
| 1193 |
+
"normalized": true,
|
| 1194 |
+
"rstrip": false,
|
| 1195 |
+
"single_word": false,
|
| 1196 |
+
"special": false
|
| 1197 |
+
},
|
| 1198 |
+
"130199": {
|
| 1199 |
+
"content": "<unused_token_117>",
|
| 1200 |
+
"lstrip": false,
|
| 1201 |
+
"normalized": true,
|
| 1202 |
+
"rstrip": false,
|
| 1203 |
+
"single_word": false,
|
| 1204 |
+
"special": false
|
| 1205 |
+
},
|
| 1206 |
+
"130200": {
|
| 1207 |
+
"content": "<unused_token_118>",
|
| 1208 |
+
"lstrip": false,
|
| 1209 |
+
"normalized": true,
|
| 1210 |
+
"rstrip": false,
|
| 1211 |
+
"single_word": false,
|
| 1212 |
+
"special": false
|
| 1213 |
+
},
|
| 1214 |
+
"130201": {
|
| 1215 |
+
"content": "<unused_token_119>",
|
| 1216 |
+
"lstrip": false,
|
| 1217 |
+
"normalized": true,
|
| 1218 |
+
"rstrip": false,
|
| 1219 |
+
"single_word": false,
|
| 1220 |
+
"special": false
|
| 1221 |
+
},
|
| 1222 |
+
"130202": {
|
| 1223 |
+
"content": "<unused_token_120>",
|
| 1224 |
+
"lstrip": false,
|
| 1225 |
+
"normalized": true,
|
| 1226 |
+
"rstrip": false,
|
| 1227 |
+
"single_word": false,
|
| 1228 |
+
"special": false
|
| 1229 |
+
},
|
| 1230 |
+
"130203": {
|
| 1231 |
+
"content": "<unused_token_121>",
|
| 1232 |
+
"lstrip": false,
|
| 1233 |
+
"normalized": true,
|
| 1234 |
+
"rstrip": false,
|
| 1235 |
+
"single_word": false,
|
| 1236 |
+
"special": false
|
| 1237 |
+
},
|
| 1238 |
+
"130204": {
|
| 1239 |
+
"content": "<unused_token_122>",
|
| 1240 |
+
"lstrip": false,
|
| 1241 |
+
"normalized": true,
|
| 1242 |
+
"rstrip": false,
|
| 1243 |
+
"single_word": false,
|
| 1244 |
+
"special": false
|
| 1245 |
+
},
|
| 1246 |
+
"130205": {
|
| 1247 |
+
"content": "<unused_token_123>",
|
| 1248 |
+
"lstrip": false,
|
| 1249 |
+
"normalized": true,
|
| 1250 |
+
"rstrip": false,
|
| 1251 |
+
"single_word": false,
|
| 1252 |
+
"special": false
|
| 1253 |
+
},
|
| 1254 |
+
"130206": {
|
| 1255 |
+
"content": "<unused_token_124>",
|
| 1256 |
+
"lstrip": false,
|
| 1257 |
+
"normalized": true,
|
| 1258 |
+
"rstrip": false,
|
| 1259 |
+
"single_word": false,
|
| 1260 |
+
"special": false
|
| 1261 |
+
},
|
| 1262 |
+
"130207": {
|
| 1263 |
+
"content": "<unused_token_125>",
|
| 1264 |
+
"lstrip": false,
|
| 1265 |
+
"normalized": true,
|
| 1266 |
+
"rstrip": false,
|
| 1267 |
+
"single_word": false,
|
| 1268 |
+
"special": false
|
| 1269 |
+
},
|
| 1270 |
+
"130208": {
|
| 1271 |
+
"content": "<unused_token_126>",
|
| 1272 |
+
"lstrip": false,
|
| 1273 |
+
"normalized": true,
|
| 1274 |
+
"rstrip": false,
|
| 1275 |
+
"single_word": false,
|
| 1276 |
+
"special": false
|
| 1277 |
+
},
|
| 1278 |
+
"130209": {
|
| 1279 |
+
"content": "<unused_token_127>",
|
| 1280 |
+
"lstrip": false,
|
| 1281 |
+
"normalized": true,
|
| 1282 |
+
"rstrip": false,
|
| 1283 |
+
"single_word": false,
|
| 1284 |
+
"special": false
|
| 1285 |
+
},
|
| 1286 |
+
"130210": {
|
| 1287 |
+
"content": "<unused_token_128>",
|
| 1288 |
+
"lstrip": false,
|
| 1289 |
+
"normalized": true,
|
| 1290 |
+
"rstrip": false,
|
| 1291 |
+
"single_word": false,
|
| 1292 |
+
"special": false
|
| 1293 |
+
},
|
| 1294 |
+
"130211": {
|
| 1295 |
+
"content": "<unused_token_129>",
|
| 1296 |
+
"lstrip": false,
|
| 1297 |
+
"normalized": true,
|
| 1298 |
+
"rstrip": false,
|
| 1299 |
+
"single_word": false,
|
| 1300 |
+
"special": false
|
| 1301 |
+
},
|
| 1302 |
+
"130212": {
|
| 1303 |
+
"content": "<unused_token_130>",
|
| 1304 |
+
"lstrip": false,
|
| 1305 |
+
"normalized": true,
|
| 1306 |
+
"rstrip": false,
|
| 1307 |
+
"single_word": false,
|
| 1308 |
+
"special": false
|
| 1309 |
+
},
|
| 1310 |
+
"130213": {
|
| 1311 |
+
"content": "<unused_token_131>",
|
| 1312 |
+
"lstrip": false,
|
| 1313 |
+
"normalized": true,
|
| 1314 |
+
"rstrip": false,
|
| 1315 |
+
"single_word": false,
|
| 1316 |
+
"special": false
|
| 1317 |
+
},
|
| 1318 |
+
"130214": {
|
| 1319 |
+
"content": "<unused_token_132>",
|
| 1320 |
+
"lstrip": false,
|
| 1321 |
+
"normalized": true,
|
| 1322 |
+
"rstrip": false,
|
| 1323 |
+
"single_word": false,
|
| 1324 |
+
"special": false
|
| 1325 |
+
},
|
| 1326 |
+
"130215": {
|
| 1327 |
+
"content": "<unused_token_133>",
|
| 1328 |
+
"lstrip": false,
|
| 1329 |
+
"normalized": true,
|
| 1330 |
+
"rstrip": false,
|
| 1331 |
+
"single_word": false,
|
| 1332 |
+
"special": false
|
| 1333 |
+
},
|
| 1334 |
+
"130216": {
|
| 1335 |
+
"content": "<unused_token_134>",
|
| 1336 |
+
"lstrip": false,
|
| 1337 |
+
"normalized": true,
|
| 1338 |
+
"rstrip": false,
|
| 1339 |
+
"single_word": false,
|
| 1340 |
+
"special": false
|
| 1341 |
+
},
|
| 1342 |
+
"130217": {
|
| 1343 |
+
"content": "<unused_token_135>",
|
| 1344 |
+
"lstrip": false,
|
| 1345 |
+
"normalized": true,
|
| 1346 |
+
"rstrip": false,
|
| 1347 |
+
"single_word": false,
|
| 1348 |
+
"special": false
|
| 1349 |
+
},
|
| 1350 |
+
"130218": {
|
| 1351 |
+
"content": "<unused_token_136>",
|
| 1352 |
+
"lstrip": false,
|
| 1353 |
+
"normalized": true,
|
| 1354 |
+
"rstrip": false,
|
| 1355 |
+
"single_word": false,
|
| 1356 |
+
"special": false
|
| 1357 |
+
},
|
| 1358 |
+
"130219": {
|
| 1359 |
+
"content": "<unused_token_137>",
|
| 1360 |
+
"lstrip": false,
|
| 1361 |
+
"normalized": true,
|
| 1362 |
+
"rstrip": false,
|
| 1363 |
+
"single_word": false,
|
| 1364 |
+
"special": false
|
| 1365 |
+
},
|
| 1366 |
+
"130220": {
|
| 1367 |
+
"content": "<unused_token_138>",
|
| 1368 |
+
"lstrip": false,
|
| 1369 |
+
"normalized": true,
|
| 1370 |
+
"rstrip": false,
|
| 1371 |
+
"single_word": false,
|
| 1372 |
+
"special": false
|
| 1373 |
+
},
|
| 1374 |
+
"130221": {
|
| 1375 |
+
"content": "<unused_token_139>",
|
| 1376 |
+
"lstrip": false,
|
| 1377 |
+
"normalized": true,
|
| 1378 |
+
"rstrip": false,
|
| 1379 |
+
"single_word": false,
|
| 1380 |
+
"special": false
|
| 1381 |
+
},
|
| 1382 |
+
"130222": {
|
| 1383 |
+
"content": "<unused_token_140>",
|
| 1384 |
+
"lstrip": false,
|
| 1385 |
+
"normalized": true,
|
| 1386 |
+
"rstrip": false,
|
| 1387 |
+
"single_word": false,
|
| 1388 |
+
"special": false
|
| 1389 |
+
},
|
| 1390 |
+
"130223": {
|
| 1391 |
+
"content": "<unused_token_141>",
|
| 1392 |
+
"lstrip": false,
|
| 1393 |
+
"normalized": true,
|
| 1394 |
+
"rstrip": false,
|
| 1395 |
+
"single_word": false,
|
| 1396 |
+
"special": false
|
| 1397 |
+
},
|
| 1398 |
+
"130224": {
|
| 1399 |
+
"content": "<unused_token_142>",
|
| 1400 |
+
"lstrip": false,
|
| 1401 |
+
"normalized": true,
|
| 1402 |
+
"rstrip": false,
|
| 1403 |
+
"single_word": false,
|
| 1404 |
+
"special": false
|
| 1405 |
+
},
|
| 1406 |
+
"130225": {
|
| 1407 |
+
"content": "<unused_token_143>",
|
| 1408 |
+
"lstrip": false,
|
| 1409 |
+
"normalized": true,
|
| 1410 |
+
"rstrip": false,
|
| 1411 |
+
"single_word": false,
|
| 1412 |
+
"special": false
|
| 1413 |
+
},
|
| 1414 |
+
"130226": {
|
| 1415 |
+
"content": "<unused_token_144>",
|
| 1416 |
+
"lstrip": false,
|
| 1417 |
+
"normalized": true,
|
| 1418 |
+
"rstrip": false,
|
| 1419 |
+
"single_word": false,
|
| 1420 |
+
"special": false
|
| 1421 |
+
},
|
| 1422 |
+
"130227": {
|
| 1423 |
+
"content": "<unused_token_145>",
|
| 1424 |
+
"lstrip": false,
|
| 1425 |
+
"normalized": true,
|
| 1426 |
+
"rstrip": false,
|
| 1427 |
+
"single_word": false,
|
| 1428 |
+
"special": false
|
| 1429 |
+
},
|
| 1430 |
+
"130228": {
|
| 1431 |
+
"content": "<unused_token_146>",
|
| 1432 |
+
"lstrip": false,
|
| 1433 |
+
"normalized": true,
|
| 1434 |
+
"rstrip": false,
|
| 1435 |
+
"single_word": false,
|
| 1436 |
+
"special": false
|
| 1437 |
+
},
|
| 1438 |
+
"130229": {
|
| 1439 |
+
"content": "<unused_token_147>",
|
| 1440 |
+
"lstrip": false,
|
| 1441 |
+
"normalized": true,
|
| 1442 |
+
"rstrip": false,
|
| 1443 |
+
"single_word": false,
|
| 1444 |
+
"special": false
|
| 1445 |
+
},
|
| 1446 |
+
"130230": {
|
| 1447 |
+
"content": "<unused_token_148>",
|
| 1448 |
+
"lstrip": false,
|
| 1449 |
+
"normalized": true,
|
| 1450 |
+
"rstrip": false,
|
| 1451 |
+
"single_word": false,
|
| 1452 |
+
"special": false
|
| 1453 |
+
},
|
| 1454 |
+
"130231": {
|
| 1455 |
+
"content": "<unused_token_149>",
|
| 1456 |
+
"lstrip": false,
|
| 1457 |
+
"normalized": true,
|
| 1458 |
+
"rstrip": false,
|
| 1459 |
+
"single_word": false,
|
| 1460 |
+
"special": false
|
| 1461 |
+
},
|
| 1462 |
+
"130232": {
|
| 1463 |
+
"content": "<unused_token_150>",
|
| 1464 |
+
"lstrip": false,
|
| 1465 |
+
"normalized": true,
|
| 1466 |
+
"rstrip": false,
|
| 1467 |
+
"single_word": false,
|
| 1468 |
+
"special": false
|
| 1469 |
+
},
|
| 1470 |
+
"130233": {
|
| 1471 |
+
"content": "<unused_token_151>",
|
| 1472 |
+
"lstrip": false,
|
| 1473 |
+
"normalized": true,
|
| 1474 |
+
"rstrip": false,
|
| 1475 |
+
"single_word": false,
|
| 1476 |
+
"special": false
|
| 1477 |
+
},
|
| 1478 |
+
"130234": {
|
| 1479 |
+
"content": "<unused_token_152>",
|
| 1480 |
+
"lstrip": false,
|
| 1481 |
+
"normalized": true,
|
| 1482 |
+
"rstrip": false,
|
| 1483 |
+
"single_word": false,
|
| 1484 |
+
"special": false
|
| 1485 |
+
},
|
| 1486 |
+
"130235": {
|
| 1487 |
+
"content": "<unused_token_153>",
|
| 1488 |
+
"lstrip": false,
|
| 1489 |
+
"normalized": true,
|
| 1490 |
+
"rstrip": false,
|
| 1491 |
+
"single_word": false,
|
| 1492 |
+
"special": false
|
| 1493 |
+
},
|
| 1494 |
+
"130236": {
|
| 1495 |
+
"content": "<unused_token_154>",
|
| 1496 |
+
"lstrip": false,
|
| 1497 |
+
"normalized": true,
|
| 1498 |
+
"rstrip": false,
|
| 1499 |
+
"single_word": false,
|
| 1500 |
+
"special": false
|
| 1501 |
+
},
|
| 1502 |
+
"130237": {
|
| 1503 |
+
"content": "<unused_token_155>",
|
| 1504 |
+
"lstrip": false,
|
| 1505 |
+
"normalized": true,
|
| 1506 |
+
"rstrip": false,
|
| 1507 |
+
"single_word": false,
|
| 1508 |
+
"special": false
|
| 1509 |
+
},
|
| 1510 |
+
"130238": {
|
| 1511 |
+
"content": "<unused_token_156>",
|
| 1512 |
+
"lstrip": false,
|
| 1513 |
+
"normalized": true,
|
| 1514 |
+
"rstrip": false,
|
| 1515 |
+
"single_word": false,
|
| 1516 |
+
"special": false
|
| 1517 |
+
},
|
| 1518 |
+
"130239": {
|
| 1519 |
+
"content": "<unused_token_157>",
|
| 1520 |
+
"lstrip": false,
|
| 1521 |
+
"normalized": true,
|
| 1522 |
+
"rstrip": false,
|
| 1523 |
+
"single_word": false,
|
| 1524 |
+
"special": false
|
| 1525 |
+
},
|
| 1526 |
+
"130240": {
|
| 1527 |
+
"content": "<unused_token_158>",
|
| 1528 |
+
"lstrip": false,
|
| 1529 |
+
"normalized": true,
|
| 1530 |
+
"rstrip": false,
|
| 1531 |
+
"single_word": false,
|
| 1532 |
+
"special": false
|
| 1533 |
+
},
|
| 1534 |
+
"130241": {
|
| 1535 |
+
"content": "<unused_token_159>",
|
| 1536 |
+
"lstrip": false,
|
| 1537 |
+
"normalized": true,
|
| 1538 |
+
"rstrip": false,
|
| 1539 |
+
"single_word": false,
|
| 1540 |
+
"special": false
|
| 1541 |
+
},
|
| 1542 |
+
"130242": {
|
| 1543 |
+
"content": "<unused_token_160>",
|
| 1544 |
+
"lstrip": false,
|
| 1545 |
+
"normalized": true,
|
| 1546 |
+
"rstrip": false,
|
| 1547 |
+
"single_word": false,
|
| 1548 |
+
"special": false
|
| 1549 |
+
},
|
| 1550 |
+
"130243": {
|
| 1551 |
+
"content": "<unused_token_161>",
|
| 1552 |
+
"lstrip": false,
|
| 1553 |
+
"normalized": true,
|
| 1554 |
+
"rstrip": false,
|
| 1555 |
+
"single_word": false,
|
| 1556 |
+
"special": false
|
| 1557 |
+
},
|
| 1558 |
+
"130244": {
|
| 1559 |
+
"content": "<unused_token_162>",
|
| 1560 |
+
"lstrip": false,
|
| 1561 |
+
"normalized": true,
|
| 1562 |
+
"rstrip": false,
|
| 1563 |
+
"single_word": false,
|
| 1564 |
+
"special": false
|
| 1565 |
+
},
|
| 1566 |
+
"130245": {
|
| 1567 |
+
"content": "<unused_token_163>",
|
| 1568 |
+
"lstrip": false,
|
| 1569 |
+
"normalized": true,
|
| 1570 |
+
"rstrip": false,
|
| 1571 |
+
"single_word": false,
|
| 1572 |
+
"special": false
|
| 1573 |
+
},
|
| 1574 |
+
"130246": {
|
| 1575 |
+
"content": "<unused_token_164>",
|
| 1576 |
+
"lstrip": false,
|
| 1577 |
+
"normalized": true,
|
| 1578 |
+
"rstrip": false,
|
| 1579 |
+
"single_word": false,
|
| 1580 |
+
"special": false
|
| 1581 |
+
},
|
| 1582 |
+
"130247": {
|
| 1583 |
+
"content": "<unused_token_165>",
|
| 1584 |
+
"lstrip": false,
|
| 1585 |
+
"normalized": true,
|
| 1586 |
+
"rstrip": false,
|
| 1587 |
+
"single_word": false,
|
| 1588 |
+
"special": false
|
| 1589 |
+
},
|
| 1590 |
+
"130248": {
|
| 1591 |
+
"content": "<unused_token_166>",
|
| 1592 |
+
"lstrip": false,
|
| 1593 |
+
"normalized": true,
|
| 1594 |
+
"rstrip": false,
|
| 1595 |
+
"single_word": false,
|
| 1596 |
+
"special": false
|
| 1597 |
+
},
|
| 1598 |
+
"130249": {
|
| 1599 |
+
"content": "<unused_token_167>",
|
| 1600 |
+
"lstrip": false,
|
| 1601 |
+
"normalized": true,
|
| 1602 |
+
"rstrip": false,
|
| 1603 |
+
"single_word": false,
|
| 1604 |
+
"special": false
|
| 1605 |
+
},
|
| 1606 |
+
"130250": {
|
| 1607 |
+
"content": "<unused_token_168>",
|
| 1608 |
+
"lstrip": false,
|
| 1609 |
+
"normalized": true,
|
| 1610 |
+
"rstrip": false,
|
| 1611 |
+
"single_word": false,
|
| 1612 |
+
"special": false
|
| 1613 |
+
},
|
| 1614 |
+
"130251": {
|
| 1615 |
+
"content": "<unused_token_169>",
|
| 1616 |
+
"lstrip": false,
|
| 1617 |
+
"normalized": true,
|
| 1618 |
+
"rstrip": false,
|
| 1619 |
+
"single_word": false,
|
| 1620 |
+
"special": false
|
| 1621 |
+
},
|
| 1622 |
+
"130252": {
|
| 1623 |
+
"content": "<unused_token_170>",
|
| 1624 |
+
"lstrip": false,
|
| 1625 |
+
"normalized": true,
|
| 1626 |
+
"rstrip": false,
|
| 1627 |
+
"single_word": false,
|
| 1628 |
+
"special": false
|
| 1629 |
+
},
|
| 1630 |
+
"130253": {
|
| 1631 |
+
"content": "<unused_token_171>",
|
| 1632 |
+
"lstrip": false,
|
| 1633 |
+
"normalized": true,
|
| 1634 |
+
"rstrip": false,
|
| 1635 |
+
"single_word": false,
|
| 1636 |
+
"special": false
|
| 1637 |
+
},
|
| 1638 |
+
"130254": {
|
| 1639 |
+
"content": "<unused_token_172>",
|
| 1640 |
+
"lstrip": false,
|
| 1641 |
+
"normalized": true,
|
| 1642 |
+
"rstrip": false,
|
| 1643 |
+
"single_word": false,
|
| 1644 |
+
"special": false
|
| 1645 |
+
},
|
| 1646 |
+
"130255": {
|
| 1647 |
+
"content": "<unused_token_173>",
|
| 1648 |
+
"lstrip": false,
|
| 1649 |
+
"normalized": true,
|
| 1650 |
+
"rstrip": false,
|
| 1651 |
+
"single_word": false,
|
| 1652 |
+
"special": false
|
| 1653 |
+
},
|
| 1654 |
+
"130256": {
|
| 1655 |
+
"content": "<unused_token_174>",
|
| 1656 |
+
"lstrip": false,
|
| 1657 |
+
"normalized": true,
|
| 1658 |
+
"rstrip": false,
|
| 1659 |
+
"single_word": false,
|
| 1660 |
+
"special": false
|
| 1661 |
+
},
|
| 1662 |
+
"130257": {
|
| 1663 |
+
"content": "<unused_token_175>",
|
| 1664 |
+
"lstrip": false,
|
| 1665 |
+
"normalized": true,
|
| 1666 |
+
"rstrip": false,
|
| 1667 |
+
"single_word": false,
|
| 1668 |
+
"special": false
|
| 1669 |
+
},
|
| 1670 |
+
"130258": {
|
| 1671 |
+
"content": "<unused_token_176>",
|
| 1672 |
+
"lstrip": false,
|
| 1673 |
+
"normalized": true,
|
| 1674 |
+
"rstrip": false,
|
| 1675 |
+
"single_word": false,
|
| 1676 |
+
"special": false
|
| 1677 |
+
},
|
| 1678 |
+
"130259": {
|
| 1679 |
+
"content": "<unused_token_177>",
|
| 1680 |
+
"lstrip": false,
|
| 1681 |
+
"normalized": true,
|
| 1682 |
+
"rstrip": false,
|
| 1683 |
+
"single_word": false,
|
| 1684 |
+
"special": false
|
| 1685 |
+
},
|
| 1686 |
+
"130260": {
|
| 1687 |
+
"content": "<unused_token_178>",
|
| 1688 |
+
"lstrip": false,
|
| 1689 |
+
"normalized": true,
|
| 1690 |
+
"rstrip": false,
|
| 1691 |
+
"single_word": false,
|
| 1692 |
+
"special": false
|
| 1693 |
+
},
|
| 1694 |
+
"130261": {
|
| 1695 |
+
"content": "<unused_token_179>",
|
| 1696 |
+
"lstrip": false,
|
| 1697 |
+
"normalized": true,
|
| 1698 |
+
"rstrip": false,
|
| 1699 |
+
"single_word": false,
|
| 1700 |
+
"special": false
|
| 1701 |
+
},
|
| 1702 |
+
"130262": {
|
| 1703 |
+
"content": "<unused_token_180>",
|
| 1704 |
+
"lstrip": false,
|
| 1705 |
+
"normalized": true,
|
| 1706 |
+
"rstrip": false,
|
| 1707 |
+
"single_word": false,
|
| 1708 |
+
"special": false
|
| 1709 |
+
},
|
| 1710 |
+
"130263": {
|
| 1711 |
+
"content": "<unused_token_181>",
|
| 1712 |
+
"lstrip": false,
|
| 1713 |
+
"normalized": true,
|
| 1714 |
+
"rstrip": false,
|
| 1715 |
+
"single_word": false,
|
| 1716 |
+
"special": false
|
| 1717 |
+
},
|
| 1718 |
+
"130264": {
|
| 1719 |
+
"content": "<unused_token_182>",
|
| 1720 |
+
"lstrip": false,
|
| 1721 |
+
"normalized": true,
|
| 1722 |
+
"rstrip": false,
|
| 1723 |
+
"single_word": false,
|
| 1724 |
+
"special": false
|
| 1725 |
+
},
|
| 1726 |
+
"130265": {
|
| 1727 |
+
"content": "<unused_token_183>",
|
| 1728 |
+
"lstrip": false,
|
| 1729 |
+
"normalized": true,
|
| 1730 |
+
"rstrip": false,
|
| 1731 |
+
"single_word": false,
|
| 1732 |
+
"special": false
|
| 1733 |
+
},
|
| 1734 |
+
"130266": {
|
| 1735 |
+
"content": "<unused_token_184>",
|
| 1736 |
+
"lstrip": false,
|
| 1737 |
+
"normalized": true,
|
| 1738 |
+
"rstrip": false,
|
| 1739 |
+
"single_word": false,
|
| 1740 |
+
"special": false
|
| 1741 |
+
},
|
| 1742 |
+
"130267": {
|
| 1743 |
+
"content": "<unused_token_185>",
|
| 1744 |
+
"lstrip": false,
|
| 1745 |
+
"normalized": true,
|
| 1746 |
+
"rstrip": false,
|
| 1747 |
+
"single_word": false,
|
| 1748 |
+
"special": false
|
| 1749 |
+
},
|
| 1750 |
+
"130268": {
|
| 1751 |
+
"content": "<unused_token_186>",
|
| 1752 |
+
"lstrip": false,
|
| 1753 |
+
"normalized": true,
|
| 1754 |
+
"rstrip": false,
|
| 1755 |
+
"single_word": false,
|
| 1756 |
+
"special": false
|
| 1757 |
+
},
|
| 1758 |
+
"130269": {
|
| 1759 |
+
"content": "<unused_token_187>",
|
| 1760 |
+
"lstrip": false,
|
| 1761 |
+
"normalized": true,
|
| 1762 |
+
"rstrip": false,
|
| 1763 |
+
"single_word": false,
|
| 1764 |
+
"special": false
|
| 1765 |
+
},
|
| 1766 |
+
"130270": {
|
| 1767 |
+
"content": "<unused_token_188>",
|
| 1768 |
+
"lstrip": false,
|
| 1769 |
+
"normalized": true,
|
| 1770 |
+
"rstrip": false,
|
| 1771 |
+
"single_word": false,
|
| 1772 |
+
"special": false
|
| 1773 |
+
},
|
| 1774 |
+
"130271": {
|
| 1775 |
+
"content": "<unused_token_189>",
|
| 1776 |
+
"lstrip": false,
|
| 1777 |
+
"normalized": true,
|
| 1778 |
+
"rstrip": false,
|
| 1779 |
+
"single_word": false,
|
| 1780 |
+
"special": false
|
| 1781 |
+
},
|
| 1782 |
+
"130272": {
|
| 1783 |
+
"content": "<unused_token_190>",
|
| 1784 |
+
"lstrip": false,
|
| 1785 |
+
"normalized": true,
|
| 1786 |
+
"rstrip": false,
|
| 1787 |
+
"single_word": false,
|
| 1788 |
+
"special": false
|
| 1789 |
+
},
|
| 1790 |
+
"130273": {
|
| 1791 |
+
"content": "<unused_token_191>",
|
| 1792 |
+
"lstrip": false,
|
| 1793 |
+
"normalized": true,
|
| 1794 |
+
"rstrip": false,
|
| 1795 |
+
"single_word": false,
|
| 1796 |
+
"special": false
|
| 1797 |
+
},
|
| 1798 |
+
"130274": {
|
| 1799 |
+
"content": "<unused_token_192>",
|
| 1800 |
+
"lstrip": false,
|
| 1801 |
+
"normalized": true,
|
| 1802 |
+
"rstrip": false,
|
| 1803 |
+
"single_word": false,
|
| 1804 |
+
"special": false
|
| 1805 |
+
},
|
| 1806 |
+
"130275": {
|
| 1807 |
+
"content": "<unused_token_193>",
|
| 1808 |
+
"lstrip": false,
|
| 1809 |
+
"normalized": true,
|
| 1810 |
+
"rstrip": false,
|
| 1811 |
+
"single_word": false,
|
| 1812 |
+
"special": false
|
| 1813 |
+
},
|
| 1814 |
+
"130276": {
|
| 1815 |
+
"content": "<unused_token_194>",
|
| 1816 |
+
"lstrip": false,
|
| 1817 |
+
"normalized": true,
|
| 1818 |
+
"rstrip": false,
|
| 1819 |
+
"single_word": false,
|
| 1820 |
+
"special": false
|
| 1821 |
+
},
|
| 1822 |
+
"130277": {
|
| 1823 |
+
"content": "<unused_token_195>",
|
| 1824 |
+
"lstrip": false,
|
| 1825 |
+
"normalized": true,
|
| 1826 |
+
"rstrip": false,
|
| 1827 |
+
"single_word": false,
|
| 1828 |
+
"special": false
|
| 1829 |
+
},
|
| 1830 |
+
"130278": {
|
| 1831 |
+
"content": "<unused_token_196>",
|
| 1832 |
+
"lstrip": false,
|
| 1833 |
+
"normalized": true,
|
| 1834 |
+
"rstrip": false,
|
| 1835 |
+
"single_word": false,
|
| 1836 |
+
"special": false
|
| 1837 |
+
},
|
| 1838 |
+
"130279": {
|
| 1839 |
+
"content": "<unused_token_197>",
|
| 1840 |
+
"lstrip": false,
|
| 1841 |
+
"normalized": true,
|
| 1842 |
+
"rstrip": false,
|
| 1843 |
+
"single_word": false,
|
| 1844 |
+
"special": false
|
| 1845 |
+
},
|
| 1846 |
+
"130280": {
|
| 1847 |
+
"content": "<unused_token_198>",
|
| 1848 |
+
"lstrip": false,
|
| 1849 |
+
"normalized": true,
|
| 1850 |
+
"rstrip": false,
|
| 1851 |
+
"single_word": false,
|
| 1852 |
+
"special": false
|
| 1853 |
+
},
|
| 1854 |
+
"130281": {
|
| 1855 |
+
"content": "<unused_token_199>",
|
| 1856 |
+
"lstrip": false,
|
| 1857 |
+
"normalized": true,
|
| 1858 |
+
"rstrip": false,
|
| 1859 |
+
"single_word": false,
|
| 1860 |
+
"special": false
|
| 1861 |
+
},
|
| 1862 |
+
"130282": {
|
| 1863 |
+
"content": "<unused_token_200>",
|
| 1864 |
+
"lstrip": false,
|
| 1865 |
+
"normalized": true,
|
| 1866 |
+
"rstrip": false,
|
| 1867 |
+
"single_word": false,
|
| 1868 |
+
"special": false
|
| 1869 |
+
},
|
| 1870 |
+
"130283": {
|
| 1871 |
+
"content": "<unused_token_201>",
|
| 1872 |
+
"lstrip": false,
|
| 1873 |
+
"normalized": true,
|
| 1874 |
+
"rstrip": false,
|
| 1875 |
+
"single_word": false,
|
| 1876 |
+
"special": false
|
| 1877 |
+
},
|
| 1878 |
+
"130284": {
|
| 1879 |
+
"content": "<unused_token_202>",
|
| 1880 |
+
"lstrip": false,
|
| 1881 |
+
"normalized": true,
|
| 1882 |
+
"rstrip": false,
|
| 1883 |
+
"single_word": false,
|
| 1884 |
+
"special": false
|
| 1885 |
+
},
|
| 1886 |
+
"130285": {
|
| 1887 |
+
"content": "<unused_token_203>",
|
| 1888 |
+
"lstrip": false,
|
| 1889 |
+
"normalized": true,
|
| 1890 |
+
"rstrip": false,
|
| 1891 |
+
"single_word": false,
|
| 1892 |
+
"special": false
|
| 1893 |
+
},
|
| 1894 |
+
"130286": {
|
| 1895 |
+
"content": "<unused_token_204>",
|
| 1896 |
+
"lstrip": false,
|
| 1897 |
+
"normalized": true,
|
| 1898 |
+
"rstrip": false,
|
| 1899 |
+
"single_word": false,
|
| 1900 |
+
"special": false
|
| 1901 |
+
},
|
| 1902 |
+
"130287": {
|
| 1903 |
+
"content": "<unused_token_205>",
|
| 1904 |
+
"lstrip": false,
|
| 1905 |
+
"normalized": true,
|
| 1906 |
+
"rstrip": false,
|
| 1907 |
+
"single_word": false,
|
| 1908 |
+
"special": false
|
| 1909 |
+
},
|
| 1910 |
+
"130288": {
|
| 1911 |
+
"content": "<unused_token_206>",
|
| 1912 |
+
"lstrip": false,
|
| 1913 |
+
"normalized": true,
|
| 1914 |
+
"rstrip": false,
|
| 1915 |
+
"single_word": false,
|
| 1916 |
+
"special": false
|
| 1917 |
+
},
|
| 1918 |
+
"130289": {
|
| 1919 |
+
"content": "<unused_token_207>",
|
| 1920 |
+
"lstrip": false,
|
| 1921 |
+
"normalized": true,
|
| 1922 |
+
"rstrip": false,
|
| 1923 |
+
"single_word": false,
|
| 1924 |
+
"special": false
|
| 1925 |
+
},
|
| 1926 |
+
"130290": {
|
| 1927 |
+
"content": "<unused_token_208>",
|
| 1928 |
+
"lstrip": false,
|
| 1929 |
+
"normalized": true,
|
| 1930 |
+
"rstrip": false,
|
| 1931 |
+
"single_word": false,
|
| 1932 |
+
"special": false
|
| 1933 |
+
},
|
| 1934 |
+
"130291": {
|
| 1935 |
+
"content": "<unused_token_209>",
|
| 1936 |
+
"lstrip": false,
|
| 1937 |
+
"normalized": true,
|
| 1938 |
+
"rstrip": false,
|
| 1939 |
+
"single_word": false,
|
| 1940 |
+
"special": false
|
| 1941 |
+
},
|
| 1942 |
+
"130292": {
|
| 1943 |
+
"content": "<unused_token_210>",
|
| 1944 |
+
"lstrip": false,
|
| 1945 |
+
"normalized": true,
|
| 1946 |
+
"rstrip": false,
|
| 1947 |
+
"single_word": false,
|
| 1948 |
+
"special": false
|
| 1949 |
+
},
|
| 1950 |
+
"130293": {
|
| 1951 |
+
"content": "<unused_token_211>",
|
| 1952 |
+
"lstrip": false,
|
| 1953 |
+
"normalized": true,
|
| 1954 |
+
"rstrip": false,
|
| 1955 |
+
"single_word": false,
|
| 1956 |
+
"special": false
|
| 1957 |
+
},
|
| 1958 |
+
"130294": {
|
| 1959 |
+
"content": "<unused_token_212>",
|
| 1960 |
+
"lstrip": false,
|
| 1961 |
+
"normalized": true,
|
| 1962 |
+
"rstrip": false,
|
| 1963 |
+
"single_word": false,
|
| 1964 |
+
"special": false
|
| 1965 |
+
},
|
| 1966 |
+
"130295": {
|
| 1967 |
+
"content": "<unused_token_213>",
|
| 1968 |
+
"lstrip": false,
|
| 1969 |
+
"normalized": true,
|
| 1970 |
+
"rstrip": false,
|
| 1971 |
+
"single_word": false,
|
| 1972 |
+
"special": false
|
| 1973 |
+
},
|
| 1974 |
+
"130296": {
|
| 1975 |
+
"content": "<unused_token_214>",
|
| 1976 |
+
"lstrip": false,
|
| 1977 |
+
"normalized": true,
|
| 1978 |
+
"rstrip": false,
|
| 1979 |
+
"single_word": false,
|
| 1980 |
+
"special": false
|
| 1981 |
+
},
|
| 1982 |
+
"130297": {
|
| 1983 |
+
"content": "<unused_token_215>",
|
| 1984 |
+
"lstrip": false,
|
| 1985 |
+
"normalized": true,
|
| 1986 |
+
"rstrip": false,
|
| 1987 |
+
"single_word": false,
|
| 1988 |
+
"special": false
|
| 1989 |
+
},
|
| 1990 |
+
"130298": {
|
| 1991 |
+
"content": "<unused_token_216>",
|
| 1992 |
+
"lstrip": false,
|
| 1993 |
+
"normalized": true,
|
| 1994 |
+
"rstrip": false,
|
| 1995 |
+
"single_word": false,
|
| 1996 |
+
"special": false
|
| 1997 |
+
},
|
| 1998 |
+
"130299": {
|
| 1999 |
+
"content": "<unused_token_217>",
|
| 2000 |
+
"lstrip": false,
|
| 2001 |
+
"normalized": true,
|
| 2002 |
+
"rstrip": false,
|
| 2003 |
+
"single_word": false,
|
| 2004 |
+
"special": false
|
| 2005 |
+
},
|
| 2006 |
+
"130300": {
|
| 2007 |
+
"content": "<unused_token_218>",
|
| 2008 |
+
"lstrip": false,
|
| 2009 |
+
"normalized": true,
|
| 2010 |
+
"rstrip": false,
|
| 2011 |
+
"single_word": false,
|
| 2012 |
+
"special": false
|
| 2013 |
+
},
|
| 2014 |
+
"130301": {
|
| 2015 |
+
"content": "<unused_token_219>",
|
| 2016 |
+
"lstrip": false,
|
| 2017 |
+
"normalized": true,
|
| 2018 |
+
"rstrip": false,
|
| 2019 |
+
"single_word": false,
|
| 2020 |
+
"special": false
|
| 2021 |
+
},
|
| 2022 |
+
"130302": {
|
| 2023 |
+
"content": "<unused_token_220>",
|
| 2024 |
+
"lstrip": false,
|
| 2025 |
+
"normalized": true,
|
| 2026 |
+
"rstrip": false,
|
| 2027 |
+
"single_word": false,
|
| 2028 |
+
"special": false
|
| 2029 |
+
},
|
| 2030 |
+
"130303": {
|
| 2031 |
+
"content": "<unused_token_221>",
|
| 2032 |
+
"lstrip": false,
|
| 2033 |
+
"normalized": true,
|
| 2034 |
+
"rstrip": false,
|
| 2035 |
+
"single_word": false,
|
| 2036 |
+
"special": false
|
| 2037 |
+
},
|
| 2038 |
+
"130304": {
|
| 2039 |
+
"content": "<unused_token_222>",
|
| 2040 |
+
"lstrip": false,
|
| 2041 |
+
"normalized": true,
|
| 2042 |
+
"rstrip": false,
|
| 2043 |
+
"single_word": false,
|
| 2044 |
+
"special": false
|
| 2045 |
+
},
|
| 2046 |
+
"130305": {
|
| 2047 |
+
"content": "<unused_token_223>",
|
| 2048 |
+
"lstrip": false,
|
| 2049 |
+
"normalized": true,
|
| 2050 |
+
"rstrip": false,
|
| 2051 |
+
"single_word": false,
|
| 2052 |
+
"special": false
|
| 2053 |
+
},
|
| 2054 |
+
"130306": {
|
| 2055 |
+
"content": "<unused_token_224>",
|
| 2056 |
+
"lstrip": false,
|
| 2057 |
+
"normalized": true,
|
| 2058 |
+
"rstrip": false,
|
| 2059 |
+
"single_word": false,
|
| 2060 |
+
"special": false
|
| 2061 |
+
},
|
| 2062 |
+
"130307": {
|
| 2063 |
+
"content": "<unused_token_225>",
|
| 2064 |
+
"lstrip": false,
|
| 2065 |
+
"normalized": true,
|
| 2066 |
+
"rstrip": false,
|
| 2067 |
+
"single_word": false,
|
| 2068 |
+
"special": false
|
| 2069 |
+
},
|
| 2070 |
+
"130308": {
|
| 2071 |
+
"content": "<unused_token_226>",
|
| 2072 |
+
"lstrip": false,
|
| 2073 |
+
"normalized": true,
|
| 2074 |
+
"rstrip": false,
|
| 2075 |
+
"single_word": false,
|
| 2076 |
+
"special": false
|
| 2077 |
+
},
|
| 2078 |
+
"130309": {
|
| 2079 |
+
"content": "<unused_token_227>",
|
| 2080 |
+
"lstrip": false,
|
| 2081 |
+
"normalized": true,
|
| 2082 |
+
"rstrip": false,
|
| 2083 |
+
"single_word": false,
|
| 2084 |
+
"special": false
|
| 2085 |
+
},
|
| 2086 |
+
"130310": {
|
| 2087 |
+
"content": "<unused_token_228>",
|
| 2088 |
+
"lstrip": false,
|
| 2089 |
+
"normalized": true,
|
| 2090 |
+
"rstrip": false,
|
| 2091 |
+
"single_word": false,
|
| 2092 |
+
"special": false
|
| 2093 |
+
},
|
| 2094 |
+
"130311": {
|
| 2095 |
+
"content": "<unused_token_229>",
|
| 2096 |
+
"lstrip": false,
|
| 2097 |
+
"normalized": true,
|
| 2098 |
+
"rstrip": false,
|
| 2099 |
+
"single_word": false,
|
| 2100 |
+
"special": false
|
| 2101 |
+
},
|
| 2102 |
+
"130312": {
|
| 2103 |
+
"content": "<unused_token_230>",
|
| 2104 |
+
"lstrip": false,
|
| 2105 |
+
"normalized": true,
|
| 2106 |
+
"rstrip": false,
|
| 2107 |
+
"single_word": false,
|
| 2108 |
+
"special": false
|
| 2109 |
+
},
|
| 2110 |
+
"130313": {
|
| 2111 |
+
"content": "<unused_token_231>",
|
| 2112 |
+
"lstrip": false,
|
| 2113 |
+
"normalized": true,
|
| 2114 |
+
"rstrip": false,
|
| 2115 |
+
"single_word": false,
|
| 2116 |
+
"special": false
|
| 2117 |
+
},
|
| 2118 |
+
"130314": {
|
| 2119 |
+
"content": "<unused_token_232>",
|
| 2120 |
+
"lstrip": false,
|
| 2121 |
+
"normalized": true,
|
| 2122 |
+
"rstrip": false,
|
| 2123 |
+
"single_word": false,
|
| 2124 |
+
"special": false
|
| 2125 |
+
},
|
| 2126 |
+
"130315": {
|
| 2127 |
+
"content": "<unused_token_233>",
|
| 2128 |
+
"lstrip": false,
|
| 2129 |
+
"normalized": true,
|
| 2130 |
+
"rstrip": false,
|
| 2131 |
+
"single_word": false,
|
| 2132 |
+
"special": false
|
| 2133 |
+
},
|
| 2134 |
+
"130316": {
|
| 2135 |
+
"content": "<unused_token_234>",
|
| 2136 |
+
"lstrip": false,
|
| 2137 |
+
"normalized": true,
|
| 2138 |
+
"rstrip": false,
|
| 2139 |
+
"single_word": false,
|
| 2140 |
+
"special": false
|
| 2141 |
+
},
|
| 2142 |
+
"130317": {
|
| 2143 |
+
"content": "<unused_token_235>",
|
| 2144 |
+
"lstrip": false,
|
| 2145 |
+
"normalized": true,
|
| 2146 |
+
"rstrip": false,
|
| 2147 |
+
"single_word": false,
|
| 2148 |
+
"special": false
|
| 2149 |
+
},
|
| 2150 |
+
"130318": {
|
| 2151 |
+
"content": "<unused_token_236>",
|
| 2152 |
+
"lstrip": false,
|
| 2153 |
+
"normalized": true,
|
| 2154 |
+
"rstrip": false,
|
| 2155 |
+
"single_word": false,
|
| 2156 |
+
"special": false
|
| 2157 |
+
},
|
| 2158 |
+
"130319": {
|
| 2159 |
+
"content": "<unused_token_237>",
|
| 2160 |
+
"lstrip": false,
|
| 2161 |
+
"normalized": true,
|
| 2162 |
+
"rstrip": false,
|
| 2163 |
+
"single_word": false,
|
| 2164 |
+
"special": false
|
| 2165 |
+
},
|
| 2166 |
+
"130320": {
|
| 2167 |
+
"content": "<unused_token_238>",
|
| 2168 |
+
"lstrip": false,
|
| 2169 |
+
"normalized": true,
|
| 2170 |
+
"rstrip": false,
|
| 2171 |
+
"single_word": false,
|
| 2172 |
+
"special": false
|
| 2173 |
+
},
|
| 2174 |
+
"130321": {
|
| 2175 |
+
"content": "<unused_token_239>",
|
| 2176 |
+
"lstrip": false,
|
| 2177 |
+
"normalized": true,
|
| 2178 |
+
"rstrip": false,
|
| 2179 |
+
"single_word": false,
|
| 2180 |
+
"special": false
|
| 2181 |
+
},
|
| 2182 |
+
"130322": {
|
| 2183 |
+
"content": "<unused_token_240>",
|
| 2184 |
+
"lstrip": false,
|
| 2185 |
+
"normalized": true,
|
| 2186 |
+
"rstrip": false,
|
| 2187 |
+
"single_word": false,
|
| 2188 |
+
"special": false
|
| 2189 |
+
},
|
| 2190 |
+
"130323": {
|
| 2191 |
+
"content": "<unused_token_241>",
|
| 2192 |
+
"lstrip": false,
|
| 2193 |
+
"normalized": true,
|
| 2194 |
+
"rstrip": false,
|
| 2195 |
+
"single_word": false,
|
| 2196 |
+
"special": false
|
| 2197 |
+
},
|
| 2198 |
+
"130324": {
|
| 2199 |
+
"content": "<unused_token_242>",
|
| 2200 |
+
"lstrip": false,
|
| 2201 |
+
"normalized": true,
|
| 2202 |
+
"rstrip": false,
|
| 2203 |
+
"single_word": false,
|
| 2204 |
+
"special": false
|
| 2205 |
+
},
|
| 2206 |
+
"130325": {
|
| 2207 |
+
"content": "<unused_token_243>",
|
| 2208 |
+
"lstrip": false,
|
| 2209 |
+
"normalized": true,
|
| 2210 |
+
"rstrip": false,
|
| 2211 |
+
"single_word": false,
|
| 2212 |
+
"special": false
|
| 2213 |
+
},
|
| 2214 |
+
"130326": {
|
| 2215 |
+
"content": "<unused_token_244>",
|
| 2216 |
+
"lstrip": false,
|
| 2217 |
+
"normalized": true,
|
| 2218 |
+
"rstrip": false,
|
| 2219 |
+
"single_word": false,
|
| 2220 |
+
"special": false
|
| 2221 |
+
},
|
| 2222 |
+
"130327": {
|
| 2223 |
+
"content": "<unused_token_245>",
|
| 2224 |
+
"lstrip": false,
|
| 2225 |
+
"normalized": true,
|
| 2226 |
+
"rstrip": false,
|
| 2227 |
+
"single_word": false,
|
| 2228 |
+
"special": false
|
| 2229 |
+
},
|
| 2230 |
+
"130328": {
|
| 2231 |
+
"content": "<unused_token_246>",
|
| 2232 |
+
"lstrip": false,
|
| 2233 |
+
"normalized": true,
|
| 2234 |
+
"rstrip": false,
|
| 2235 |
+
"single_word": false,
|
| 2236 |
+
"special": false
|
| 2237 |
+
},
|
| 2238 |
+
"130329": {
|
| 2239 |
+
"content": "<unused_token_247>",
|
| 2240 |
+
"lstrip": false,
|
| 2241 |
+
"normalized": true,
|
| 2242 |
+
"rstrip": false,
|
| 2243 |
+
"single_word": false,
|
| 2244 |
+
"special": false
|
| 2245 |
+
},
|
| 2246 |
+
"130330": {
|
| 2247 |
+
"content": "<unused_token_248>",
|
| 2248 |
+
"lstrip": false,
|
| 2249 |
+
"normalized": true,
|
| 2250 |
+
"rstrip": false,
|
| 2251 |
+
"single_word": false,
|
| 2252 |
+
"special": false
|
| 2253 |
+
},
|
| 2254 |
+
"130331": {
|
| 2255 |
+
"content": "<unused_token_249>",
|
| 2256 |
+
"lstrip": false,
|
| 2257 |
+
"normalized": true,
|
| 2258 |
+
"rstrip": false,
|
| 2259 |
+
"single_word": false,
|
| 2260 |
+
"special": false
|
| 2261 |
+
},
|
| 2262 |
+
"130332": {
|
| 2263 |
+
"content": "<unused_token_250>",
|
| 2264 |
+
"lstrip": false,
|
| 2265 |
+
"normalized": true,
|
| 2266 |
+
"rstrip": false,
|
| 2267 |
+
"single_word": false,
|
| 2268 |
+
"special": false
|
| 2269 |
+
},
|
| 2270 |
+
"130333": {
|
| 2271 |
+
"content": "<unused_token_251>",
|
| 2272 |
+
"lstrip": false,
|
| 2273 |
+
"normalized": true,
|
| 2274 |
+
"rstrip": false,
|
| 2275 |
+
"single_word": false,
|
| 2276 |
+
"special": false
|
| 2277 |
+
},
|
| 2278 |
+
"130334": {
|
| 2279 |
+
"content": "<unused_token_252>",
|
| 2280 |
+
"lstrip": false,
|
| 2281 |
+
"normalized": true,
|
| 2282 |
+
"rstrip": false,
|
| 2283 |
+
"single_word": false,
|
| 2284 |
+
"special": false
|
| 2285 |
+
},
|
| 2286 |
+
"130335": {
|
| 2287 |
+
"content": "<unused_token_253>",
|
| 2288 |
+
"lstrip": false,
|
| 2289 |
+
"normalized": true,
|
| 2290 |
+
"rstrip": false,
|
| 2291 |
+
"single_word": false,
|
| 2292 |
+
"special": false
|
| 2293 |
+
},
|
| 2294 |
+
"130336": {
|
| 2295 |
+
"content": "<unused_token_254>",
|
| 2296 |
+
"lstrip": false,
|
| 2297 |
+
"normalized": true,
|
| 2298 |
+
"rstrip": false,
|
| 2299 |
+
"single_word": false,
|
| 2300 |
+
"special": false
|
| 2301 |
+
},
|
| 2302 |
+
"130337": {
|
| 2303 |
+
"content": "<unused_token_255>",
|
| 2304 |
+
"lstrip": false,
|
| 2305 |
+
"normalized": true,
|
| 2306 |
+
"rstrip": false,
|
| 2307 |
+
"single_word": false,
|
| 2308 |
+
"special": false
|
| 2309 |
+
},
|
| 2310 |
+
"130338": {
|
| 2311 |
+
"content": "<unused_token_256>",
|
| 2312 |
+
"lstrip": false,
|
| 2313 |
+
"normalized": true,
|
| 2314 |
+
"rstrip": false,
|
| 2315 |
+
"single_word": false,
|
| 2316 |
+
"special": false
|
| 2317 |
+
},
|
| 2318 |
+
"130339": {
|
| 2319 |
+
"content": "<unused_token_257>",
|
| 2320 |
+
"lstrip": false,
|
| 2321 |
+
"normalized": true,
|
| 2322 |
+
"rstrip": false,
|
| 2323 |
+
"single_word": false,
|
| 2324 |
+
"special": false
|
| 2325 |
+
},
|
| 2326 |
+
"130340": {
|
| 2327 |
+
"content": "<unused_token_258>",
|
| 2328 |
+
"lstrip": false,
|
| 2329 |
+
"normalized": true,
|
| 2330 |
+
"rstrip": false,
|
| 2331 |
+
"single_word": false,
|
| 2332 |
+
"special": false
|
| 2333 |
+
},
|
| 2334 |
+
"130341": {
|
| 2335 |
+
"content": "<unused_token_259>",
|
| 2336 |
+
"lstrip": false,
|
| 2337 |
+
"normalized": true,
|
| 2338 |
+
"rstrip": false,
|
| 2339 |
+
"single_word": false,
|
| 2340 |
+
"special": false
|
| 2341 |
+
},
|
| 2342 |
+
"130342": {
|
| 2343 |
+
"content": "<unused_token_260>",
|
| 2344 |
+
"lstrip": false,
|
| 2345 |
+
"normalized": true,
|
| 2346 |
+
"rstrip": false,
|
| 2347 |
+
"single_word": false,
|
| 2348 |
+
"special": false
|
| 2349 |
+
},
|
| 2350 |
+
"130343": {
|
| 2351 |
+
"content": "<unused_token_261>",
|
| 2352 |
+
"lstrip": false,
|
| 2353 |
+
"normalized": true,
|
| 2354 |
+
"rstrip": false,
|
| 2355 |
+
"single_word": false,
|
| 2356 |
+
"special": false
|
| 2357 |
+
},
|
| 2358 |
+
"130344": {
|
| 2359 |
+
"content": "<unused_token_262>",
|
| 2360 |
+
"lstrip": false,
|
| 2361 |
+
"normalized": true,
|
| 2362 |
+
"rstrip": false,
|
| 2363 |
+
"single_word": false,
|
| 2364 |
+
"special": false
|
| 2365 |
+
},
|
| 2366 |
+
"130345": {
|
| 2367 |
+
"content": "<unused_token_263>",
|
| 2368 |
+
"lstrip": false,
|
| 2369 |
+
"normalized": true,
|
| 2370 |
+
"rstrip": false,
|
| 2371 |
+
"single_word": false,
|
| 2372 |
+
"special": false
|
| 2373 |
+
},
|
| 2374 |
+
"130346": {
|
| 2375 |
+
"content": "<unused_token_264>",
|
| 2376 |
+
"lstrip": false,
|
| 2377 |
+
"normalized": true,
|
| 2378 |
+
"rstrip": false,
|
| 2379 |
+
"single_word": false,
|
| 2380 |
+
"special": false
|
| 2381 |
+
},
|
| 2382 |
+
"130347": {
|
| 2383 |
+
"content": "<unused_token_265>",
|
| 2384 |
+
"lstrip": false,
|
| 2385 |
+
"normalized": true,
|
| 2386 |
+
"rstrip": false,
|
| 2387 |
+
"single_word": false,
|
| 2388 |
+
"special": false
|
| 2389 |
+
},
|
| 2390 |
+
"130348": {
|
| 2391 |
+
"content": "<unused_token_266>",
|
| 2392 |
+
"lstrip": false,
|
| 2393 |
+
"normalized": true,
|
| 2394 |
+
"rstrip": false,
|
| 2395 |
+
"single_word": false,
|
| 2396 |
+
"special": false
|
| 2397 |
+
},
|
| 2398 |
+
"130349": {
|
| 2399 |
+
"content": "<unused_token_267>",
|
| 2400 |
+
"lstrip": false,
|
| 2401 |
+
"normalized": true,
|
| 2402 |
+
"rstrip": false,
|
| 2403 |
+
"single_word": false,
|
| 2404 |
+
"special": false
|
| 2405 |
+
},
|
| 2406 |
+
"130350": {
|
| 2407 |
+
"content": "<unused_token_268>",
|
| 2408 |
+
"lstrip": false,
|
| 2409 |
+
"normalized": true,
|
| 2410 |
+
"rstrip": false,
|
| 2411 |
+
"single_word": false,
|
| 2412 |
+
"special": false
|
| 2413 |
+
},
|
| 2414 |
+
"130351": {
|
| 2415 |
+
"content": "<unused_token_269>",
|
| 2416 |
+
"lstrip": false,
|
| 2417 |
+
"normalized": true,
|
| 2418 |
+
"rstrip": false,
|
| 2419 |
+
"single_word": false,
|
| 2420 |
+
"special": false
|
| 2421 |
+
},
|
| 2422 |
+
"130352": {
|
| 2423 |
+
"content": "<unused_token_270>",
|
| 2424 |
+
"lstrip": false,
|
| 2425 |
+
"normalized": true,
|
| 2426 |
+
"rstrip": false,
|
| 2427 |
+
"single_word": false,
|
| 2428 |
+
"special": false
|
| 2429 |
+
},
|
| 2430 |
+
"130353": {
|
| 2431 |
+
"content": "<unused_token_271>",
|
| 2432 |
+
"lstrip": false,
|
| 2433 |
+
"normalized": true,
|
| 2434 |
+
"rstrip": false,
|
| 2435 |
+
"single_word": false,
|
| 2436 |
+
"special": false
|
| 2437 |
+
},
|
| 2438 |
+
"130354": {
|
| 2439 |
+
"content": "<unused_token_272>",
|
| 2440 |
+
"lstrip": false,
|
| 2441 |
+
"normalized": true,
|
| 2442 |
+
"rstrip": false,
|
| 2443 |
+
"single_word": false,
|
| 2444 |
+
"special": false
|
| 2445 |
+
},
|
| 2446 |
+
"130355": {
|
| 2447 |
+
"content": "<unused_token_273>",
|
| 2448 |
+
"lstrip": false,
|
| 2449 |
+
"normalized": true,
|
| 2450 |
+
"rstrip": false,
|
| 2451 |
+
"single_word": false,
|
| 2452 |
+
"special": false
|
| 2453 |
+
},
|
| 2454 |
+
"130356": {
|
| 2455 |
+
"content": "<unused_token_274>",
|
| 2456 |
+
"lstrip": false,
|
| 2457 |
+
"normalized": true,
|
| 2458 |
+
"rstrip": false,
|
| 2459 |
+
"single_word": false,
|
| 2460 |
+
"special": false
|
| 2461 |
+
},
|
| 2462 |
+
"130357": {
|
| 2463 |
+
"content": "<unused_token_275>",
|
| 2464 |
+
"lstrip": false,
|
| 2465 |
+
"normalized": true,
|
| 2466 |
+
"rstrip": false,
|
| 2467 |
+
"single_word": false,
|
| 2468 |
+
"special": false
|
| 2469 |
+
},
|
| 2470 |
+
"130358": {
|
| 2471 |
+
"content": "<unused_token_276>",
|
| 2472 |
+
"lstrip": false,
|
| 2473 |
+
"normalized": true,
|
| 2474 |
+
"rstrip": false,
|
| 2475 |
+
"single_word": false,
|
| 2476 |
+
"special": false
|
| 2477 |
+
},
|
| 2478 |
+
"130359": {
|
| 2479 |
+
"content": "<unused_token_277>",
|
| 2480 |
+
"lstrip": false,
|
| 2481 |
+
"normalized": true,
|
| 2482 |
+
"rstrip": false,
|
| 2483 |
+
"single_word": false,
|
| 2484 |
+
"special": false
|
| 2485 |
+
},
|
| 2486 |
+
"130360": {
|
| 2487 |
+
"content": "<unused_token_278>",
|
| 2488 |
+
"lstrip": false,
|
| 2489 |
+
"normalized": true,
|
| 2490 |
+
"rstrip": false,
|
| 2491 |
+
"single_word": false,
|
| 2492 |
+
"special": false
|
| 2493 |
+
},
|
| 2494 |
+
"130361": {
|
| 2495 |
+
"content": "<unused_token_279>",
|
| 2496 |
+
"lstrip": false,
|
| 2497 |
+
"normalized": true,
|
| 2498 |
+
"rstrip": false,
|
| 2499 |
+
"single_word": false,
|
| 2500 |
+
"special": false
|
| 2501 |
+
},
|
| 2502 |
+
"130362": {
|
| 2503 |
+
"content": "<unused_token_280>",
|
| 2504 |
+
"lstrip": false,
|
| 2505 |
+
"normalized": true,
|
| 2506 |
+
"rstrip": false,
|
| 2507 |
+
"single_word": false,
|
| 2508 |
+
"special": false
|
| 2509 |
+
},
|
| 2510 |
+
"130363": {
|
| 2511 |
+
"content": "<unused_token_281>",
|
| 2512 |
+
"lstrip": false,
|
| 2513 |
+
"normalized": true,
|
| 2514 |
+
"rstrip": false,
|
| 2515 |
+
"single_word": false,
|
| 2516 |
+
"special": false
|
| 2517 |
+
},
|
| 2518 |
+
"130364": {
|
| 2519 |
+
"content": "<unused_token_282>",
|
| 2520 |
+
"lstrip": false,
|
| 2521 |
+
"normalized": true,
|
| 2522 |
+
"rstrip": false,
|
| 2523 |
+
"single_word": false,
|
| 2524 |
+
"special": false
|
| 2525 |
+
},
|
| 2526 |
+
"130365": {
|
| 2527 |
+
"content": "<unused_token_283>",
|
| 2528 |
+
"lstrip": false,
|
| 2529 |
+
"normalized": true,
|
| 2530 |
+
"rstrip": false,
|
| 2531 |
+
"single_word": false,
|
| 2532 |
+
"special": false
|
| 2533 |
+
},
|
| 2534 |
+
"130366": {
|
| 2535 |
+
"content": "<unused_token_284>",
|
| 2536 |
+
"lstrip": false,
|
| 2537 |
+
"normalized": true,
|
| 2538 |
+
"rstrip": false,
|
| 2539 |
+
"single_word": false,
|
| 2540 |
+
"special": false
|
| 2541 |
+
},
|
| 2542 |
+
"130367": {
|
| 2543 |
+
"content": "<unused_token_285>",
|
| 2544 |
+
"lstrip": false,
|
| 2545 |
+
"normalized": true,
|
| 2546 |
+
"rstrip": false,
|
| 2547 |
+
"single_word": false,
|
| 2548 |
+
"special": false
|
| 2549 |
+
},
|
| 2550 |
+
"130368": {
|
| 2551 |
+
"content": "<unused_token_286>",
|
| 2552 |
+
"lstrip": false,
|
| 2553 |
+
"normalized": true,
|
| 2554 |
+
"rstrip": false,
|
| 2555 |
+
"single_word": false,
|
| 2556 |
+
"special": false
|
| 2557 |
+
},
|
| 2558 |
+
"130369": {
|
| 2559 |
+
"content": "<unused_token_287>",
|
| 2560 |
+
"lstrip": false,
|
| 2561 |
+
"normalized": true,
|
| 2562 |
+
"rstrip": false,
|
| 2563 |
+
"single_word": false,
|
| 2564 |
+
"special": false
|
| 2565 |
+
},
|
| 2566 |
+
"130370": {
|
| 2567 |
+
"content": "<unused_token_288>",
|
| 2568 |
+
"lstrip": false,
|
| 2569 |
+
"normalized": true,
|
| 2570 |
+
"rstrip": false,
|
| 2571 |
+
"single_word": false,
|
| 2572 |
+
"special": false
|
| 2573 |
+
},
|
| 2574 |
+
"130371": {
|
| 2575 |
+
"content": "<unused_token_289>",
|
| 2576 |
+
"lstrip": false,
|
| 2577 |
+
"normalized": true,
|
| 2578 |
+
"rstrip": false,
|
| 2579 |
+
"single_word": false,
|
| 2580 |
+
"special": false
|
| 2581 |
+
},
|
| 2582 |
+
"130372": {
|
| 2583 |
+
"content": "<unused_token_290>",
|
| 2584 |
+
"lstrip": false,
|
| 2585 |
+
"normalized": true,
|
| 2586 |
+
"rstrip": false,
|
| 2587 |
+
"single_word": false,
|
| 2588 |
+
"special": false
|
| 2589 |
+
},
|
| 2590 |
+
"130373": {
|
| 2591 |
+
"content": "<unused_token_291>",
|
| 2592 |
+
"lstrip": false,
|
| 2593 |
+
"normalized": true,
|
| 2594 |
+
"rstrip": false,
|
| 2595 |
+
"single_word": false,
|
| 2596 |
+
"special": false
|
| 2597 |
+
},
|
| 2598 |
+
"130374": {
|
| 2599 |
+
"content": "<unused_token_292>",
|
| 2600 |
+
"lstrip": false,
|
| 2601 |
+
"normalized": true,
|
| 2602 |
+
"rstrip": false,
|
| 2603 |
+
"single_word": false,
|
| 2604 |
+
"special": false
|
| 2605 |
+
},
|
| 2606 |
+
"130375": {
|
| 2607 |
+
"content": "<unused_token_293>",
|
| 2608 |
+
"lstrip": false,
|
| 2609 |
+
"normalized": true,
|
| 2610 |
+
"rstrip": false,
|
| 2611 |
+
"single_word": false,
|
| 2612 |
+
"special": false
|
| 2613 |
+
},
|
| 2614 |
+
"130376": {
|
| 2615 |
+
"content": "<unused_token_294>",
|
| 2616 |
+
"lstrip": false,
|
| 2617 |
+
"normalized": true,
|
| 2618 |
+
"rstrip": false,
|
| 2619 |
+
"single_word": false,
|
| 2620 |
+
"special": false
|
| 2621 |
+
},
|
| 2622 |
+
"130377": {
|
| 2623 |
+
"content": "<unused_token_295>",
|
| 2624 |
+
"lstrip": false,
|
| 2625 |
+
"normalized": true,
|
| 2626 |
+
"rstrip": false,
|
| 2627 |
+
"single_word": false,
|
| 2628 |
+
"special": false
|
| 2629 |
+
},
|
| 2630 |
+
"130378": {
|
| 2631 |
+
"content": "<unused_token_296>",
|
| 2632 |
+
"lstrip": false,
|
| 2633 |
+
"normalized": true,
|
| 2634 |
+
"rstrip": false,
|
| 2635 |
+
"single_word": false,
|
| 2636 |
+
"special": false
|
| 2637 |
+
},
|
| 2638 |
+
"130379": {
|
| 2639 |
+
"content": "<unused_token_297>",
|
| 2640 |
+
"lstrip": false,
|
| 2641 |
+
"normalized": true,
|
| 2642 |
+
"rstrip": false,
|
| 2643 |
+
"single_word": false,
|
| 2644 |
+
"special": false
|
| 2645 |
+
},
|
| 2646 |
+
"130380": {
|
| 2647 |
+
"content": "<unused_token_298>",
|
| 2648 |
+
"lstrip": false,
|
| 2649 |
+
"normalized": true,
|
| 2650 |
+
"rstrip": false,
|
| 2651 |
+
"single_word": false,
|
| 2652 |
+
"special": false
|
| 2653 |
+
},
|
| 2654 |
+
"130381": {
|
| 2655 |
+
"content": "<unused_token_299>",
|
| 2656 |
+
"lstrip": false,
|
| 2657 |
+
"normalized": true,
|
| 2658 |
+
"rstrip": false,
|
| 2659 |
+
"single_word": false,
|
| 2660 |
+
"special": false
|
| 2661 |
+
},
|
| 2662 |
+
"130382": {
|
| 2663 |
+
"content": "<unused_token_300>",
|
| 2664 |
+
"lstrip": false,
|
| 2665 |
+
"normalized": true,
|
| 2666 |
+
"rstrip": false,
|
| 2667 |
+
"single_word": false,
|
| 2668 |
+
"special": false
|
| 2669 |
+
},
|
| 2670 |
+
"130383": {
|
| 2671 |
+
"content": "<unused_token_301>",
|
| 2672 |
+
"lstrip": false,
|
| 2673 |
+
"normalized": true,
|
| 2674 |
+
"rstrip": false,
|
| 2675 |
+
"single_word": false,
|
| 2676 |
+
"special": false
|
| 2677 |
+
},
|
| 2678 |
+
"130384": {
|
| 2679 |
+
"content": "<unused_token_302>",
|
| 2680 |
+
"lstrip": false,
|
| 2681 |
+
"normalized": true,
|
| 2682 |
+
"rstrip": false,
|
| 2683 |
+
"single_word": false,
|
| 2684 |
+
"special": false
|
| 2685 |
+
},
|
| 2686 |
+
"130385": {
|
| 2687 |
+
"content": "<unused_token_303>",
|
| 2688 |
+
"lstrip": false,
|
| 2689 |
+
"normalized": true,
|
| 2690 |
+
"rstrip": false,
|
| 2691 |
+
"single_word": false,
|
| 2692 |
+
"special": false
|
| 2693 |
+
},
|
| 2694 |
+
"130386": {
|
| 2695 |
+
"content": "<unused_token_304>",
|
| 2696 |
+
"lstrip": false,
|
| 2697 |
+
"normalized": true,
|
| 2698 |
+
"rstrip": false,
|
| 2699 |
+
"single_word": false,
|
| 2700 |
+
"special": false
|
| 2701 |
+
},
|
| 2702 |
+
"130387": {
|
| 2703 |
+
"content": "<unused_token_305>",
|
| 2704 |
+
"lstrip": false,
|
| 2705 |
+
"normalized": true,
|
| 2706 |
+
"rstrip": false,
|
| 2707 |
+
"single_word": false,
|
| 2708 |
+
"special": false
|
| 2709 |
+
},
|
| 2710 |
+
"130388": {
|
| 2711 |
+
"content": "<unused_token_306>",
|
| 2712 |
+
"lstrip": false,
|
| 2713 |
+
"normalized": true,
|
| 2714 |
+
"rstrip": false,
|
| 2715 |
+
"single_word": false,
|
| 2716 |
+
"special": false
|
| 2717 |
+
},
|
| 2718 |
+
"130389": {
|
| 2719 |
+
"content": "<unused_token_307>",
|
| 2720 |
+
"lstrip": false,
|
| 2721 |
+
"normalized": true,
|
| 2722 |
+
"rstrip": false,
|
| 2723 |
+
"single_word": false,
|
| 2724 |
+
"special": false
|
| 2725 |
+
},
|
| 2726 |
+
"130390": {
|
| 2727 |
+
"content": "<unused_token_308>",
|
| 2728 |
+
"lstrip": false,
|
| 2729 |
+
"normalized": true,
|
| 2730 |
+
"rstrip": false,
|
| 2731 |
+
"single_word": false,
|
| 2732 |
+
"special": false
|
| 2733 |
+
},
|
| 2734 |
+
"130391": {
|
| 2735 |
+
"content": "<unused_token_309>",
|
| 2736 |
+
"lstrip": false,
|
| 2737 |
+
"normalized": true,
|
| 2738 |
+
"rstrip": false,
|
| 2739 |
+
"single_word": false,
|
| 2740 |
+
"special": false
|
| 2741 |
+
},
|
| 2742 |
+
"130392": {
|
| 2743 |
+
"content": "<unused_token_310>",
|
| 2744 |
+
"lstrip": false,
|
| 2745 |
+
"normalized": true,
|
| 2746 |
+
"rstrip": false,
|
| 2747 |
+
"single_word": false,
|
| 2748 |
+
"special": false
|
| 2749 |
+
},
|
| 2750 |
+
"130393": {
|
| 2751 |
+
"content": "<unused_token_311>",
|
| 2752 |
+
"lstrip": false,
|
| 2753 |
+
"normalized": true,
|
| 2754 |
+
"rstrip": false,
|
| 2755 |
+
"single_word": false,
|
| 2756 |
+
"special": false
|
| 2757 |
+
},
|
| 2758 |
+
"130394": {
|
| 2759 |
+
"content": "<unused_token_312>",
|
| 2760 |
+
"lstrip": false,
|
| 2761 |
+
"normalized": true,
|
| 2762 |
+
"rstrip": false,
|
| 2763 |
+
"single_word": false,
|
| 2764 |
+
"special": false
|
| 2765 |
+
},
|
| 2766 |
+
"130395": {
|
| 2767 |
+
"content": "<unused_token_313>",
|
| 2768 |
+
"lstrip": false,
|
| 2769 |
+
"normalized": true,
|
| 2770 |
+
"rstrip": false,
|
| 2771 |
+
"single_word": false,
|
| 2772 |
+
"special": false
|
| 2773 |
+
},
|
| 2774 |
+
"130396": {
|
| 2775 |
+
"content": "<unused_token_314>",
|
| 2776 |
+
"lstrip": false,
|
| 2777 |
+
"normalized": true,
|
| 2778 |
+
"rstrip": false,
|
| 2779 |
+
"single_word": false,
|
| 2780 |
+
"special": false
|
| 2781 |
+
},
|
| 2782 |
+
"130397": {
|
| 2783 |
+
"content": "<unused_token_315>",
|
| 2784 |
+
"lstrip": false,
|
| 2785 |
+
"normalized": true,
|
| 2786 |
+
"rstrip": false,
|
| 2787 |
+
"single_word": false,
|
| 2788 |
+
"special": false
|
| 2789 |
+
},
|
| 2790 |
+
"130398": {
|
| 2791 |
+
"content": "<unused_token_316>",
|
| 2792 |
+
"lstrip": false,
|
| 2793 |
+
"normalized": true,
|
| 2794 |
+
"rstrip": false,
|
| 2795 |
+
"single_word": false,
|
| 2796 |
+
"special": false
|
| 2797 |
+
},
|
| 2798 |
+
"130399": {
|
| 2799 |
+
"content": "<unused_token_317>",
|
| 2800 |
+
"lstrip": false,
|
| 2801 |
+
"normalized": true,
|
| 2802 |
+
"rstrip": false,
|
| 2803 |
+
"single_word": false,
|
| 2804 |
+
"special": false
|
| 2805 |
+
},
|
| 2806 |
+
"130400": {
|
| 2807 |
+
"content": "<unused_token_318>",
|
| 2808 |
+
"lstrip": false,
|
| 2809 |
+
"normalized": true,
|
| 2810 |
+
"rstrip": false,
|
| 2811 |
+
"single_word": false,
|
| 2812 |
+
"special": false
|
| 2813 |
+
},
|
| 2814 |
+
"130401": {
|
| 2815 |
+
"content": "<unused_token_319>",
|
| 2816 |
+
"lstrip": false,
|
| 2817 |
+
"normalized": true,
|
| 2818 |
+
"rstrip": false,
|
| 2819 |
+
"single_word": false,
|
| 2820 |
+
"special": false
|
| 2821 |
+
},
|
| 2822 |
+
"130402": {
|
| 2823 |
+
"content": "<unused_token_320>",
|
| 2824 |
+
"lstrip": false,
|
| 2825 |
+
"normalized": true,
|
| 2826 |
+
"rstrip": false,
|
| 2827 |
+
"single_word": false,
|
| 2828 |
+
"special": false
|
| 2829 |
+
},
|
| 2830 |
+
"130403": {
|
| 2831 |
+
"content": "<unused_token_321>",
|
| 2832 |
+
"lstrip": false,
|
| 2833 |
+
"normalized": true,
|
| 2834 |
+
"rstrip": false,
|
| 2835 |
+
"single_word": false,
|
| 2836 |
+
"special": false
|
| 2837 |
+
},
|
| 2838 |
+
"130404": {
|
| 2839 |
+
"content": "<unused_token_322>",
|
| 2840 |
+
"lstrip": false,
|
| 2841 |
+
"normalized": true,
|
| 2842 |
+
"rstrip": false,
|
| 2843 |
+
"single_word": false,
|
| 2844 |
+
"special": false
|
| 2845 |
+
},
|
| 2846 |
+
"130405": {
|
| 2847 |
+
"content": "<unused_token_323>",
|
| 2848 |
+
"lstrip": false,
|
| 2849 |
+
"normalized": true,
|
| 2850 |
+
"rstrip": false,
|
| 2851 |
+
"single_word": false,
|
| 2852 |
+
"special": false
|
| 2853 |
+
},
|
| 2854 |
+
"130406": {
|
| 2855 |
+
"content": "<unused_token_324>",
|
| 2856 |
+
"lstrip": false,
|
| 2857 |
+
"normalized": true,
|
| 2858 |
+
"rstrip": false,
|
| 2859 |
+
"single_word": false,
|
| 2860 |
+
"special": false
|
| 2861 |
+
},
|
| 2862 |
+
"130407": {
|
| 2863 |
+
"content": "<unused_token_325>",
|
| 2864 |
+
"lstrip": false,
|
| 2865 |
+
"normalized": true,
|
| 2866 |
+
"rstrip": false,
|
| 2867 |
+
"single_word": false,
|
| 2868 |
+
"special": false
|
| 2869 |
+
},
|
| 2870 |
+
"130408": {
|
| 2871 |
+
"content": "<unused_token_326>",
|
| 2872 |
+
"lstrip": false,
|
| 2873 |
+
"normalized": true,
|
| 2874 |
+
"rstrip": false,
|
| 2875 |
+
"single_word": false,
|
| 2876 |
+
"special": false
|
| 2877 |
+
},
|
| 2878 |
+
"130409": {
|
| 2879 |
+
"content": "<unused_token_327>",
|
| 2880 |
+
"lstrip": false,
|
| 2881 |
+
"normalized": true,
|
| 2882 |
+
"rstrip": false,
|
| 2883 |
+
"single_word": false,
|
| 2884 |
+
"special": false
|
| 2885 |
+
},
|
| 2886 |
+
"130410": {
|
| 2887 |
+
"content": "<unused_token_328>",
|
| 2888 |
+
"lstrip": false,
|
| 2889 |
+
"normalized": true,
|
| 2890 |
+
"rstrip": false,
|
| 2891 |
+
"single_word": false,
|
| 2892 |
+
"special": false
|
| 2893 |
+
},
|
| 2894 |
+
"130411": {
|
| 2895 |
+
"content": "<unused_token_329>",
|
| 2896 |
+
"lstrip": false,
|
| 2897 |
+
"normalized": true,
|
| 2898 |
+
"rstrip": false,
|
| 2899 |
+
"single_word": false,
|
| 2900 |
+
"special": false
|
| 2901 |
+
},
|
| 2902 |
+
"130412": {
|
| 2903 |
+
"content": "<unused_token_330>",
|
| 2904 |
+
"lstrip": false,
|
| 2905 |
+
"normalized": true,
|
| 2906 |
+
"rstrip": false,
|
| 2907 |
+
"single_word": false,
|
| 2908 |
+
"special": false
|
| 2909 |
+
},
|
| 2910 |
+
"130413": {
|
| 2911 |
+
"content": "<unused_token_331>",
|
| 2912 |
+
"lstrip": false,
|
| 2913 |
+
"normalized": true,
|
| 2914 |
+
"rstrip": false,
|
| 2915 |
+
"single_word": false,
|
| 2916 |
+
"special": false
|
| 2917 |
+
},
|
| 2918 |
+
"130414": {
|
| 2919 |
+
"content": "<unused_token_332>",
|
| 2920 |
+
"lstrip": false,
|
| 2921 |
+
"normalized": true,
|
| 2922 |
+
"rstrip": false,
|
| 2923 |
+
"single_word": false,
|
| 2924 |
+
"special": false
|
| 2925 |
+
},
|
| 2926 |
+
"130415": {
|
| 2927 |
+
"content": "<unused_token_333>",
|
| 2928 |
+
"lstrip": false,
|
| 2929 |
+
"normalized": true,
|
| 2930 |
+
"rstrip": false,
|
| 2931 |
+
"single_word": false,
|
| 2932 |
+
"special": false
|
| 2933 |
+
},
|
| 2934 |
+
"130416": {
|
| 2935 |
+
"content": "<unused_token_334>",
|
| 2936 |
+
"lstrip": false,
|
| 2937 |
+
"normalized": true,
|
| 2938 |
+
"rstrip": false,
|
| 2939 |
+
"single_word": false,
|
| 2940 |
+
"special": false
|
| 2941 |
+
},
|
| 2942 |
+
"130417": {
|
| 2943 |
+
"content": "<unused_token_335>",
|
| 2944 |
+
"lstrip": false,
|
| 2945 |
+
"normalized": true,
|
| 2946 |
+
"rstrip": false,
|
| 2947 |
+
"single_word": false,
|
| 2948 |
+
"special": false
|
| 2949 |
+
},
|
| 2950 |
+
"130418": {
|
| 2951 |
+
"content": "<unused_token_336>",
|
| 2952 |
+
"lstrip": false,
|
| 2953 |
+
"normalized": true,
|
| 2954 |
+
"rstrip": false,
|
| 2955 |
+
"single_word": false,
|
| 2956 |
+
"special": false
|
| 2957 |
+
},
|
| 2958 |
+
"130419": {
|
| 2959 |
+
"content": "<unused_token_337>",
|
| 2960 |
+
"lstrip": false,
|
| 2961 |
+
"normalized": true,
|
| 2962 |
+
"rstrip": false,
|
| 2963 |
+
"single_word": false,
|
| 2964 |
+
"special": false
|
| 2965 |
+
},
|
| 2966 |
+
"130420": {
|
| 2967 |
+
"content": "<unused_token_338>",
|
| 2968 |
+
"lstrip": false,
|
| 2969 |
+
"normalized": true,
|
| 2970 |
+
"rstrip": false,
|
| 2971 |
+
"single_word": false,
|
| 2972 |
+
"special": false
|
| 2973 |
+
},
|
| 2974 |
+
"130421": {
|
| 2975 |
+
"content": "<unused_token_339>",
|
| 2976 |
+
"lstrip": false,
|
| 2977 |
+
"normalized": true,
|
| 2978 |
+
"rstrip": false,
|
| 2979 |
+
"single_word": false,
|
| 2980 |
+
"special": false
|
| 2981 |
+
},
|
| 2982 |
+
"130422": {
|
| 2983 |
+
"content": "<unused_token_340>",
|
| 2984 |
+
"lstrip": false,
|
| 2985 |
+
"normalized": true,
|
| 2986 |
+
"rstrip": false,
|
| 2987 |
+
"single_word": false,
|
| 2988 |
+
"special": false
|
| 2989 |
+
},
|
| 2990 |
+
"130423": {
|
| 2991 |
+
"content": "<unused_token_341>",
|
| 2992 |
+
"lstrip": false,
|
| 2993 |
+
"normalized": true,
|
| 2994 |
+
"rstrip": false,
|
| 2995 |
+
"single_word": false,
|
| 2996 |
+
"special": false
|
| 2997 |
+
},
|
| 2998 |
+
"130424": {
|
| 2999 |
+
"content": "<unused_token_342>",
|
| 3000 |
+
"lstrip": false,
|
| 3001 |
+
"normalized": true,
|
| 3002 |
+
"rstrip": false,
|
| 3003 |
+
"single_word": false,
|
| 3004 |
+
"special": false
|
| 3005 |
+
},
|
| 3006 |
+
"130425": {
|
| 3007 |
+
"content": "<unused_token_343>",
|
| 3008 |
+
"lstrip": false,
|
| 3009 |
+
"normalized": true,
|
| 3010 |
+
"rstrip": false,
|
| 3011 |
+
"single_word": false,
|
| 3012 |
+
"special": false
|
| 3013 |
+
},
|
| 3014 |
+
"130426": {
|
| 3015 |
+
"content": "<unused_token_344>",
|
| 3016 |
+
"lstrip": false,
|
| 3017 |
+
"normalized": true,
|
| 3018 |
+
"rstrip": false,
|
| 3019 |
+
"single_word": false,
|
| 3020 |
+
"special": false
|
| 3021 |
+
},
|
| 3022 |
+
"130427": {
|
| 3023 |
+
"content": "<unused_token_345>",
|
| 3024 |
+
"lstrip": false,
|
| 3025 |
+
"normalized": true,
|
| 3026 |
+
"rstrip": false,
|
| 3027 |
+
"single_word": false,
|
| 3028 |
+
"special": false
|
| 3029 |
+
},
|
| 3030 |
+
"130428": {
|
| 3031 |
+
"content": "<unused_token_346>",
|
| 3032 |
+
"lstrip": false,
|
| 3033 |
+
"normalized": true,
|
| 3034 |
+
"rstrip": false,
|
| 3035 |
+
"single_word": false,
|
| 3036 |
+
"special": false
|
| 3037 |
+
},
|
| 3038 |
+
"130429": {
|
| 3039 |
+
"content": "<unused_token_347>",
|
| 3040 |
+
"lstrip": false,
|
| 3041 |
+
"normalized": true,
|
| 3042 |
+
"rstrip": false,
|
| 3043 |
+
"single_word": false,
|
| 3044 |
+
"special": false
|
| 3045 |
+
},
|
| 3046 |
+
"130430": {
|
| 3047 |
+
"content": "<unused_token_348>",
|
| 3048 |
+
"lstrip": false,
|
| 3049 |
+
"normalized": true,
|
| 3050 |
+
"rstrip": false,
|
| 3051 |
+
"single_word": false,
|
| 3052 |
+
"special": false
|
| 3053 |
+
},
|
| 3054 |
+
"130431": {
|
| 3055 |
+
"content": "<unused_token_349>",
|
| 3056 |
+
"lstrip": false,
|
| 3057 |
+
"normalized": true,
|
| 3058 |
+
"rstrip": false,
|
| 3059 |
+
"single_word": false,
|
| 3060 |
+
"special": false
|
| 3061 |
+
},
|
| 3062 |
+
"130432": {
|
| 3063 |
+
"content": "<unused_token_350>",
|
| 3064 |
+
"lstrip": false,
|
| 3065 |
+
"normalized": true,
|
| 3066 |
+
"rstrip": false,
|
| 3067 |
+
"single_word": false,
|
| 3068 |
+
"special": false
|
| 3069 |
+
},
|
| 3070 |
+
"130433": {
|
| 3071 |
+
"content": "<unused_token_351>",
|
| 3072 |
+
"lstrip": false,
|
| 3073 |
+
"normalized": true,
|
| 3074 |
+
"rstrip": false,
|
| 3075 |
+
"single_word": false,
|
| 3076 |
+
"special": false
|
| 3077 |
+
},
|
| 3078 |
+
"130434": {
|
| 3079 |
+
"content": "<unused_token_352>",
|
| 3080 |
+
"lstrip": false,
|
| 3081 |
+
"normalized": true,
|
| 3082 |
+
"rstrip": false,
|
| 3083 |
+
"single_word": false,
|
| 3084 |
+
"special": false
|
| 3085 |
+
},
|
| 3086 |
+
"130435": {
|
| 3087 |
+
"content": "<unused_token_353>",
|
| 3088 |
+
"lstrip": false,
|
| 3089 |
+
"normalized": true,
|
| 3090 |
+
"rstrip": false,
|
| 3091 |
+
"single_word": false,
|
| 3092 |
+
"special": false
|
| 3093 |
+
},
|
| 3094 |
+
"130436": {
|
| 3095 |
+
"content": "<unused_token_354>",
|
| 3096 |
+
"lstrip": false,
|
| 3097 |
+
"normalized": true,
|
| 3098 |
+
"rstrip": false,
|
| 3099 |
+
"single_word": false,
|
| 3100 |
+
"special": false
|
| 3101 |
+
},
|
| 3102 |
+
"130437": {
|
| 3103 |
+
"content": "<unused_token_355>",
|
| 3104 |
+
"lstrip": false,
|
| 3105 |
+
"normalized": true,
|
| 3106 |
+
"rstrip": false,
|
| 3107 |
+
"single_word": false,
|
| 3108 |
+
"special": false
|
| 3109 |
+
},
|
| 3110 |
+
"130438": {
|
| 3111 |
+
"content": "<unused_token_356>",
|
| 3112 |
+
"lstrip": false,
|
| 3113 |
+
"normalized": true,
|
| 3114 |
+
"rstrip": false,
|
| 3115 |
+
"single_word": false,
|
| 3116 |
+
"special": false
|
| 3117 |
+
},
|
| 3118 |
+
"130439": {
|
| 3119 |
+
"content": "<unused_token_357>",
|
| 3120 |
+
"lstrip": false,
|
| 3121 |
+
"normalized": true,
|
| 3122 |
+
"rstrip": false,
|
| 3123 |
+
"single_word": false,
|
| 3124 |
+
"special": false
|
| 3125 |
+
},
|
| 3126 |
+
"130440": {
|
| 3127 |
+
"content": "<unused_token_358>",
|
| 3128 |
+
"lstrip": false,
|
| 3129 |
+
"normalized": true,
|
| 3130 |
+
"rstrip": false,
|
| 3131 |
+
"single_word": false,
|
| 3132 |
+
"special": false
|
| 3133 |
+
},
|
| 3134 |
+
"130441": {
|
| 3135 |
+
"content": "<unused_token_359>",
|
| 3136 |
+
"lstrip": false,
|
| 3137 |
+
"normalized": true,
|
| 3138 |
+
"rstrip": false,
|
| 3139 |
+
"single_word": false,
|
| 3140 |
+
"special": false
|
| 3141 |
+
},
|
| 3142 |
+
"130442": {
|
| 3143 |
+
"content": "<unused_token_360>",
|
| 3144 |
+
"lstrip": false,
|
| 3145 |
+
"normalized": true,
|
| 3146 |
+
"rstrip": false,
|
| 3147 |
+
"single_word": false,
|
| 3148 |
+
"special": false
|
| 3149 |
+
},
|
| 3150 |
+
"130443": {
|
| 3151 |
+
"content": "<unused_token_361>",
|
| 3152 |
+
"lstrip": false,
|
| 3153 |
+
"normalized": true,
|
| 3154 |
+
"rstrip": false,
|
| 3155 |
+
"single_word": false,
|
| 3156 |
+
"special": false
|
| 3157 |
+
},
|
| 3158 |
+
"130444": {
|
| 3159 |
+
"content": "<unused_token_362>",
|
| 3160 |
+
"lstrip": false,
|
| 3161 |
+
"normalized": true,
|
| 3162 |
+
"rstrip": false,
|
| 3163 |
+
"single_word": false,
|
| 3164 |
+
"special": false
|
| 3165 |
+
},
|
| 3166 |
+
"130445": {
|
| 3167 |
+
"content": "<unused_token_363>",
|
| 3168 |
+
"lstrip": false,
|
| 3169 |
+
"normalized": true,
|
| 3170 |
+
"rstrip": false,
|
| 3171 |
+
"single_word": false,
|
| 3172 |
+
"special": false
|
| 3173 |
+
},
|
| 3174 |
+
"130446": {
|
| 3175 |
+
"content": "<unused_token_364>",
|
| 3176 |
+
"lstrip": false,
|
| 3177 |
+
"normalized": true,
|
| 3178 |
+
"rstrip": false,
|
| 3179 |
+
"single_word": false,
|
| 3180 |
+
"special": false
|
| 3181 |
+
},
|
| 3182 |
+
"130447": {
|
| 3183 |
+
"content": "<unused_token_365>",
|
| 3184 |
+
"lstrip": false,
|
| 3185 |
+
"normalized": true,
|
| 3186 |
+
"rstrip": false,
|
| 3187 |
+
"single_word": false,
|
| 3188 |
+
"special": false
|
| 3189 |
+
},
|
| 3190 |
+
"130448": {
|
| 3191 |
+
"content": "<unused_token_366>",
|
| 3192 |
+
"lstrip": false,
|
| 3193 |
+
"normalized": true,
|
| 3194 |
+
"rstrip": false,
|
| 3195 |
+
"single_word": false,
|
| 3196 |
+
"special": false
|
| 3197 |
+
},
|
| 3198 |
+
"130449": {
|
| 3199 |
+
"content": "<unused_token_367>",
|
| 3200 |
+
"lstrip": false,
|
| 3201 |
+
"normalized": true,
|
| 3202 |
+
"rstrip": false,
|
| 3203 |
+
"single_word": false,
|
| 3204 |
+
"special": false
|
| 3205 |
+
},
|
| 3206 |
+
"130450": {
|
| 3207 |
+
"content": "<unused_token_368>",
|
| 3208 |
+
"lstrip": false,
|
| 3209 |
+
"normalized": true,
|
| 3210 |
+
"rstrip": false,
|
| 3211 |
+
"single_word": false,
|
| 3212 |
+
"special": false
|
| 3213 |
+
},
|
| 3214 |
+
"130451": {
|
| 3215 |
+
"content": "<unused_token_369>",
|
| 3216 |
+
"lstrip": false,
|
| 3217 |
+
"normalized": true,
|
| 3218 |
+
"rstrip": false,
|
| 3219 |
+
"single_word": false,
|
| 3220 |
+
"special": false
|
| 3221 |
+
},
|
| 3222 |
+
"130452": {
|
| 3223 |
+
"content": "<unused_token_370>",
|
| 3224 |
+
"lstrip": false,
|
| 3225 |
+
"normalized": true,
|
| 3226 |
+
"rstrip": false,
|
| 3227 |
+
"single_word": false,
|
| 3228 |
+
"special": false
|
| 3229 |
+
},
|
| 3230 |
+
"130453": {
|
| 3231 |
+
"content": "<unused_token_371>",
|
| 3232 |
+
"lstrip": false,
|
| 3233 |
+
"normalized": true,
|
| 3234 |
+
"rstrip": false,
|
| 3235 |
+
"single_word": false,
|
| 3236 |
+
"special": false
|
| 3237 |
+
},
|
| 3238 |
+
"130454": {
|
| 3239 |
+
"content": "<unused_token_372>",
|
| 3240 |
+
"lstrip": false,
|
| 3241 |
+
"normalized": true,
|
| 3242 |
+
"rstrip": false,
|
| 3243 |
+
"single_word": false,
|
| 3244 |
+
"special": false
|
| 3245 |
+
},
|
| 3246 |
+
"130455": {
|
| 3247 |
+
"content": "<unused_token_373>",
|
| 3248 |
+
"lstrip": false,
|
| 3249 |
+
"normalized": true,
|
| 3250 |
+
"rstrip": false,
|
| 3251 |
+
"single_word": false,
|
| 3252 |
+
"special": false
|
| 3253 |
+
},
|
| 3254 |
+
"130456": {
|
| 3255 |
+
"content": "<unused_token_374>",
|
| 3256 |
+
"lstrip": false,
|
| 3257 |
+
"normalized": true,
|
| 3258 |
+
"rstrip": false,
|
| 3259 |
+
"single_word": false,
|
| 3260 |
+
"special": false
|
| 3261 |
+
},
|
| 3262 |
+
"130457": {
|
| 3263 |
+
"content": "<unused_token_375>",
|
| 3264 |
+
"lstrip": false,
|
| 3265 |
+
"normalized": true,
|
| 3266 |
+
"rstrip": false,
|
| 3267 |
+
"single_word": false,
|
| 3268 |
+
"special": false
|
| 3269 |
+
},
|
| 3270 |
+
"130458": {
|
| 3271 |
+
"content": "<unused_token_376>",
|
| 3272 |
+
"lstrip": false,
|
| 3273 |
+
"normalized": true,
|
| 3274 |
+
"rstrip": false,
|
| 3275 |
+
"single_word": false,
|
| 3276 |
+
"special": false
|
| 3277 |
+
},
|
| 3278 |
+
"130459": {
|
| 3279 |
+
"content": "<unused_token_377>",
|
| 3280 |
+
"lstrip": false,
|
| 3281 |
+
"normalized": true,
|
| 3282 |
+
"rstrip": false,
|
| 3283 |
+
"single_word": false,
|
| 3284 |
+
"special": false
|
| 3285 |
+
},
|
| 3286 |
+
"130460": {
|
| 3287 |
+
"content": "<unused_token_378>",
|
| 3288 |
+
"lstrip": false,
|
| 3289 |
+
"normalized": true,
|
| 3290 |
+
"rstrip": false,
|
| 3291 |
+
"single_word": false,
|
| 3292 |
+
"special": false
|
| 3293 |
+
},
|
| 3294 |
+
"130461": {
|
| 3295 |
+
"content": "<unused_token_379>",
|
| 3296 |
+
"lstrip": false,
|
| 3297 |
+
"normalized": true,
|
| 3298 |
+
"rstrip": false,
|
| 3299 |
+
"single_word": false,
|
| 3300 |
+
"special": false
|
| 3301 |
+
},
|
| 3302 |
+
"130462": {
|
| 3303 |
+
"content": "<unused_token_380>",
|
| 3304 |
+
"lstrip": false,
|
| 3305 |
+
"normalized": true,
|
| 3306 |
+
"rstrip": false,
|
| 3307 |
+
"single_word": false,
|
| 3308 |
+
"special": false
|
| 3309 |
+
},
|
| 3310 |
+
"130463": {
|
| 3311 |
+
"content": "<unused_token_381>",
|
| 3312 |
+
"lstrip": false,
|
| 3313 |
+
"normalized": true,
|
| 3314 |
+
"rstrip": false,
|
| 3315 |
+
"single_word": false,
|
| 3316 |
+
"special": false
|
| 3317 |
+
},
|
| 3318 |
+
"130464": {
|
| 3319 |
+
"content": "<unused_token_382>",
|
| 3320 |
+
"lstrip": false,
|
| 3321 |
+
"normalized": true,
|
| 3322 |
+
"rstrip": false,
|
| 3323 |
+
"single_word": false,
|
| 3324 |
+
"special": false
|
| 3325 |
+
},
|
| 3326 |
+
"130465": {
|
| 3327 |
+
"content": "<unused_token_383>",
|
| 3328 |
+
"lstrip": false,
|
| 3329 |
+
"normalized": true,
|
| 3330 |
+
"rstrip": false,
|
| 3331 |
+
"single_word": false,
|
| 3332 |
+
"special": false
|
| 3333 |
+
},
|
| 3334 |
+
"130466": {
|
| 3335 |
+
"content": "<unused_token_384>",
|
| 3336 |
+
"lstrip": false,
|
| 3337 |
+
"normalized": true,
|
| 3338 |
+
"rstrip": false,
|
| 3339 |
+
"single_word": false,
|
| 3340 |
+
"special": false
|
| 3341 |
+
},
|
| 3342 |
+
"130467": {
|
| 3343 |
+
"content": "<unused_token_385>",
|
| 3344 |
+
"lstrip": false,
|
| 3345 |
+
"normalized": true,
|
| 3346 |
+
"rstrip": false,
|
| 3347 |
+
"single_word": false,
|
| 3348 |
+
"special": false
|
| 3349 |
+
},
|
| 3350 |
+
"130468": {
|
| 3351 |
+
"content": "<unused_token_386>",
|
| 3352 |
+
"lstrip": false,
|
| 3353 |
+
"normalized": true,
|
| 3354 |
+
"rstrip": false,
|
| 3355 |
+
"single_word": false,
|
| 3356 |
+
"special": false
|
| 3357 |
+
},
|
| 3358 |
+
"130469": {
|
| 3359 |
+
"content": "<unused_token_387>",
|
| 3360 |
+
"lstrip": false,
|
| 3361 |
+
"normalized": true,
|
| 3362 |
+
"rstrip": false,
|
| 3363 |
+
"single_word": false,
|
| 3364 |
+
"special": false
|
| 3365 |
+
},
|
| 3366 |
+
"130470": {
|
| 3367 |
+
"content": "<unused_token_388>",
|
| 3368 |
+
"lstrip": false,
|
| 3369 |
+
"normalized": true,
|
| 3370 |
+
"rstrip": false,
|
| 3371 |
+
"single_word": false,
|
| 3372 |
+
"special": false
|
| 3373 |
+
},
|
| 3374 |
+
"130471": {
|
| 3375 |
+
"content": "<unused_token_389>",
|
| 3376 |
+
"lstrip": false,
|
| 3377 |
+
"normalized": true,
|
| 3378 |
+
"rstrip": false,
|
| 3379 |
+
"single_word": false,
|
| 3380 |
+
"special": false
|
| 3381 |
+
},
|
| 3382 |
+
"130472": {
|
| 3383 |
+
"content": "<unused_token_390>",
|
| 3384 |
+
"lstrip": false,
|
| 3385 |
+
"normalized": true,
|
| 3386 |
+
"rstrip": false,
|
| 3387 |
+
"single_word": false,
|
| 3388 |
+
"special": false
|
| 3389 |
+
},
|
| 3390 |
+
"130473": {
|
| 3391 |
+
"content": "<unused_token_391>",
|
| 3392 |
+
"lstrip": false,
|
| 3393 |
+
"normalized": true,
|
| 3394 |
+
"rstrip": false,
|
| 3395 |
+
"single_word": false,
|
| 3396 |
+
"special": false
|
| 3397 |
+
},
|
| 3398 |
+
"130474": {
|
| 3399 |
+
"content": "<unused_token_392>",
|
| 3400 |
+
"lstrip": false,
|
| 3401 |
+
"normalized": true,
|
| 3402 |
+
"rstrip": false,
|
| 3403 |
+
"single_word": false,
|
| 3404 |
+
"special": false
|
| 3405 |
+
},
|
| 3406 |
+
"130475": {
|
| 3407 |
+
"content": "<unused_token_393>",
|
| 3408 |
+
"lstrip": false,
|
| 3409 |
+
"normalized": true,
|
| 3410 |
+
"rstrip": false,
|
| 3411 |
+
"single_word": false,
|
| 3412 |
+
"special": false
|
| 3413 |
+
},
|
| 3414 |
+
"130476": {
|
| 3415 |
+
"content": "<unused_token_394>",
|
| 3416 |
+
"lstrip": false,
|
| 3417 |
+
"normalized": true,
|
| 3418 |
+
"rstrip": false,
|
| 3419 |
+
"single_word": false,
|
| 3420 |
+
"special": false
|
| 3421 |
+
},
|
| 3422 |
+
"130477": {
|
| 3423 |
+
"content": "<unused_token_395>",
|
| 3424 |
+
"lstrip": false,
|
| 3425 |
+
"normalized": true,
|
| 3426 |
+
"rstrip": false,
|
| 3427 |
+
"single_word": false,
|
| 3428 |
+
"special": false
|
| 3429 |
+
},
|
| 3430 |
+
"130478": {
|
| 3431 |
+
"content": "<unused_token_396>",
|
| 3432 |
+
"lstrip": false,
|
| 3433 |
+
"normalized": true,
|
| 3434 |
+
"rstrip": false,
|
| 3435 |
+
"single_word": false,
|
| 3436 |
+
"special": false
|
| 3437 |
+
},
|
| 3438 |
+
"130479": {
|
| 3439 |
+
"content": "<unused_token_397>",
|
| 3440 |
+
"lstrip": false,
|
| 3441 |
+
"normalized": true,
|
| 3442 |
+
"rstrip": false,
|
| 3443 |
+
"single_word": false,
|
| 3444 |
+
"special": false
|
| 3445 |
+
},
|
| 3446 |
+
"130480": {
|
| 3447 |
+
"content": "<unused_token_398>",
|
| 3448 |
+
"lstrip": false,
|
| 3449 |
+
"normalized": true,
|
| 3450 |
+
"rstrip": false,
|
| 3451 |
+
"single_word": false,
|
| 3452 |
+
"special": false
|
| 3453 |
+
},
|
| 3454 |
+
"130481": {
|
| 3455 |
+
"content": "<unused_token_399>",
|
| 3456 |
+
"lstrip": false,
|
| 3457 |
+
"normalized": true,
|
| 3458 |
+
"rstrip": false,
|
| 3459 |
+
"single_word": false,
|
| 3460 |
+
"special": false
|
| 3461 |
+
},
|
| 3462 |
+
"130482": {
|
| 3463 |
+
"content": "<unused_token_400>",
|
| 3464 |
+
"lstrip": false,
|
| 3465 |
+
"normalized": true,
|
| 3466 |
+
"rstrip": false,
|
| 3467 |
+
"single_word": false,
|
| 3468 |
+
"special": false
|
| 3469 |
+
},
|
| 3470 |
+
"130483": {
|
| 3471 |
+
"content": "<unused_token_401>",
|
| 3472 |
+
"lstrip": false,
|
| 3473 |
+
"normalized": true,
|
| 3474 |
+
"rstrip": false,
|
| 3475 |
+
"single_word": false,
|
| 3476 |
+
"special": false
|
| 3477 |
+
},
|
| 3478 |
+
"130484": {
|
| 3479 |
+
"content": "<unused_token_402>",
|
| 3480 |
+
"lstrip": false,
|
| 3481 |
+
"normalized": true,
|
| 3482 |
+
"rstrip": false,
|
| 3483 |
+
"single_word": false,
|
| 3484 |
+
"special": false
|
| 3485 |
+
},
|
| 3486 |
+
"130485": {
|
| 3487 |
+
"content": "<unused_token_403>",
|
| 3488 |
+
"lstrip": false,
|
| 3489 |
+
"normalized": true,
|
| 3490 |
+
"rstrip": false,
|
| 3491 |
+
"single_word": false,
|
| 3492 |
+
"special": false
|
| 3493 |
+
},
|
| 3494 |
+
"130486": {
|
| 3495 |
+
"content": "<unused_token_404>",
|
| 3496 |
+
"lstrip": false,
|
| 3497 |
+
"normalized": true,
|
| 3498 |
+
"rstrip": false,
|
| 3499 |
+
"single_word": false,
|
| 3500 |
+
"special": false
|
| 3501 |
+
},
|
| 3502 |
+
"130487": {
|
| 3503 |
+
"content": "<unused_token_405>",
|
| 3504 |
+
"lstrip": false,
|
| 3505 |
+
"normalized": true,
|
| 3506 |
+
"rstrip": false,
|
| 3507 |
+
"single_word": false,
|
| 3508 |
+
"special": false
|
| 3509 |
+
},
|
| 3510 |
+
"130488": {
|
| 3511 |
+
"content": "<unused_token_406>",
|
| 3512 |
+
"lstrip": false,
|
| 3513 |
+
"normalized": true,
|
| 3514 |
+
"rstrip": false,
|
| 3515 |
+
"single_word": false,
|
| 3516 |
+
"special": false
|
| 3517 |
+
},
|
| 3518 |
+
"130489": {
|
| 3519 |
+
"content": "<unused_token_407>",
|
| 3520 |
+
"lstrip": false,
|
| 3521 |
+
"normalized": true,
|
| 3522 |
+
"rstrip": false,
|
| 3523 |
+
"single_word": false,
|
| 3524 |
+
"special": false
|
| 3525 |
+
},
|
| 3526 |
+
"130490": {
|
| 3527 |
+
"content": "<unused_token_408>",
|
| 3528 |
+
"lstrip": false,
|
| 3529 |
+
"normalized": true,
|
| 3530 |
+
"rstrip": false,
|
| 3531 |
+
"single_word": false,
|
| 3532 |
+
"special": false
|
| 3533 |
+
},
|
| 3534 |
+
"130491": {
|
| 3535 |
+
"content": "<unused_token_409>",
|
| 3536 |
+
"lstrip": false,
|
| 3537 |
+
"normalized": true,
|
| 3538 |
+
"rstrip": false,
|
| 3539 |
+
"single_word": false,
|
| 3540 |
+
"special": false
|
| 3541 |
+
},
|
| 3542 |
+
"130492": {
|
| 3543 |
+
"content": "<unused_token_410>",
|
| 3544 |
+
"lstrip": false,
|
| 3545 |
+
"normalized": true,
|
| 3546 |
+
"rstrip": false,
|
| 3547 |
+
"single_word": false,
|
| 3548 |
+
"special": false
|
| 3549 |
+
},
|
| 3550 |
+
"130493": {
|
| 3551 |
+
"content": "<unused_token_411>",
|
| 3552 |
+
"lstrip": false,
|
| 3553 |
+
"normalized": true,
|
| 3554 |
+
"rstrip": false,
|
| 3555 |
+
"single_word": false,
|
| 3556 |
+
"special": false
|
| 3557 |
+
},
|
| 3558 |
+
"130494": {
|
| 3559 |
+
"content": "<unused_token_412>",
|
| 3560 |
+
"lstrip": false,
|
| 3561 |
+
"normalized": true,
|
| 3562 |
+
"rstrip": false,
|
| 3563 |
+
"single_word": false,
|
| 3564 |
+
"special": false
|
| 3565 |
+
},
|
| 3566 |
+
"130495": {
|
| 3567 |
+
"content": "<unused_token_413>",
|
| 3568 |
+
"lstrip": false,
|
| 3569 |
+
"normalized": true,
|
| 3570 |
+
"rstrip": false,
|
| 3571 |
+
"single_word": false,
|
| 3572 |
+
"special": false
|
| 3573 |
+
},
|
| 3574 |
+
"130496": {
|
| 3575 |
+
"content": "<unused_token_414>",
|
| 3576 |
+
"lstrip": false,
|
| 3577 |
+
"normalized": true,
|
| 3578 |
+
"rstrip": false,
|
| 3579 |
+
"single_word": false,
|
| 3580 |
+
"special": false
|
| 3581 |
+
},
|
| 3582 |
+
"130497": {
|
| 3583 |
+
"content": "<unused_token_415>",
|
| 3584 |
+
"lstrip": false,
|
| 3585 |
+
"normalized": true,
|
| 3586 |
+
"rstrip": false,
|
| 3587 |
+
"single_word": false,
|
| 3588 |
+
"special": false
|
| 3589 |
+
},
|
| 3590 |
+
"130498": {
|
| 3591 |
+
"content": "<unused_token_416>",
|
| 3592 |
+
"lstrip": false,
|
| 3593 |
+
"normalized": true,
|
| 3594 |
+
"rstrip": false,
|
| 3595 |
+
"single_word": false,
|
| 3596 |
+
"special": false
|
| 3597 |
+
},
|
| 3598 |
+
"130499": {
|
| 3599 |
+
"content": "<unused_token_417>",
|
| 3600 |
+
"lstrip": false,
|
| 3601 |
+
"normalized": true,
|
| 3602 |
+
"rstrip": false,
|
| 3603 |
+
"single_word": false,
|
| 3604 |
+
"special": false
|
| 3605 |
+
},
|
| 3606 |
+
"130500": {
|
| 3607 |
+
"content": "<unused_token_418>",
|
| 3608 |
+
"lstrip": false,
|
| 3609 |
+
"normalized": true,
|
| 3610 |
+
"rstrip": false,
|
| 3611 |
+
"single_word": false,
|
| 3612 |
+
"special": false
|
| 3613 |
+
},
|
| 3614 |
+
"130501": {
|
| 3615 |
+
"content": "<unused_token_419>",
|
| 3616 |
+
"lstrip": false,
|
| 3617 |
+
"normalized": true,
|
| 3618 |
+
"rstrip": false,
|
| 3619 |
+
"single_word": false,
|
| 3620 |
+
"special": false
|
| 3621 |
+
},
|
| 3622 |
+
"130502": {
|
| 3623 |
+
"content": "<unused_token_420>",
|
| 3624 |
+
"lstrip": false,
|
| 3625 |
+
"normalized": true,
|
| 3626 |
+
"rstrip": false,
|
| 3627 |
+
"single_word": false,
|
| 3628 |
+
"special": false
|
| 3629 |
+
},
|
| 3630 |
+
"130503": {
|
| 3631 |
+
"content": "<unused_token_421>",
|
| 3632 |
+
"lstrip": false,
|
| 3633 |
+
"normalized": true,
|
| 3634 |
+
"rstrip": false,
|
| 3635 |
+
"single_word": false,
|
| 3636 |
+
"special": false
|
| 3637 |
+
},
|
| 3638 |
+
"130504": {
|
| 3639 |
+
"content": "<unused_token_422>",
|
| 3640 |
+
"lstrip": false,
|
| 3641 |
+
"normalized": true,
|
| 3642 |
+
"rstrip": false,
|
| 3643 |
+
"single_word": false,
|
| 3644 |
+
"special": false
|
| 3645 |
+
},
|
| 3646 |
+
"130505": {
|
| 3647 |
+
"content": "<unused_token_423>",
|
| 3648 |
+
"lstrip": false,
|
| 3649 |
+
"normalized": true,
|
| 3650 |
+
"rstrip": false,
|
| 3651 |
+
"single_word": false,
|
| 3652 |
+
"special": false
|
| 3653 |
+
},
|
| 3654 |
+
"130506": {
|
| 3655 |
+
"content": "<unused_token_424>",
|
| 3656 |
+
"lstrip": false,
|
| 3657 |
+
"normalized": true,
|
| 3658 |
+
"rstrip": false,
|
| 3659 |
+
"single_word": false,
|
| 3660 |
+
"special": false
|
| 3661 |
+
},
|
| 3662 |
+
"130507": {
|
| 3663 |
+
"content": "<unused_token_425>",
|
| 3664 |
+
"lstrip": false,
|
| 3665 |
+
"normalized": true,
|
| 3666 |
+
"rstrip": false,
|
| 3667 |
+
"single_word": false,
|
| 3668 |
+
"special": false
|
| 3669 |
+
},
|
| 3670 |
+
"130508": {
|
| 3671 |
+
"content": "<unused_token_426>",
|
| 3672 |
+
"lstrip": false,
|
| 3673 |
+
"normalized": true,
|
| 3674 |
+
"rstrip": false,
|
| 3675 |
+
"single_word": false,
|
| 3676 |
+
"special": false
|
| 3677 |
+
},
|
| 3678 |
+
"130509": {
|
| 3679 |
+
"content": "<unused_token_427>",
|
| 3680 |
+
"lstrip": false,
|
| 3681 |
+
"normalized": true,
|
| 3682 |
+
"rstrip": false,
|
| 3683 |
+
"single_word": false,
|
| 3684 |
+
"special": false
|
| 3685 |
+
},
|
| 3686 |
+
"130510": {
|
| 3687 |
+
"content": "<unused_token_428>",
|
| 3688 |
+
"lstrip": false,
|
| 3689 |
+
"normalized": true,
|
| 3690 |
+
"rstrip": false,
|
| 3691 |
+
"single_word": false,
|
| 3692 |
+
"special": false
|
| 3693 |
+
},
|
| 3694 |
+
"130511": {
|
| 3695 |
+
"content": "<unused_token_429>",
|
| 3696 |
+
"lstrip": false,
|
| 3697 |
+
"normalized": true,
|
| 3698 |
+
"rstrip": false,
|
| 3699 |
+
"single_word": false,
|
| 3700 |
+
"special": false
|
| 3701 |
+
},
|
| 3702 |
+
"130512": {
|
| 3703 |
+
"content": "<unused_token_430>",
|
| 3704 |
+
"lstrip": false,
|
| 3705 |
+
"normalized": true,
|
| 3706 |
+
"rstrip": false,
|
| 3707 |
+
"single_word": false,
|
| 3708 |
+
"special": false
|
| 3709 |
+
},
|
| 3710 |
+
"130513": {
|
| 3711 |
+
"content": "<unused_token_431>",
|
| 3712 |
+
"lstrip": false,
|
| 3713 |
+
"normalized": true,
|
| 3714 |
+
"rstrip": false,
|
| 3715 |
+
"single_word": false,
|
| 3716 |
+
"special": false
|
| 3717 |
+
},
|
| 3718 |
+
"130514": {
|
| 3719 |
+
"content": "<unused_token_432>",
|
| 3720 |
+
"lstrip": false,
|
| 3721 |
+
"normalized": true,
|
| 3722 |
+
"rstrip": false,
|
| 3723 |
+
"single_word": false,
|
| 3724 |
+
"special": false
|
| 3725 |
+
},
|
| 3726 |
+
"130515": {
|
| 3727 |
+
"content": "<unused_token_433>",
|
| 3728 |
+
"lstrip": false,
|
| 3729 |
+
"normalized": true,
|
| 3730 |
+
"rstrip": false,
|
| 3731 |
+
"single_word": false,
|
| 3732 |
+
"special": false
|
| 3733 |
+
},
|
| 3734 |
+
"130516": {
|
| 3735 |
+
"content": "<unused_token_434>",
|
| 3736 |
+
"lstrip": false,
|
| 3737 |
+
"normalized": true,
|
| 3738 |
+
"rstrip": false,
|
| 3739 |
+
"single_word": false,
|
| 3740 |
+
"special": false
|
| 3741 |
+
},
|
| 3742 |
+
"130517": {
|
| 3743 |
+
"content": "<unused_token_435>",
|
| 3744 |
+
"lstrip": false,
|
| 3745 |
+
"normalized": true,
|
| 3746 |
+
"rstrip": false,
|
| 3747 |
+
"single_word": false,
|
| 3748 |
+
"special": false
|
| 3749 |
+
},
|
| 3750 |
+
"130518": {
|
| 3751 |
+
"content": "<unused_token_436>",
|
| 3752 |
+
"lstrip": false,
|
| 3753 |
+
"normalized": true,
|
| 3754 |
+
"rstrip": false,
|
| 3755 |
+
"single_word": false,
|
| 3756 |
+
"special": false
|
| 3757 |
+
},
|
| 3758 |
+
"130519": {
|
| 3759 |
+
"content": "<unused_token_437>",
|
| 3760 |
+
"lstrip": false,
|
| 3761 |
+
"normalized": true,
|
| 3762 |
+
"rstrip": false,
|
| 3763 |
+
"single_word": false,
|
| 3764 |
+
"special": false
|
| 3765 |
+
},
|
| 3766 |
+
"130520": {
|
| 3767 |
+
"content": "<unused_token_438>",
|
| 3768 |
+
"lstrip": false,
|
| 3769 |
+
"normalized": true,
|
| 3770 |
+
"rstrip": false,
|
| 3771 |
+
"single_word": false,
|
| 3772 |
+
"special": false
|
| 3773 |
+
},
|
| 3774 |
+
"130521": {
|
| 3775 |
+
"content": "<unused_token_439>",
|
| 3776 |
+
"lstrip": false,
|
| 3777 |
+
"normalized": true,
|
| 3778 |
+
"rstrip": false,
|
| 3779 |
+
"single_word": false,
|
| 3780 |
+
"special": false
|
| 3781 |
+
},
|
| 3782 |
+
"130522": {
|
| 3783 |
+
"content": "<unused_token_440>",
|
| 3784 |
+
"lstrip": false,
|
| 3785 |
+
"normalized": true,
|
| 3786 |
+
"rstrip": false,
|
| 3787 |
+
"single_word": false,
|
| 3788 |
+
"special": false
|
| 3789 |
+
},
|
| 3790 |
+
"130523": {
|
| 3791 |
+
"content": "<unused_token_441>",
|
| 3792 |
+
"lstrip": false,
|
| 3793 |
+
"normalized": true,
|
| 3794 |
+
"rstrip": false,
|
| 3795 |
+
"single_word": false,
|
| 3796 |
+
"special": false
|
| 3797 |
+
},
|
| 3798 |
+
"130524": {
|
| 3799 |
+
"content": "<unused_token_442>",
|
| 3800 |
+
"lstrip": false,
|
| 3801 |
+
"normalized": true,
|
| 3802 |
+
"rstrip": false,
|
| 3803 |
+
"single_word": false,
|
| 3804 |
+
"special": false
|
| 3805 |
+
},
|
| 3806 |
+
"130525": {
|
| 3807 |
+
"content": "<unused_token_443>",
|
| 3808 |
+
"lstrip": false,
|
| 3809 |
+
"normalized": true,
|
| 3810 |
+
"rstrip": false,
|
| 3811 |
+
"single_word": false,
|
| 3812 |
+
"special": false
|
| 3813 |
+
},
|
| 3814 |
+
"130526": {
|
| 3815 |
+
"content": "<unused_token_444>",
|
| 3816 |
+
"lstrip": false,
|
| 3817 |
+
"normalized": true,
|
| 3818 |
+
"rstrip": false,
|
| 3819 |
+
"single_word": false,
|
| 3820 |
+
"special": false
|
| 3821 |
+
},
|
| 3822 |
+
"130527": {
|
| 3823 |
+
"content": "<unused_token_445>",
|
| 3824 |
+
"lstrip": false,
|
| 3825 |
+
"normalized": true,
|
| 3826 |
+
"rstrip": false,
|
| 3827 |
+
"single_word": false,
|
| 3828 |
+
"special": false
|
| 3829 |
+
},
|
| 3830 |
+
"130528": {
|
| 3831 |
+
"content": "<unused_token_446>",
|
| 3832 |
+
"lstrip": false,
|
| 3833 |
+
"normalized": true,
|
| 3834 |
+
"rstrip": false,
|
| 3835 |
+
"single_word": false,
|
| 3836 |
+
"special": false
|
| 3837 |
+
},
|
| 3838 |
+
"130529": {
|
| 3839 |
+
"content": "<unused_token_447>",
|
| 3840 |
+
"lstrip": false,
|
| 3841 |
+
"normalized": true,
|
| 3842 |
+
"rstrip": false,
|
| 3843 |
+
"single_word": false,
|
| 3844 |
+
"special": false
|
| 3845 |
+
},
|
| 3846 |
+
"130530": {
|
| 3847 |
+
"content": "<unused_token_448>",
|
| 3848 |
+
"lstrip": false,
|
| 3849 |
+
"normalized": true,
|
| 3850 |
+
"rstrip": false,
|
| 3851 |
+
"single_word": false,
|
| 3852 |
+
"special": false
|
| 3853 |
+
},
|
| 3854 |
+
"130531": {
|
| 3855 |
+
"content": "<unused_token_449>",
|
| 3856 |
+
"lstrip": false,
|
| 3857 |
+
"normalized": true,
|
| 3858 |
+
"rstrip": false,
|
| 3859 |
+
"single_word": false,
|
| 3860 |
+
"special": false
|
| 3861 |
+
},
|
| 3862 |
+
"130532": {
|
| 3863 |
+
"content": "<unused_token_450>",
|
| 3864 |
+
"lstrip": false,
|
| 3865 |
+
"normalized": true,
|
| 3866 |
+
"rstrip": false,
|
| 3867 |
+
"single_word": false,
|
| 3868 |
+
"special": false
|
| 3869 |
+
},
|
| 3870 |
+
"130533": {
|
| 3871 |
+
"content": "<unused_token_451>",
|
| 3872 |
+
"lstrip": false,
|
| 3873 |
+
"normalized": true,
|
| 3874 |
+
"rstrip": false,
|
| 3875 |
+
"single_word": false,
|
| 3876 |
+
"special": false
|
| 3877 |
+
},
|
| 3878 |
+
"130534": {
|
| 3879 |
+
"content": "<unused_token_452>",
|
| 3880 |
+
"lstrip": false,
|
| 3881 |
+
"normalized": true,
|
| 3882 |
+
"rstrip": false,
|
| 3883 |
+
"single_word": false,
|
| 3884 |
+
"special": false
|
| 3885 |
+
},
|
| 3886 |
+
"130535": {
|
| 3887 |
+
"content": "<unused_token_453>",
|
| 3888 |
+
"lstrip": false,
|
| 3889 |
+
"normalized": true,
|
| 3890 |
+
"rstrip": false,
|
| 3891 |
+
"single_word": false,
|
| 3892 |
+
"special": false
|
| 3893 |
+
},
|
| 3894 |
+
"130536": {
|
| 3895 |
+
"content": "<unused_token_454>",
|
| 3896 |
+
"lstrip": false,
|
| 3897 |
+
"normalized": true,
|
| 3898 |
+
"rstrip": false,
|
| 3899 |
+
"single_word": false,
|
| 3900 |
+
"special": false
|
| 3901 |
+
},
|
| 3902 |
+
"130537": {
|
| 3903 |
+
"content": "<unused_token_455>",
|
| 3904 |
+
"lstrip": false,
|
| 3905 |
+
"normalized": true,
|
| 3906 |
+
"rstrip": false,
|
| 3907 |
+
"single_word": false,
|
| 3908 |
+
"special": false
|
| 3909 |
+
},
|
| 3910 |
+
"130538": {
|
| 3911 |
+
"content": "<unused_token_456>",
|
| 3912 |
+
"lstrip": false,
|
| 3913 |
+
"normalized": true,
|
| 3914 |
+
"rstrip": false,
|
| 3915 |
+
"single_word": false,
|
| 3916 |
+
"special": false
|
| 3917 |
+
},
|
| 3918 |
+
"130539": {
|
| 3919 |
+
"content": "<unused_token_457>",
|
| 3920 |
+
"lstrip": false,
|
| 3921 |
+
"normalized": true,
|
| 3922 |
+
"rstrip": false,
|
| 3923 |
+
"single_word": false,
|
| 3924 |
+
"special": false
|
| 3925 |
+
},
|
| 3926 |
+
"130540": {
|
| 3927 |
+
"content": "<unused_token_458>",
|
| 3928 |
+
"lstrip": false,
|
| 3929 |
+
"normalized": true,
|
| 3930 |
+
"rstrip": false,
|
| 3931 |
+
"single_word": false,
|
| 3932 |
+
"special": false
|
| 3933 |
+
},
|
| 3934 |
+
"130541": {
|
| 3935 |
+
"content": "<unused_token_459>",
|
| 3936 |
+
"lstrip": false,
|
| 3937 |
+
"normalized": true,
|
| 3938 |
+
"rstrip": false,
|
| 3939 |
+
"single_word": false,
|
| 3940 |
+
"special": false
|
| 3941 |
+
},
|
| 3942 |
+
"130542": {
|
| 3943 |
+
"content": "<unused_token_460>",
|
| 3944 |
+
"lstrip": false,
|
| 3945 |
+
"normalized": true,
|
| 3946 |
+
"rstrip": false,
|
| 3947 |
+
"single_word": false,
|
| 3948 |
+
"special": false
|
| 3949 |
+
},
|
| 3950 |
+
"130543": {
|
| 3951 |
+
"content": "<unused_token_461>",
|
| 3952 |
+
"lstrip": false,
|
| 3953 |
+
"normalized": true,
|
| 3954 |
+
"rstrip": false,
|
| 3955 |
+
"single_word": false,
|
| 3956 |
+
"special": false
|
| 3957 |
+
},
|
| 3958 |
+
"130544": {
|
| 3959 |
+
"content": "<unused_token_462>",
|
| 3960 |
+
"lstrip": false,
|
| 3961 |
+
"normalized": true,
|
| 3962 |
+
"rstrip": false,
|
| 3963 |
+
"single_word": false,
|
| 3964 |
+
"special": false
|
| 3965 |
+
},
|
| 3966 |
+
"130545": {
|
| 3967 |
+
"content": "<unused_token_463>",
|
| 3968 |
+
"lstrip": false,
|
| 3969 |
+
"normalized": true,
|
| 3970 |
+
"rstrip": false,
|
| 3971 |
+
"single_word": false,
|
| 3972 |
+
"special": false
|
| 3973 |
+
},
|
| 3974 |
+
"130546": {
|
| 3975 |
+
"content": "<unused_token_464>",
|
| 3976 |
+
"lstrip": false,
|
| 3977 |
+
"normalized": true,
|
| 3978 |
+
"rstrip": false,
|
| 3979 |
+
"single_word": false,
|
| 3980 |
+
"special": false
|
| 3981 |
+
},
|
| 3982 |
+
"130547": {
|
| 3983 |
+
"content": "<unused_token_465>",
|
| 3984 |
+
"lstrip": false,
|
| 3985 |
+
"normalized": true,
|
| 3986 |
+
"rstrip": false,
|
| 3987 |
+
"single_word": false,
|
| 3988 |
+
"special": false
|
| 3989 |
+
},
|
| 3990 |
+
"130548": {
|
| 3991 |
+
"content": "<unused_token_466>",
|
| 3992 |
+
"lstrip": false,
|
| 3993 |
+
"normalized": true,
|
| 3994 |
+
"rstrip": false,
|
| 3995 |
+
"single_word": false,
|
| 3996 |
+
"special": false
|
| 3997 |
+
},
|
| 3998 |
+
"130549": {
|
| 3999 |
+
"content": "<unused_token_467>",
|
| 4000 |
+
"lstrip": false,
|
| 4001 |
+
"normalized": true,
|
| 4002 |
+
"rstrip": false,
|
| 4003 |
+
"single_word": false,
|
| 4004 |
+
"special": false
|
| 4005 |
+
},
|
| 4006 |
+
"130550": {
|
| 4007 |
+
"content": "<unused_token_468>",
|
| 4008 |
+
"lstrip": false,
|
| 4009 |
+
"normalized": true,
|
| 4010 |
+
"rstrip": false,
|
| 4011 |
+
"single_word": false,
|
| 4012 |
+
"special": false
|
| 4013 |
+
},
|
| 4014 |
+
"130551": {
|
| 4015 |
+
"content": "<unused_token_469>",
|
| 4016 |
+
"lstrip": false,
|
| 4017 |
+
"normalized": true,
|
| 4018 |
+
"rstrip": false,
|
| 4019 |
+
"single_word": false,
|
| 4020 |
+
"special": false
|
| 4021 |
+
},
|
| 4022 |
+
"130552": {
|
| 4023 |
+
"content": "<unused_token_470>",
|
| 4024 |
+
"lstrip": false,
|
| 4025 |
+
"normalized": true,
|
| 4026 |
+
"rstrip": false,
|
| 4027 |
+
"single_word": false,
|
| 4028 |
+
"special": false
|
| 4029 |
+
},
|
| 4030 |
+
"130553": {
|
| 4031 |
+
"content": "<unused_token_471>",
|
| 4032 |
+
"lstrip": false,
|
| 4033 |
+
"normalized": true,
|
| 4034 |
+
"rstrip": false,
|
| 4035 |
+
"single_word": false,
|
| 4036 |
+
"special": false
|
| 4037 |
+
},
|
| 4038 |
+
"130554": {
|
| 4039 |
+
"content": "<unused_token_472>",
|
| 4040 |
+
"lstrip": false,
|
| 4041 |
+
"normalized": true,
|
| 4042 |
+
"rstrip": false,
|
| 4043 |
+
"single_word": false,
|
| 4044 |
+
"special": false
|
| 4045 |
+
},
|
| 4046 |
+
"130555": {
|
| 4047 |
+
"content": "<unused_token_473>",
|
| 4048 |
+
"lstrip": false,
|
| 4049 |
+
"normalized": true,
|
| 4050 |
+
"rstrip": false,
|
| 4051 |
+
"single_word": false,
|
| 4052 |
+
"special": false
|
| 4053 |
+
},
|
| 4054 |
+
"130556": {
|
| 4055 |
+
"content": "<unused_token_474>",
|
| 4056 |
+
"lstrip": false,
|
| 4057 |
+
"normalized": true,
|
| 4058 |
+
"rstrip": false,
|
| 4059 |
+
"single_word": false,
|
| 4060 |
+
"special": false
|
| 4061 |
+
},
|
| 4062 |
+
"130557": {
|
| 4063 |
+
"content": "<unused_token_475>",
|
| 4064 |
+
"lstrip": false,
|
| 4065 |
+
"normalized": true,
|
| 4066 |
+
"rstrip": false,
|
| 4067 |
+
"single_word": false,
|
| 4068 |
+
"special": false
|
| 4069 |
+
},
|
| 4070 |
+
"130558": {
|
| 4071 |
+
"content": "<unused_token_476>",
|
| 4072 |
+
"lstrip": false,
|
| 4073 |
+
"normalized": true,
|
| 4074 |
+
"rstrip": false,
|
| 4075 |
+
"single_word": false,
|
| 4076 |
+
"special": false
|
| 4077 |
+
},
|
| 4078 |
+
"130559": {
|
| 4079 |
+
"content": "<unused_token_477>",
|
| 4080 |
+
"lstrip": false,
|
| 4081 |
+
"normalized": true,
|
| 4082 |
+
"rstrip": false,
|
| 4083 |
+
"single_word": false,
|
| 4084 |
+
"special": false
|
| 4085 |
+
}
|
| 4086 |
+
},
|
| 4087 |
+
"bos_token": "<s>",
|
| 4088 |
+
"clean_up_tokenization_spaces": false,
|
| 4089 |
+
"eos_token": "</s>",
|
| 4090 |
+
"extra_special_tokens": {},
|
| 4091 |
+
"legacy": true,
|
| 4092 |
+
"model_max_length": 1000000000000000019884624838656,
|
| 4093 |
+
"pad_token": "</s>",
|
| 4094 |
+
"sp_model_kwargs": {},
|
| 4095 |
+
"spaces_between_special_tokens": false,
|
| 4096 |
+
"tokenizer_class": "PreTrainedTokenizerFast",
|
| 4097 |
+
"unk_token": "<unk>",
|
| 4098 |
+
"use_default_system_prompt": false
|
| 4099 |
+
}
|
artifacts/quest-lora/training-recipe.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"type": "lora_training_recipe",
|
| 3 |
+
"base_model": "openbmb/MiniCPM5-1B",
|
| 4 |
+
"adapter_task": "hackathon_advisor_quest_classification",
|
| 5 |
+
"method": "LoRA SFT (completion-only loss)",
|
| 6 |
+
"example_count": 146,
|
| 7 |
+
"epochs": 6.0,
|
| 8 |
+
"rank": 16,
|
| 9 |
+
"alpha": 32,
|
| 10 |
+
"dropout": 0.05,
|
| 11 |
+
"learning_rate": 0.0002,
|
| 12 |
+
"max_seq_length": 2560,
|
| 13 |
+
"target_modules": [
|
| 14 |
+
"down_proj",
|
| 15 |
+
"gate_proj",
|
| 16 |
+
"k_proj",
|
| 17 |
+
"o_proj",
|
| 18 |
+
"q_proj",
|
| 19 |
+
"up_proj",
|
| 20 |
+
"v_proj"
|
| 21 |
+
],
|
| 22 |
+
"gpu": "A10G"
|
| 23 |
+
}
|
data/quest_corpus.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
data/quest_dataset_card.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
task_categories:
|
| 4 |
+
- text-classification
|
| 5 |
+
- text-generation
|
| 6 |
+
language:
|
| 7 |
+
- en
|
| 8 |
+
tags:
|
| 9 |
+
- hackathon-advisor
|
| 10 |
+
- quest-classification
|
| 11 |
+
- lora-sft
|
| 12 |
+
- minicpm5
|
| 13 |
+
pretty_name: Hackathon Advisor Quest Classification SFT
|
| 14 |
+
size_categories:
|
| 15 |
+
- n<1K
|
| 16 |
+
---
|
| 17 |
+
|
| 18 |
+
# Hackathon Advisor — Quest Classification SFT Dataset
|
| 19 |
+
|
| 20 |
+
Supervised fine-tuning data that teaches MiniCPM5-1B to classify a Build Small
|
| 21 |
+
Hackathon project against 13 judging dimensions from a two-segment README + app-file
|
| 22 |
+
prompt, emitting strict JSON with short, source-attributed evidence. Trains the LoRA at
|
| 23 |
+
[`build-small-hackathon/hackathon-advisor-quest-minicpm5-lora`](https://huggingface.co/build-small-hackathon/hackathon-advisor-quest-minicpm5-lora).
|
| 24 |
+
|
| 25 |
+
## Format (`quest_sft.jsonl`)
|
| 26 |
+
|
| 27 |
+
Chat-JSONL. The **first line** is a `lora_sft_manifest`; every following line is a
|
| 28 |
+
`lora_sft_example` with a `messages` list (system / user / assistant). The assistant
|
| 29 |
+
turn is exactly one JSON object:
|
| 30 |
+
|
| 31 |
+
```json
|
| 32 |
+
{"matches":[{"quest":"...","confidence":0.0,"evidence":"...","source":"readme|app_file"}]}
|
| 33 |
+
```
|
| 34 |
+
|
| 35 |
+
No markdown, no prose, no renamed quests; an empty `matches` list when no dimension has
|
| 36 |
+
clear evidence. The user turn splits the project into a `[README]` segment and an
|
| 37 |
+
`[APP_FILE]` segment so the model judges product description and implementation
|
| 38 |
+
evidence separately and attributes each match to its source.
|
| 39 |
+
|
| 40 |
+
## Quest dimensions (13)
|
| 41 |
+
|
| 42 |
+
Six merit badges (Off the Grid, Well-Tuned, Off-Brand, Llama Champion, Sharing is
|
| 43 |
+
Caring, Field Notes), two tracks (Backyard AI, Thousand Token Wood), and five
|
| 44 |
+
sponsor / special awards (OpenBMB, Nemotron, Modal, Tiny Titan, Best Agent).
|
| 45 |
+
|
| 46 |
+
## Examples: 156 (14 with empty matches)
|
| 47 |
+
|
| 48 |
+
| variant | count |
|
| 49 |
+
| --- | --- |
|
| 50 |
+
| natural | 108 |
|
| 51 |
+
| app_only | 16 |
|
| 52 |
+
| missing_app_file | 16 |
|
| 53 |
+
| noisy_metadata | 8 |
|
| 54 |
+
| contradiction | 6 |
|
| 55 |
+
| empty | 2 |
|
| 56 |
+
|
| 57 |
+
Positive examples per quest:
|
| 58 |
+
|
| 59 |
+
| quest | examples |
|
| 60 |
+
| --- | --- |
|
| 61 |
+
| Off the Grid | 87 |
|
| 62 |
+
| Off-Brand | 59 |
|
| 63 |
+
| Tiny Titan | 58 |
|
| 64 |
+
| Thousand Token Wood | 49 |
|
| 65 |
+
| Llama Champion | 35 |
|
| 66 |
+
| Backyard AI | 35 |
|
| 67 |
+
| Well-Tuned | 31 |
|
| 68 |
+
| OpenBMB | 26 |
|
| 69 |
+
| Sharing is Caring | 19 |
|
| 70 |
+
| Nemotron | 18 |
|
| 71 |
+
| Field Notes | 15 |
|
| 72 |
+
| Modal | 14 |
|
| 73 |
+
| Best Agent | 14 |
|
| 74 |
+
|
| 75 |
+
## Provenance
|
| 76 |
+
|
| 77 |
+
Built from the real public Spaces of the `build-small-hackathon` org: 125 crawled
|
| 78 |
+
projects → deduped + length-filtered to 108 content-rich ones → labelled by a
|
| 79 |
+
teacher-then-adversarial-verifier multi-agent workflow → plus targeted augmentations
|
| 80 |
+
(app-only, readme-only / missing app file, README↔app contradictions, empty matches,
|
| 81 |
+
noisy metadata). `labeled.json` holds the per-project verified labels. Examples are
|
| 82 |
+
derived from public hackathon submissions for research and hackathon use; each project
|
| 83 |
+
remains under its own Space license.
|
data/quest_label_input.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
data/quest_labels/in/AI-Puppet-Theater.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/AI-Puppet-Theater",
|
| 3 |
+
"slug": "AI-Puppet-Theater",
|
| 4 |
+
"title": "AI Puppet Theater",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "AI Puppet Theater is a public Gradio Space for building short interactive puppet shows from a user premise.",
|
| 13 |
+
"APP_FILE": "from html import escape\nfrom time import sleep\nfrom puppet_theater import (\n\nfrom html import escape\nimport os\nfrom time import sleep\n\nimport gradio as gr\n\nfrom puppet_theater import (\n DEFAULT_OPENBMB_MODEL_ID,\n TheaterSession,\n create_show_from_premise,\n get_backend_status,\n request_finale,\n run_one_beat,\n summon_actor,\n throw_prop,\n warm_up_openbmb,\n)\n\n\nEMPTY_STAGE = \"\"\"\n<div class=\"puppet-stage stage-empty\">\n <div class=\"stage-valance\"></div>\n <div class=\"stage-backdrop\">\n <div class=\"stage-marquee\">AI Puppet Theater</div>\n <div class=\"empty-stage-copy\">Enter a premise and raise the curtain.</div>\n </div>\n <div class=\"stage-floorboards\"></div>\n</div>\n\"\"\"\n\nEMPTY_TRANSCRIPT = \"No show yet. The transcript will appear here.\"\nEMPTY_DIRECTOR_LOG = \"No director notes yet.\"\nEMPTY_TRACE = \"No trace events yet.\"\nEMPTY_BACKEND = (\n \"Active backend: deterministic\\n\"\n \"OpenBMB model id: openbmb/MiniCPM5-1B\\n\"\n \"Model status: unloaded\\n\"\n \"Fallback: deterministic safety path enabled\"\n)\nBACKEND_CHOICES = [\"deterministic\", \"openbmb\"]\nOPENBMB_MODEL_ID = os.getenv(\"OPENBMB_MODEL_ID\", DEFAULT_OPENBMB_MODEL_ID)\nDEFAULT_MAX_NEW_TOKENS = 80\nDEFAULT_TEMPERATURE = 0.8\nPLAYBACK_DELAY_SECONDS = 0.75\nPROP_EMOJI = {\n \"rubber duck\": \"🐤\",\n \"duck\": \"🐤\",\n \"egg\": \"🥚\",\n \"flowers\": \"💐\",\n \"flower\": \"💐\",\n \"tomato\": \"🍅\",\n \"crown\": \"👑\",\n \"tiny crown\": \"👑\",\n \"scroll\": \"📜\",\n \"banana\": \"🍌\",\n \"mirror\": \"🪞\",\n}\n\nCUSTOM_CSS = \"\"\"\nbody,\n.gradio-container {\n background:\n radial-gradient(circle at 50% 0%, rgba(127, 29, 29, 0.18), transparent 28rem),\n linear-gradient(180deg, #0b1020 0%, #070914 100%) !important;\n color: #f8efe4 !important;\n}\n.gradio-container {\n max-width: 1180px !important;\n padding-top: 1rem !important;\n font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \" ..."
|
| 14 |
+
}
|
data/quest_labels/in/AI-agent-Evaluation-pipeline.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/AI-agent-Evaluation-pipeline",
|
| 3 |
+
"slug": "AI-agent-Evaluation-pipeline",
|
| 4 |
+
"title": "ai agent evaluation pipeline",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"agents",
|
| 9 |
+
"evaluation",
|
| 10 |
+
"gradio",
|
| 11 |
+
"llm",
|
| 12 |
+
"observability"
|
| 13 |
+
],
|
| 14 |
+
"app_file": "app.py",
|
| 15 |
+
"README": "# 🧪 AI Agent Evaluation Pipeline > Evaluate AI agents at **Session**, **Trace**, and **Span** levels — inspired by [Amazon Bedrock AgentCore Evaluations](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/evaluations.html) ## Overview This tool provides a structured framework for evaluating AI agent conversations using the same three-level hierarchy as Amazon Bedrock AgentCore Evaluations: ``` 📦 Session → Did the agent achieve the user's overall goal? └── 🔄 Trace → Per-turn quality (helpfulness, coherence, relevance...) └── 🔧 Span → Per tool-call accuracy ``` ## Features - **14 built-in evaluators** (1 session + 11 trace + 2 span) - **Heuristic mode** — works offline, no API key required - **3 demo traces** (Simple Q&A, Tool Calling, Multi-turn) - **Ground truth support** — `expected_response`, `expected_trajectory`, `assertions` - **Visual results** — radar chart, bar chart, heatmap, score cards ## Evaluators ### 📦 Session Level (1) | Evaluator | Description | | ----------------- | --------------------------------------------------- | | Goal Success Rate | Did the agent fully achieve the user's stated goal? | ### 🔄 Trace Level (11) | Evaluator | Description | | ----------------------- | ----------------------------------------------------------- | | Helpfulness | Does the response help the user progress toward their goal? | | Correctness | Is the response factually correct? | | Coherence | Is the reasoning logically consistent and well-structured? | | Conciseness ...",
|
| 16 |
+
"APP_FILE": "from pathlib import Path\nfrom src.evaluators import (\nfrom src.llm_judge import LLMJudge\nfrom src.models import EvalLevel, EvalMode, GroundTruth\nfrom src.parser import format_trace_tree, parse_trace\nfrom src.reliability import compute_reliability\nfrom src.runner import EvalRunner\nfrom src.visualizer import create_bar_chart, create_radar_chart, create_trace_timeline\nfrom urllib.parse import urlparse\nfrom huggingface_hub import hf_hub_download\n\n#!/usr/bin/env python3\n\"\"\"\nAI Agent Evaluation Pipeline — Gradio MVP\n==========================================\nEvaluate AI agents at 3 hierarchical levels, inspired by\nAmazon Bedrock AgentCore Evaluations.\n\n 📦 Session — Did the agent achieve the user's goal?\n 🔄 Trace — Per-turn quality (11 evaluators)\n 🔧 Span — Per tool-call accuracy (2 evaluators)\n\nRun locally : python app.py\nHuggingFace : app_file = app.py (Gradio SDK)\n\"\"\"\n\nimport json\nimport os\nimport sys\nfrom pathlib import Path\n\n# Ensure src/ is importable whether run from repo root or HF Spaces\n_ROOT = Path(__file__).parent\nsys.path.insert(0, str(_ROOT))\n\nimport gradio as gr\n\n# HF ZeroGPU Spaces require at least one @spaces.GPU-decorated function\n# to be detected at module load. The actual evaluation and dataset\n# generation work in this app uses the cloud InferenceClient and runs\n# without local GPU compute; the placeholder below exists only to\n# satisfy the runtime's static check. `spaces` is pre-installed on\n# ZeroGPU hardware; we guard the import so the app still loads if it\n# is missing (e.g. local CPU dev).\ntry:\n import spaces as _spaces\nexcept ImportError:\n class _spaces_stub:\n @staticmethod\n def GPU(fn, duration: int = 60):\n return fn\n _spaces = _spaces_stub()\n\n\n@_spaces.GPU\ndef _zero_gpu_healthcheck() -> dict:\n \"\"\"Placeholder GPU function detected by the ZeroGPU runtime.\"\"\"\n try:\n import torch\n retu ..."
|
| 17 |
+
}
|
data/quest_labels/in/Advent_of_a_World_of_Flowering_Trees.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Advent_of_a_World_of_Flowering_Trees",
|
| 3 |
+
"slug": "Advent_of_a_World_of_Flowering_Trees",
|
| 4 |
+
"title": "Advent Of A World Of Flowering Trees",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference ## For development: first download uv and hf cli tool ```bash uv venv --python 3.13 --seed ``` then activate the virtual env .venv ```bash source .venv/Scripts/activate ``` then download dependencies ```python python -m pip install -r requirements.txt ``` then play around and change code..",
|
| 13 |
+
"APP_FILE": "from huggingface_hub import hf_hub_download\nfrom llama_cpp import Llama\n\nimport gradio as gr\nimport spaces\nfrom huggingface_hub import hf_hub_download\nimport os\nimport ctypes\n\n\nMODEL_REPO_ID = \"CohereLabs/tiny-aya-global-GGUF\"\nMODEL_FILENAME = \"tiny-aya-global-q4_k_m.gguf\"\n\nmodel_path = hf_hub_download(\n repo_id=MODEL_REPO_ID,\n filename=MODEL_FILENAME,\n)\n\n_llm = None\n\n# try:\n# import nvidia.cuda_runtime\n# import nvidia.cublas\n# cudart = os.path.join(os.path.dirname(nvidia.cuda_runtime.__file__), \"lib\", \"libcudart.so.12\")\n# cublas = os.path.join(os.path.dirname(nvidia.cublas.__file__), \"lib\", \"libcublas.so.12\")\n# ctypes.CDLL(cudart, mode=ctypes.RTLD_GLOBAL)\n# ctypes.CDLL(cublas, mode=ctypes.RTLD_GLOBAL)\n# except Exception:\n# pass\n\ndef get_llm():\n global _llm\n if _llm is None:\n from llama_cpp import Llama\n\n _llm = Llama(\n model_path=model_path,\n n_gpu_layers=-1,\n n_ctx=1024,\n flash_attn=True,\n verbose=False,\n )\n return _llm\n\n\n@spaces.GPU(duration=120)\ndef run_inference(prompt: str) -> str:\n prompt = prompt.strip()\n if not prompt:\n return \"Enter a prompt to generate a response.\"\n\n try:\n llm = get_llm()\n except Exception as exc:\n return f\"llama-cpp initialization failed: {exc}\"\n\n response = llm.create_chat_completion(\n messages=[{\"role\": \"user\", \"content\": prompt}],\n max_tokens=512,\n temperature=0.7,\n )\n return response[\"choices\"][0][\"message\"][\"content\"].strip()\n\n\nwith gr.Blocks(title=\"Advent Of A World Of Flowering Trees\") as demo:\n gr.Markdown(\"# Advent Of A World Of Flowering Trees\")\n gr.Markdown(\"Tiny Aya GGUF demo running with `llama-cpp-python`.\")\n\n prompt = gr.Textbox(\n label=\"Prompt\",\n lines=6,\n placeholder=\"Ask something...\",\n )\n output = gr.Textbo ..."
|
| 14 |
+
}
|
data/quest_labels/in/Backyard-Demo-Builder.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Backyard-Demo-Builder",
|
| 3 |
+
"slug": "Backyard-Demo-Builder",
|
| 4 |
+
"title": "Backyard Demo Builder",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [
|
| 7 |
+
"unsloth/gemma-4-12B-it-qat-GGUF",
|
| 8 |
+
"Qwen/Qwen2.5-7B-Instruct",
|
| 9 |
+
"nvidia/Nemotron-3.5-Content-Safety"
|
| 10 |
+
],
|
| 11 |
+
"tags": [
|
| 12 |
+
"agents",
|
| 13 |
+
"ai-agents",
|
| 14 |
+
"backyard-ai",
|
| 15 |
+
"build-small-hackathon",
|
| 16 |
+
"demo-builder",
|
| 17 |
+
"gradio",
|
| 18 |
+
"real-estate",
|
| 19 |
+
"small-language-model"
|
| 20 |
+
],
|
| 21 |
+
"app_file": "app.py",
|
| 22 |
+
"README": "# Backyard Demo Builder ## Chapter 1: Backyard AI *Build Small Hackathon 2026 — Chapter 1 Submission* `agent-swarm-workbench` now presents as **Backyard Demo Builder**: a Gradio app that turns one real person's workflow into a small runnable demo package before anyone pays to build full software. First backyard case: my mom, a real-estate agent. She needs a cheap way to test a customer follow-up reminder workflow before committing time and money to a full app. --- ## Watch the Demo Builder Work ``` You: \"Build a real-estate follow-up CRM demo for my mom.\" Builder: Generates a Gradio mini-app, handoff spec, field notes, and checks Result: app.py, README.md, handoff_spec.md, field_notes.md Mom: Tests the workflow, then we scrap or scale. ``` Every Run produces a **downloadable demo package** and Validation report: files you can inspect, unzip, run, and test with the real person. --- ## Build Small Hackathon — Submission Notes | Requirement | How We Meet It | |---|---| | **Small model (≤ 32B)** | Provider catalog fetches models at runtime and only allows models whose ID/name proves ≤32B | | **Gradio app** | Custom dark-themed Gradio UI mounted on FastAPI | | **HF Space** | `app.py` + `requirements.txt` — one-command deploy | | **Demo video** | *(placeholder — [link to demo])* | | **Social post** | *(placeholder — [link to post])* | ### Bonus Badges Claimed | Badge | Why | |---|---| | **🎨 Off-Brand** | Fully custom CSS dark theme — Archivo + IBM Plex Mono, acid green CTAs, paper/ ...",
|
| 23 |
+
"APP_FILE": "from __future__ import annotations\nfrom arena.api import app as fastapi_app\nfrom arena.api import service\nfrom arena.gradio_app import RunOutputs, build_app, create_run_gpu as _create_run_gpu\n\n\"\"\"Unified ASGI entrypoint for API and Gradio UI.\"\"\"\n\nfrom __future__ import annotations\n\nimport os\n\nimport gradio as gr\nimport uvicorn\n\ntry:\n import spaces\nexcept Exception:\n class _SpacesShim:\n def GPU(self, fn=None, **kwargs):\n del kwargs\n\n def decorator(inner):\n return inner\n\n return decorator(fn) if fn else decorator\n\n spaces = _SpacesShim()\n\n\nfrom arena.api import app as fastapi_app\nfrom arena.api import service\nfrom arena.gradio_app import RunOutputs, build_app, create_run_gpu as _create_run_gpu\n\n\n@spaces.GPU(duration=120)\ndef create_run_gpu(\n prompt: str,\n criteria_text: str,\n user_tests_text: str,\n provider: str = \"openrouter\",\n model: str = \"\",\n api_key: str = \"\",\n base_url: str = \"\",\n) -> RunOutputs:\n return _create_run_gpu(\n prompt,\n criteria_text,\n user_tests_text,\n provider,\n model,\n api_key,\n base_url,\n )\n\n\n@spaces.GPU\ndef zerogpu_ready_marker() -> str:\n return \"ready\"\n\n\ndemo = build_app(service, create_run_handler=create_run_gpu)\n\n\ndef create_app():\n \"\"\"Create one FastAPI ASGI app with Gradio mounted at the root.\"\"\"\n\n return gr.mount_gradio_app(fastapi_app, demo, path=\"/\")\n\n\napp = create_app()\n\n\ndef server_config() -> dict[str, int | str]:\n host = os.getenv(\"GRADIO_SERVER_NAME\", os.getenv(\"HOST\", \"0.0.0.0\"))\n port = int(os.getenv(\"GRADIO_SERVER_PORT\") or os.getenv(\"PORT\") or \"7860\")\n return {\"host\": host, \"port\": port}\n\n\ndef gradio_launch_config() -> dict[str, bool | int | str]:\n config = server_config()\n port = int(os.getenv(\"GRADIO_SERVER_PORT\") or os.getenv(\"PORT\") or \"7860\")\n return {\"server_nam ..."
|
| 24 |
+
}
|
data/quest_labels/in/Case-Lantern.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Case-Lantern",
|
| 3 |
+
"slug": "Case-Lantern",
|
| 4 |
+
"title": "Case Lantern",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [
|
| 7 |
+
"lastmass/Qwen3.5-Medical-GSPO"
|
| 8 |
+
],
|
| 9 |
+
"tags": [
|
| 10 |
+
"gradio",
|
| 11 |
+
"region:us"
|
| 12 |
+
],
|
| 13 |
+
"app_file": "app.py",
|
| 14 |
+
"README": "# 🏮 Case Lantern Short Demo Video: https://youtu.be/Bf3t5Cq6XuA Case Lantern is a fictional medical mystery game for the [Build Small Hackathon](https://huggingface.co/build-small-hackathon). Players investigate a short Chinese case, request clues, avoid red herrings, and submit a diagnosis within six turns. The experience uses [`lastmass/Qwen3.5-Medical-GSPO`](https://huggingface.co/lastmass/Qwen3.5-Medical-GSPO), a small Chinese medical reasoning model with roughly 4.66B parameters, as the game master and scorer. Inference runs locally via **llama.cpp** (GGUF Q4_K_M). ## Track & Merit Badges | Item | Detail | |------|--------| | Track | An Adventure in Thousand Token Wood | | AI role | Load-bearing game master, clue writer, and scoring judge | | Constraint | Small model under 32B parameters | | UI | Gradio Space with custom dark frontend | | Badge | Status | |-------|--------| | 🏕️ Off the Grid (LOCAL-FIRST) | ✅ Model runs locally in the Space | | 🎸 Well-Tuned (FINE-TUNED) | ✅ Uses fine-tuned model published on HF | | 🦙 Llama Champion | ✅ Runs via llama.cpp runtime | | 🎨 Off-Brand (CUSTOM UI) | ✅ Dark glassmorphism theme, custom CSS | ## Safety framing This is not a diagnosis or treatment tool. It only uses fictional cases for learning-oriented gameplay. Users are explicitly asked not to provide personal health information. ## Deployment notes The app is designed for **free CPU Spaces** on Hugging Face. It does not require a GPU. The GGUF model (~2.78 GB, Q4_K_M) is downloa ...",
|
| 15 |
+
"APP_FILE": "from dataclasses import dataclass, field\nfrom functools import lru_cache\nfrom typing import Dict, List, Optional\nfrom llama_cpp import Llama # noqa: delayed import\n\n\"\"\"Case Lantern — a fictional medical mystery game powered by a small Chinese\nmedical reasoning model.\n\nBackend : llama-cpp-python (GGUF, runs on free CPU Spaces)\nFrontend : fully custom dark theme with glassmorphism & micro-animations\nModel : lastmass/Qwen3.5-Medical-GSPO (~4.66 B params, Q4_K_M quant)\n\"\"\"\n\nimport os\nimport random\nimport re\nimport textwrap\nfrom dataclasses import dataclass, field\nfrom functools import lru_cache\nfrom typing import Dict, List, Optional\n\nimport gradio as gr\n\n# ---------------------------------------------------------------------------\n# Configuration\n# ---------------------------------------------------------------------------\n# Display model (shown in UI)\nDISPLAY_MODEL_ID = \"lastmass/Qwen3.5-Medical-GSPO\"\n# GGUF repo used for actual inference (quantised by mradermacher)\nGGUF_REPO = \"mradermacher/Qwen3.5-Medical-GSPO-GGUF\"\nGGUF_FILE = \"Qwen3.5-Medical-GSPO.Q4_K_M.gguf\"\n\nDEMO_MODE = os.getenv(\"DEMO_MODE\", \"auto\").lower()\nMAX_NEW_TOKENS = int(os.getenv(\"MAX_NEW_TOKENS\", \"420\"))\n\nDISCLAIMER = (\n \"Fictional training game only. This app does not provide medical advice, \"\n \"diagnosis, triage, or treatment guidance for real people.\"\n)\n\n# ---------------------------------------------------------------------------\n# System prompt\n# ---------------------------------------------------------------------------\nSYSTEM_PROMPT = \"\"\"You are Case Lantern, a playful but careful medical mystery game master.\nCreate and run fictional Chinese medical reasoning puzzles for education and entertainment.\n\nRules:\n- Never present output as real medical advice.\n- Keep all patients fictional.\n- Do not ask users to share real personal health information.\n- Make the game delightful, concise, an ..."
|
| 16 |
+
}
|
data/quest_labels/in/CodeFlow.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/CodeFlow",
|
| 3 |
+
"slug": "CodeFlow",
|
| 4 |
+
"title": "CodeFlow",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference",
|
| 13 |
+
"APP_FILE": "from huggingface_hub import hf_hub_download\nfrom llama_cpp import Llama\nfrom gradio import Server\nfrom fastapi.responses import HTMLResponse # serve the custom frontend from a route\nfrom typing import Any, cast # to resolve PyLance freaking out over llama-cpp-python in the generate_flowchart function\nfrom textwrap import dedent\n\n\"\"\"\n3. Graph. Capture the resulting mermaid string and visualize it\n\nTo do\n- create the custom gradio look\n- explore making it look better\n- get a better model — Qwen 30b coder\n- use zerogpu\n\n\"\"\"\nfrom huggingface_hub import hf_hub_download\nfrom llama_cpp import Llama\nimport gradio as gr\nfrom gradio import Server\nfrom fastapi.responses import HTMLResponse # serve the custom frontend from a route\nfrom typing import Any, cast # to resolve PyLance freaking out over llama-cpp-python in the generate_flowchart function\nfrom textwrap import dedent\nimport re # remove thinking tag from response \n\n\n\n out = []\n for line in text.split('\\n'):\n line = re.sub(r'(?<=\\w)\\[(.*?)\\]' + END, lambda m: '[\"' + esc(m.group(1)) + '\"]', line)\n line = re.sub(r'(?<=\\w)\\{(.*?)\\}' + END, lambda m: '{\"' + esc(m.group(1)) + '\"}', line)\n out.append(line)\n return '\\n'.join(out)\n\n@app.api(name=\"generate_flowchart\")\ndef generate_flowchart(src_code: str) -> str:\n # check if src_code is empty\n if not src_code.strip(): return \"\"\n\n # Set system prompt\n system_prompt = dedent(\"\"\"\n ## Role/Persona\n You are a senior staff software architect and compiler engineer specializing in visual control-flow mapping. Your philosophy is pure utility: you translate raw execution logic into highly accurate, scannable, structural diagrams without any conversational filler, meta-commentary, or stylistic fluff.\n\n ## Context/Objective\n The user will provide source code files or logic snippets. Your sole objective is to parse the syntax and output a co ..."
|
| 14 |
+
}
|
data/quest_labels/in/ContextForge.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/ContextForge",
|
| 3 |
+
"slug": "ContextForge",
|
| 4 |
+
"title": "ContextForge",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "# ContextForge / Agent Prompt Compiler ContextForge compiles messy software, app, and agent ideas into executable prompt architectures. It is a compiler pipeline, not a generic prompt generator. **GitHub:** https://github.com/rthgit/ContextForge **Competition Gradio Space:** https://huggingface.co/spaces/build-small-hackathon/ContextForge **Backup Gradio Space:** https://huggingface.co/spaces/RthItalia/ContextForge **Demo video:** https://raw.githubusercontent.com/rthgit/ContextForge/main/artifacts/contextforge-demo.mp4 **Tagline:** From fuzzy brief to build-ready agent blueprint. ## Backyard AI Fit - Built for real builders using AI coding agents. - Real problem: vague briefs make Codex and other agents produce wrong code, generic UI, or incomplete workflows. - Real use evidence: this architecture was used to coordinate Trollsona development, including UI refactor, model cascade, QA, packaging, and video automation. - Small-model fit: ContextForge decomposes a hard prompt-writing task into seven smaller calls so a small model can handle it. The backend always executes seven isolated modules sequentially: 1. intake analysis 2. topology decision 3. Vital Few / Vital Spot extraction 4. reasoning architecture selection 5. prompt pack generation 6. QA / repair 7. final assembly Every module attempts its own small-model call. If one call fails, only that stage uses a deterministic fallback and the pipeline continues. Runtime Details shows the source used by every stage. Each modul ...",
|
| 13 |
+
"APP_FILE": "from __future__ import annotations\nfrom dataclasses import dataclass\nfrom functools import lru_cache\nfrom typing import Any, Callable\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\n\nfrom __future__ import annotations\n\nimport json\nimport os\nimport re\nimport time\nfrom dataclasses import dataclass\nfrom functools import lru_cache\nfrom typing import Any, Callable\n\n\nAPP_TITLE = \"ContextForge\"\nAPP_SUBTITLE = \"From fuzzy brief to build-ready agent blueprint.\"\nDEFAULT_MODEL_ID = \"Qwen/Qwen2.5-0.5B-Instruct\"\nDEFAULT_MID_MODEL_ID = \"RthItalia/nano_compact_3b_qkvfp16\"\nDEFAULT_HIGH_MODEL_ID = \"Qwen/Qwen3-32B\"\nREQUIRED_PROMPT_TAGS = [\n \"ROLE\",\n \"COGNITIVE_LAYERS\",\n \"KAHNEMAN_SYSTEM2\",\n \"PARETO_80_20\",\n \"VITAL_SPOT\",\n \"REASONING_PROTOCOL\",\n \"AGENTIC_LOOP\",\n \"ACTION\",\n \"FORMAT_AND_TARGET\",\n \"QA_CHECKS\",\n]\nTOPOLOGIES = [\"Auto\", \"Single Prompt\", \"Cascade\", \"Context Pack\", \"Agent Workflow\"]\nREASONING_LAYERS = [\n \"CRAFT\",\n \"Kahneman System 2\",\n \"Pareto 80/20\",\n \"Agentic Loop\",\n \"Tree of Thought controlled\",\n \"Private CoT\",\n \"Self-Correction\",\n \"Sentinel Recovery\",\n]\nSTAGE_NAMES = [\n \"intake_analysis\",\n \"topology_decision\",\n \"vital_structure\",\n \"reasoning_architecture\",\n \"prompt_pack_generation\",\n \"qa_repair\",\n \"final_assembly\",\n]\nSTAGE_TOKEN_BUDGETS = {\n \"intake_analysis\": 180,\n \"topology_decision\": 140,\n \"vital_structure\": 180,\n \"reasoning_architecture\": 240,\n \"prompt_pack_generation\": 520,\n \"qa_repair\": 260,\n \"final_assembly\": 260,\n}\n\n\ndef parse_bool_env(name: str, default: bool = False) -> bool:\n raw = os.getenv(name)\n if raw is None:\n return default\n return raw.strip().lower() in {\"1\", \"true\", \"yes\", \"on\"}\n\n\ndef parse_int_env(name: str, default: int, minimum: int, maximum: int) -> int:\n try:\n value = int(os.getenv(name, str(default)))\n except Valu ..."
|
| 14 |
+
}
|
data/quest_labels/in/Council-of-Tiny-Minds.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Council-of-Tiny-Minds",
|
| 3 |
+
"slug": "Council-of-Tiny-Minds",
|
| 4 |
+
"title": "Council Of Tiny Minds",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference",
|
| 13 |
+
"APP_FILE": "from typing import Dict, List, Any\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\n\nimport os\nimport re\nimport time\nimport random\nfrom typing import Dict, List, Any\n\nimport gradio as gr\nimport torch\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\n\ntry:\n import spaces # ZeroGPU decorator\nexcept Exception:\n class _SpacesFallback:\n def GPU(self, fn=None, **kwargs):\n if fn is None:\n def _wrap(inner):\n return inner\n return _wrap\n return fn\n spaces = _SpacesFallback()\n\n\n# ----------------------------\n# Model\n# ----------------------------\nMODEL_ID = os.getenv(\"MODEL_ID\", \"Qwen/Qwen3.5-9B\")\nMAX_NEW_TOKENS = int(os.getenv(\"MAX_NEW_TOKENS\", \"140\"))\nTEMPERATURE = float(os.getenv(\"TEMPERATURE\", \"0.9\"))\nTOP_P = float(os.getenv(\"TOP_P\", \"0.9\"))\n\nPERSONAS = [\n {\n \"name\": \"Mister Wink\",\n \"emoji\": \"✨\",\n \"style\": (\n \"You are charming, slightly ridiculous, and surprisingly helpful. \"\n \"You speak like a cheerful TV host from a glitchy early-2023 chatbot era.\"\n ),\n },\n {\n \"name\": \"Goblin Clerk\",\n \"emoji\": \"🪄\",\n \"style\": (\n \"You are chaotic but functional. \"\n \"You love odd metaphors, tiny complaints, and enthusiastic one-liners.\"\n ),\n },\n {\n \"name\": \"Oracle Beta\",\n \"emoji\": \"🔮\",\n \"style\": (\n \"You speak in short, atmospheric lines. \"\n \"You sound wise, but a little too dramatic for the situation.\"\n ),\n },\n {\n \"name\": \"The Skeptic\",\n \"emoji\": \"🫧\",\n \"style\": (\n \"You are skeptical, precise, and dryly funny. \"\n \"You question nonsense while still being useful.\"\n ),\n },\n]\n\n\ndef _load_model():\n tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, trust_remote_code ..."
|
| 14 |
+
}
|
data/quest_labels/in/Darwin-35B-A3B-Opus.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Darwin-35B-A3B-Opus",
|
| 3 |
+
"slug": "Darwin-35B-A3B-Opus",
|
| 4 |
+
"title": "Darwin 35B A3B Opus",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"mcp-server",
|
| 10 |
+
"region:us"
|
| 11 |
+
],
|
| 12 |
+
"app_file": "app.py",
|
| 13 |
+
"README": "This model is introduced in [Darwin Family](https://arxiv.org/abs/2605.14386).",
|
| 14 |
+
"APP_FILE": "from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, TextIteratorStreamer\nfrom threading import Thread\n\nimport os\nimport spaces\nimport torch\nimport gradio as gr\nfrom transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, TextIteratorStreamer\nfrom threading import Thread\n\n# Persist HF Hub cache on the mounted bucket storage so the 67GB model\n# only downloads once and stays cached between ZeroGPU calls.\nos.environ.setdefault(\"HF_HOME\", \"/data/hf_home\")\nos.environ.setdefault(\"HF_HUB_CACHE\", \"/data/hf_cache\")\n\nMODEL_ID = \"FINAL-Bench/Darwin-35B-A3B-Opus\"\nHF_TOKEN = os.environ.get(\"HF_TOKEN\")\n\nBNB = BitsAndBytesConfig(\n load_in_4bit=True,\n bnb_4bit_quant_type=\"nf4\",\n bnb_4bit_use_double_quant=True,\n bnb_4bit_compute_dtype=torch.bfloat16,\n # Allow accelerate to place buffers on CPU rather than hard-failing load.\n # On an A10G this usually keeps 100% of weights on GPU.\n llm_int8_enable_fp32_cpu_offload=True,\n)\n\n_model_cache = {}\n\ndef _load():\n if \"model\" not in _model_cache:\n tok = AutoTokenizer.from_pretrained(\n MODEL_ID,\n trust_remote_code=True,\n token=HF_TOKEN,\n cache_dir=os.environ[\"HF_HUB_CACHE\"],\n )\n if tok.pad_token is None:\n tok.pad_token = tok.eos_token\n\n if torch.cuda.is_available():\n torch.cuda.empty_cache()\n\n mod = AutoModelForCausalLM.from_pretrained(\n MODEL_ID,\n trust_remote_code=True,\n token=HF_TOKEN,\n quantization_config=BNB,\n device_map=\"auto\",\n # Calm the MoE memory estimator on A10G 24 GB\n max_memory={0: \"22GiB\", \"cpu\": \"200GiB\"},\n cache_dir=os.environ[\"HF_HUB_CACHE\"],\n low_cpu_mem_usage=True,\n )\n _model_cache[\"model\"] = mod\n _model_cache[\"tokenizer\"] = tok\n retu ..."
|
| 15 |
+
}
|
data/quest_labels/in/Family-Bill-Assistant.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Family-Bill-Assistant",
|
| 3 |
+
"slug": "Family-Bill-Assistant",
|
| 4 |
+
"title": "Family Bill Assistant",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference",
|
| 13 |
+
"APP_FILE": "from ui.layout import create_ui\nfrom tools.vision import process_receipt_image\nfrom agent.brain import process_workflow\n\nimport gradio as gr\nfrom ui.layout import create_ui\nfrom tools.vision import process_receipt_image\nfrom agent.brain import process_workflow\n\n# Load the custom CSS for the \"Off-Brand\" Badge\ntry:\n with open(\"ui/style.css\", \"r\") as f:\n custom_css = f.read()\nexcept FileNotFoundError:\n custom_css = \"\"\n\n# Build the Gradio App\ndemo = gr.Blocks()\nmy_theme = gr.themes.Default(\n primary_hue=\"blue\", \n neutral_hue=\"slate\"\n)\n\nwith demo:\n # Initialize the UI layout from the ui folder\n image_input, audio_input, submit_btn, chatbot, msg_input = create_ui()\n \n # Bind the submit button to the Core Boss workflow\n def handle_analyze(image, user_msg, history):\n if not user_msg:\n user_msg = \"Please analyze this bill.\"\n \n # Step 1: If an image is provided, extract raw text\n raw_text = None\n if image:\n raw_text = process_receipt_image(image)\n print(f\"=== VISION MODEL RAW TEXT ===\\n{raw_text}\\n=============================\")\n \n # Step 2: Route everything to the Core Boss\n bot_response = process_workflow(user_text=user_msg, raw_vision_text=raw_text)\n print(f\"=== CORE ROUTER RESPONSE ===\\n{bot_response}\\n============================\")\n \n # Step 3: Append to chat history\n history.append({\"role\": \"user\", \"content\": user_msg})\n history.append({\"role\": \"assistant\", \"content\": str(bot_response)})\n return history\n \n submit_btn.click(\n fn=handle_analyze,\n inputs=[image_input, msg_input, chatbot],\n outputs=[chatbot]\n )\n\nif __name__ == \"__main__\":\n demo.launch(theme=my_theme, css=custom_css)"
|
| 14 |
+
}
|
data/quest_labels/in/First-Principle-AI.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/First-Principle-AI",
|
| 3 |
+
"slug": "First-Principle-AI",
|
| 4 |
+
"title": "First-Principle AI",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [
|
| 7 |
+
"build-small-hackathon/phase-3-gguf"
|
| 8 |
+
],
|
| 9 |
+
"tags": [
|
| 10 |
+
"build-small-hackathon",
|
| 11 |
+
"chatbot",
|
| 12 |
+
"gguf",
|
| 13 |
+
"gradio",
|
| 14 |
+
"llama-cpp",
|
| 15 |
+
"model-lab",
|
| 16 |
+
"zerogpu"
|
| 17 |
+
],
|
| 18 |
+
"app_file": "app.py",
|
| 19 |
+
"README": "# First-Principle AI First-Principle AI is a compact Gradio console for running and probing the `build-small-hackathon/phase-3-gguf` Q8 GGUF model through the official `llama.cpp` Ubuntu `llama-server` release. The UI includes benchmark-style examples inspired by common LLM evaluation areas: math reasoning, commonsense, science QA, truthfulness, instruction following, coding, logic, summarization, extraction, robustness, and goal-binding prompts where the model must identify which real-world object needs to move. The questions are original prompts, not copied benchmark items. ## Runtime Notes - Model repo: `build-small-hackathon/phase-3-gguf` - Model file: `model-Q8_0.gguf` - Runtime: official `llama.cpp` `llama-server` - Hardware target: ZeroGPU - Fallback behavior: visible runtime diagnostics instead of silent mock output - Model loading: runtime download/load through a persistent `llama-server` - Default llama.cpp settings: `n_ctx=2048`, `n_batch=256`, `n_ubatch=64`, memory-mapped weights, no warmup, and CPU fallback if CUDA offload is unavailable ZeroGPU is a Gradio dynamic GPU runtime primarily documented around PyTorch workloads. This app targets ZeroGPU as requested, but it runs the GGUF through the official llama.cpp CLI path so it does not depend on a Python extension compile during the Space build. If the runtime does not expose enough memory or a compatible llama.cpp binary, the app returns a visible compatibility message. The model is intentionally not preloaded d ...",
|
| 20 |
+
"APP_FILE": "from __future__ import annotations\nfrom pathlib import Path\nfrom typing import Any\nfrom huggingface_hub import HfApi, hf_hub_download\n\nfrom __future__ import annotations\n\nimport os\nimport platform\nimport re\nimport threading\nimport time\nimport subprocess\nimport tarfile\nimport urllib.request\nimport json\nfrom pathlib import Path\nfrom typing import Any\n\nimport gradio as gr\nfrom huggingface_hub import HfApi, hf_hub_download\n\ntry:\n import spaces\nexcept Exception: # pragma: no cover - the package exists on HF ZeroGPU runtimes\n spaces = None # type: ignore[assignment]\n\nMODEL_REPO = os.getenv(\"PHASE3_MODEL_REPO\", \"build-small-hackathon/phase-3-gguf\")\nMODEL_FILE = os.getenv(\"PHASE3_MODEL_FILE\", \"model-Q8_0.gguf\")\nMODEL_LABEL = \"First-Principle AI\"\nLOCAL_MODEL_PATH = Path(\"/Users/user/.lmstudio/models/owenisas/Phase-3-GGUF/model-Q8_0.gguf\")\nLLAMA_RELEASE = os.getenv(\"PHASE3_LLAMA_RELEASE\", \"b9360\")\nLLAMA_URL = os.getenv(\n \"PHASE3_LLAMA_URL\",\n f\"https://github.com/ggml-org/llama.cpp/releases/download/{LLAMA_RELEASE}/llama-{LLAMA_RELEASE}-bin-ubuntu-x64.tar.gz\",\n)\nMAX_CONTEXT = int(os.getenv(\"PHASE3_MAX_CONTEXT\", \"2048\"))\nMIN_RAM_GB = float(os.getenv(\"PHASE3_MIN_RAM_GB\", \"38\"))\nDISABLE_MODEL = os.getenv(\"PHASE3_DISABLE_MODEL\", \"\").lower() in {\"1\", \"true\", \"yes\"}\nUSE_ZEROGPU_DECORATOR = os.getenv(\"PHASE3_USE_ZEROGPU\", \"\").lower() in {\"1\", \"true\", \"yes\"}\nN_BATCH = int(os.getenv(\"PHASE3_N_BATCH\", \"256\"))\nN_UBATCH = int(os.getenv(\"PHASE3_N_UBATCH\", \"64\"))\nN_THREADS = int(os.getenv(\"PHASE3_THREADS\", str(max(1, min(16, os.cpu_count() or 2)))))\nN_THREADS_BATCH = int(os.getenv(\"PHASE3_THREADS_BATCH\", str(N_THREADS)))\nUSE_MMAP = os.getenv(\"PHASE3_USE_MMAP\", \"1\").lower() not in {\"0\", \"false\", \"no\"}\nUSE_MLOCK = os.getenv(\"PHASE3_USE_MLOCK\", \"\").lower() in {\"1\", \"true\", \"yes\"}\nFLASH_ATTN = os.getenv(\"PHASE3_FLASH_ATTN\", \"\").lower() in {\"1\", \"true\", \"yes\"}\nOFFLOAD_KQV = os.getenv ..."
|
| 21 |
+
}
|
data/quest_labels/in/GRM-2.6-Opus.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/GRM-2.6-Opus",
|
| 3 |
+
"slug": "GRM-2.6-Opus",
|
| 4 |
+
"title": "GRM-2.6-Opus",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Text-only ZeroGPU Space for `GRM-2.6-Opus`. Notes: - Built for ZeroGPU with `@spaces.GPU` - Uses 4-bit NF4 quantization to reduce memory pressure - Keeps the UI text-only because the Qwen model card explicitly recommends text-only deployment to save memory and free more KV cache - Exposes Qwen3.6 thinking controls through `enable_thinking` and `preserve_thinking` - Uses shorter default generation lengths than the model card recommendations to behave better in shared ZeroGPU queues",
|
| 13 |
+
"APP_FILE": "from threading import Thread\nfrom transformers import (\n\nimport os\nimport re\nimport html\nfrom threading import Thread\n\nimport gradio as gr\nimport spaces\nimport torch\nfrom transformers import (\n AutoModelForCausalLM,\n AutoTokenizer,\n BitsAndBytesConfig,\n TextIteratorStreamer,\n)\n\nMODEL_ID = \"OrionLLM/GRM-2.6-Opus\"\nTITLE = \"GRM-2.6-Opus\"\nSUBTITLE = \"Chat with GRM-2.6-Opus on ZeroGPU\"\nDESCRIPTION = (\n \"Chat with GRM-2.6-Opus in a ZeroGPU Space, optimized with text-only chat, \"\n \"NF4 4-bit loading, bounded context, streaming output, and thinking parsing.\"\n)\n\nPLACEHOLDER = (\n \"Ask GRM-2.6-Opus for code, debugging, planning, research, long-form reasoning, \"\n \"terminal-agent tasks, or complex multi-step workflows.\"\n)\n\nMAX_INPUT_TOKENS = 16384\nINTERNAL_MAX_NEW_TOKENS = 4096\nHF_TOKEN = os.environ.get(\"HF_TOKEN\")\n\nos.environ.setdefault(\"PYTORCH_CUDA_ALLOC_CONF\", \"expandable_segments:True\")\ntorch.backends.cuda.matmul.allow_tf32 = True\n\nBNB_CONFIG = BitsAndBytesConfig(\n load_in_4bit=True,\n bnb_4bit_quant_type=\"nf4\",\n bnb_4bit_use_double_quant=True,\n bnb_4bit_compute_dtype=torch.bfloat16,\n)\n\ntokenizer = AutoTokenizer.from_pretrained(\n MODEL_ID,\n trust_remote_code=True,\n token=HF_TOKEN,\n)\n\nif tokenizer.pad_token is None:\n tokenizer.pad_token = tokenizer.eos_token\n\nmodel = AutoModelForCausalLM.from_pretrained(\n MODEL_ID,\n trust_remote_code=True,\n token=HF_TOKEN,\n device_map={\"\": 0},\n dtype=torch.bfloat16,\n quantization_config=BNB_CONFIG,\n attn_implementation=\"sdpa\",\n low_cpu_mem_usage=True,\n)\n\nmodel.eval()\n\n\ndef model_input_device():\n return next(model.parameters()).device\n\n\ndef strip_thinking(text: str) -> str:\n if not text:\n return \"\"\n\n text = re.sub(\n r\"(?is)<details[^>]*>\\s*<summary>.*?</summary>.*?</details>\",\n \"\",\n text,\n )\n\n text = re.sub(r\"(?is)<think>.*?</think> ..."
|
| 14 |
+
}
|
data/quest_labels/in/GTROX.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/GTROX",
|
| 3 |
+
"slug": "GTROX",
|
| 4 |
+
"title": "GTROX",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "An example chatbot using [Gradio](https://gradio.app), [`huggingface_hub`](https://huggingface.co/docs/huggingface_hub/v0.22.2/en/index), and the [Hugging Face Inference API](https://huggingface.co/docs/api-inference/index).",
|
| 13 |
+
"APP_FILE": "from huggingface_hub import InferenceClient\n\nimport gradio as gr\nfrom huggingface_hub import InferenceClient\n\n\ndef respond(\n message,\n history: list[dict[str, str]],\n system_message,\n max_tokens,\n temperature,\n top_p,\n hf_token: gr.OAuthToken,\n):\n \"\"\"\n For more information on `huggingface_hub` Inference API support, please check the docs: https://huggingface.co/docs/huggingface_hub/v0.22.2/en/guides/inference\n \"\"\"\n client = InferenceClient(token=hf_token.token, model=\"openai/gpt-oss-20b\")\n\n messages = [{\"role\": \"system\", \"content\": system_message}]\n\n messages.extend(history)\n\n messages.append({\"role\": \"user\", \"content\": message})\n\n response = \"\"\n\n for message in client.chat_completion(\n messages,\n max_tokens=max_tokens,\n stream=True,\n temperature=temperature,\n top_p=top_p,\n ):\n choices = message.choices\n token = \"\"\n if len(choices) and choices[0].delta.content:\n token = choices[0].delta.content\n\n response += token\n yield response\n\n\n\"\"\"\nFor information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface\n\"\"\"\nchatbot = gr.ChatInterface(\n respond,\n additional_inputs=[\n gr.Textbox(value=\"You are a friendly Chatbot.\", label=\"System message\"),\n gr.Slider(minimum=1, maximum=2048, value=512, step=1, label=\"Max new tokens\"),\n gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label=\"Temperature\"),\n gr.Slider(\n minimum=0.1,\n maximum=1.0,\n value=0.95,\n step=0.05,\n label=\"Top-p (nucleus sampling)\",\n ),\n ],\n)\n\nwith gr.Blocks() as demo:\n with gr.Sidebar():\n gr.LoginButton()\n chatbot.render()\n\n\nif __name__ == \"__main__\":\n demo.launch()"
|
| 14 |
+
}
|
data/quest_labels/in/InContext.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/InContext",
|
| 3 |
+
"slug": "InContext",
|
| 4 |
+
"title": "InContext",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference",
|
| 13 |
+
"APP_FILE": "from transformers import AutoModelForCausalLM, AutoTokenizer\n\nimport gradio as gr\nimport torch\nimport json\nimport html\nimport traceback\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\n\nprint(\"Loading model...\")\nmodel_name = \"Qwen/Qwen2.5-0.5B-Instruct\"\ntokenizer = AutoTokenizer.from_pretrained(model_name)\nmodel = AutoModelForCausalLM.from_pretrained(\n model_name,\n torch_dtype=torch.float16,\n device_map=\"auto\"\n)\nprint(\"Model loaded.\")\n\nSYSTEM_PROMPT = \"\"\"You are an English learning assistant. Extract 8-20 useful expressions from the text.\nFor each expression, output a JSON object with keys: expression, meaning, explanation, original_context, extra_example.\nMeaning and explanation should be in Chinese.\nOutput must be a JSON array. No extra text.\"\"\"\n\ndef analyze(text):\n try:\n if not text or len(text.strip()) < 20:\n return \"<div style='color:red'>⚠️ Please enter at least 20 characters.</div>\"\n\n messages = [\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": text}\n ]\n inputs = tokenizer.apply_chat_template(\n messages,\n add_generation_prompt=True,\n return_tensors=\"pt\"\n ).to(model.device)\n\n with torch.no_grad():\n outputs = model.generate(\n inputs,\n max_new_tokens=1024,\n do_sample=False,\n temperature=1.0\n )\n\n response = tokenizer.decode(outputs[0][inputs.shape[1]:], skip_special_tokens=True)\n\n # 提取 JSON\n if \"```json\" in response:\n response = response.split(\"```json\")[1].split(\"```\")[0]\n elif \"```\" in response:\n response = response.split(\"```\")[1].split(\"```\")[0]\n start = response.find(\"[\")\n end = response.rfind(\"]\") + 1\n if start == -1 or end == 0:\n return f\"< ..."
|
| 14 |
+
}
|
data/quest_labels/in/Kasualdad_LFED.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Kasualdad_LFED",
|
| 3 |
+
"slug": "Kasualdad_LFED",
|
| 4 |
+
"title": "Kasualdad LFED",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"duckdb",
|
| 9 |
+
"education",
|
| 10 |
+
"gguf",
|
| 11 |
+
"gradio",
|
| 12 |
+
"llama-cpp",
|
| 13 |
+
"local-first",
|
| 14 |
+
"text-to-sql"
|
| 15 |
+
],
|
| 16 |
+
"app_file": "app.py",
|
| 17 |
+
"README": "# 🏫 Kasualdad LFED **Local-First Education Data** — ask questions about your district in plain English, get answers instantly. All inference runs on your machine. No data ever leaves. > 🏆 Built for the **HF Build Small Hackathon** (Chapter One: Backyard AI) --- ## 🏅 Hackathon Badges | Badge | Status | How | |---|---|---| | **Off the Grid** | ✅ | All inference via llama.cpp + local GGUF. No API calls. No cloud. | | **Well-Tuned** | ✅ | Fine-tuned Qwen2.5-Coder-7B on 1,200+ synthetic NL→SQL pairs via Unsloth QLoRA on Modal A10G. | | **Llama Champion** | ✅ | llama.cpp as the sole inference backend. Q4_K_M quantization. Streaming token generation. | | **Off-Brand** | ✅ | Custom design system (Linear/Vercel inspired), WCAG AA, Inter + JetBrains Mono, documented below. | --- ## 🎯 What It Does A school district admin (principal, superintendent, department head) types a question: > *\"What percentage of students at Lincoln Elementary were chronically absent in 2023-2024?\"* Kasualdad LFED: 1. Sends the question + schema context to a local LLM (llama.cpp) 2. Streams the generated SQL back in real-time 3. Validates the SQL against the actual schema (column names, safety) 4. Executes it on an in-memory DuckDB database 5. Returns the results as a table All local. No API keys. No data exfiltration. --- ## 🏗 Architecture ```mermaid flowchart TD U[👤 School Admin] -->|natural language| UI[Gradio UI] UI -->|question + schema| LLM[model_inference.py] LLM -->|llama.cpp| GGUF[Qwen2.5-Coder-7B<br/> ...",
|
| 18 |
+
"APP_FILE": "from model_inference import load_model, generate_sql\nfrom data_engine import create_session, execute_safe, QueryTimeoutError\nfrom pathlib import Path\nfrom data.export_parquet import export_parquet\n\n\"\"\"\napp.py — Kasualdad LFED: Local-First Education Data Analytics.\n\nThin Gradio controller. All logic lives in:\n - prompts.py (system prompt, schema docs, few-shot examples)\n - model_inference.py (llama.cpp wrapper, SQL generation + streaming)\n - data_engine.py (DuckDB lifecycle, schema seeding, execution guard)\n\"\"\"\n\nimport gradio as gr\nimport spaces\n\nfrom model_inference import load_model, generate_sql\nfrom data_engine import create_session, execute_safe, QueryTimeoutError\n\n# ── Startup ───────────────────────────────────────────────────────────\n\nprint(\"🚀 Starting Kasualdad LFED...\")\n\n# Ensure Parquet seed files exist (generate on first boot, persist in /data/)\nfrom pathlib import Path\n_parquet_dirs = [Path(\"/data\"), Path(__file__).parent / \"data\"]\n_pq_files = [\"enrollment.parquet\", \"attendance.parquet\"]\n_pq_found = any(\n all((base / f).exists() for f in _pq_files)\n for base in _parquet_dirs\n)\nif not _pq_found:\n print(\"📦 Generating seed Parquet files (first boot)...\")\n from data.export_parquet import export_parquet\n _pq_out = _parquet_dirs[0] if _parquet_dirs[0].exists() else _parquet_dirs[1]\n export_parquet(_pq_out)\n\nprint(\"🦙 Loading model...\")\nllm = load_model()\nprint(\"✅ Ready.\")\n\n# ── Example queries ────────────────────────────────────────────────────\n\nEXAMPLE_QUERIES = [\n \"How many students were chronically absent in 2023-2024?\",\n \"Show total enrollment per school for 2024-2025, sorted highest first.\",\n \"What is the average absence count per school in 2023-2024?\",\n \"Show the enrollment trend across all school years.\",\n \"Which grade level has the highest enrollment in 2024-2025?\",\n \"What percentage of students at Linco ..."
|
| 19 |
+
}
|
data/quest_labels/in/Kintsugi-Garden.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Kintsugi-Garden",
|
| 3 |
+
"slug": "Kintsugi-Garden",
|
| 4 |
+
"title": "The Kintsugi Garden",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "<p align=\"center\"> <img src=\"logo.svg\" alt=\"The Kintsugi Garden — K and G mended by a gold seam\" width=\"220\"> </p> # The Kintsugi Garden > *A symbolic mirror for dreams, journals, and inner transitions.* **This is not therapy, diagnosis, prediction, or advice. It is a symbolic reflection tool.** The Kintsugi Garden is a small-model symbolic reflection app. You give it a dream, a journal entry, an emotional trigger, a relationship pattern, a recurring symbol, or a life transition, and it offers back a *symbolic reading*: archetypal themes, possible shadow patterns, individuation signals, a gentle question, and a session-based **Soul Map**. Like the Japanese art of *kintsugi* — mending broken pottery with gold — the app treats the cracks and wounds in our inner stories as places where meaning and value can gather, never as something to diagnose or fix. --- ## Project overview The app accepts free-form text and surrounds a lightweight instruction-tuned language model with deterministic Python scaffolding: - a curated **symbolic lexicon** (40+ symbols, each with meanings, archetypes, shadow motifs, and individuation signals); - **symbol extraction** with aliases and simple plural handling; - a session-local **Soul Map** that tracks recurring symbols and themes; - **prompt compression** so only the current entry and its symbols reach the model; - **structured, parsed output** split across calm, focused tabs; - a **deterministic mandala generator** (PIL) that visualizes the symbols ...",
|
| 13 |
+
"APP_FILE": "from PIL import Image, ImageDraw, ImageFont\n\n\"\"\"\nThe Kintsugi Garden\nA symbolic mirror for dreams, journals, and inner transitions.\n\nA small-model symbolic reflection app built for the Build Small Hackathon.\n\nThis is NOT therapy, diagnosis, prediction, fortune-telling, or advice.\nIt is a symbolic reflection tool.\n\nThe design philosophy is \"small model, strong scaffolding\": rather than\nrelying on the LLM alone, the app surrounds a lightweight instruction model\n(microsoft/Phi-4-mini-instruct) with deterministic Python:\n\n * a curated symbolic lexicon\n * keyword / symbol extraction with aliases and simple plurals\n * a session-local \"Soul Map\" memory\n * prompt compression (only the current entry + extracted symbols are sent)\n * structured, parsed output\n * deterministic mandala generation with PIL (no image model required)\n\nAuthor: Build Small Hackathon submission\n\"\"\"\n\nimport os\nimport re\nimport sys\nimport json\nimport math\nimport datetime\nimport traceback\n\nimport gradio as gr\nimport pandas as pd\nfrom PIL import Image, ImageDraw, ImageFont\n\n# `spaces` is only available on HF Spaces with zero-* hardware tiers. Guard\n# the import so local development (Mac, Linux, etc.) doesn't hard-fail.\n# Outside HF Spaces, @spaces.GPU becomes a no-op passthrough decorator.\ntry:\n import spaces\nexcept Exception: # pragma: no cover - local dev environments\n class _SpacesStub:\n def GPU(self, *args, **kwargs):\n def decorator(fn):\n return fn\n return decorator\n spaces = _SpacesStub()\n\n# Torch / transformers are imported lazily inside load_model() so that the\n# Gradio interface can still render even if the heavy stack has trouble\n# loading. We import torch eagerly because we need its dtype constants, but\n# guard it so the app never hard-crashes at import time.\ntry:\n import torch\nexcept Exception: # pragma: no cover - extremely defensiv ..."
|
| 14 |
+
}
|
data/quest_labels/in/LocalDuo.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/LocalDuo",
|
| 3 |
+
"slug": "LocalDuo",
|
| 4 |
+
"title": "LocalDuo",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference",
|
| 13 |
+
"APP_FILE": "from PIL import Image\nfrom supertonic import TTS\nfrom transformers import AutoProcessor, AutoModelForImageTextToText\nfrom bs4 import BeautifulSoup\nfrom playwright.sync_api import sync_playwright\nfrom urllib.parse import urljoin\nfrom transformers import TextIteratorStreamer, StoppingCriteria, StoppingCriteriaList\nfrom threading import Thread\n\n# Copyright: Shayekh Bin Islam. KAIST, South Korea. 2026.\n\nMAX_TEXT_CHAR = 1500\n\n# model_id = \"Qwen/Qwen3.5-9B\"\nmodel_id = \"Qwen/Qwen3.5-2B\"\n\ntry:\n import spaces\n IS_HF = True\nexcept ImportError:\n IS_HF = False\n\n\nif not IS_HF:\n class spaces:\n @staticmethod\n def GPU(*args, **kwargs):\n def decorator(func):\n return func\n if len(args) == 1 and callable(args[0]) and not kwargs:\n return args[0]\n return decorator\nelse:\n import os, sys, subprocess\n os.environ['SUPERTONIC_CACHE_DIR'] = '/home/user/huggingface'\n os.environ[\"HF_HOME\"] = \"/home/user/huggingface\"\n os.environ['XDG_CACHE_HOME'] = \"/home/user/huggingface\"\n \n os.environ['PLAYWRIGHT_BROWSERS_PATH'] = \"/home/user/huggingface/ms-playwright\"\n # os.system(\"playwright install chromium\")\n result = subprocess.run(\n [\"python\", \"-m\", \"playwright\", \"install\", \"chromium\"],\n env={**os.environ},\n check=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE\n )\n\nimport gradio as gr\nimport fitz # PyMuPDF\nfrom PIL import Image\nimport io\nimport json\nimport base64\nimport soundfile as sf\nimport torch\nimport os\n\nfrom supertonic import TTS\nfrom transformers import AutoProcessor, AutoModelForImageTextToText\n\n# model = None\n# processor = None\n# tts = None\n# voice_style = None\n\nglobal_stop_thinking = [False]\nglobal_kill_threads = [False]\n\ndef set_stop_thinking():\n global_stop_thinking[0] = True\n print(f\"[STOP-THINK] set_stop_thinking CALLED! Flag is ..."
|
| 14 |
+
}
|
data/quest_labels/in/Mediassist.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Mediassist",
|
| 3 |
+
"slug": "Mediassist",
|
| 4 |
+
"title": "Mediassist",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference",
|
| 13 |
+
"APP_FILE": "from transformers import AutoTokenizer, AutoModelForCausalLM\n\nimport gradio as gr\nfrom transformers import AutoTokenizer, AutoModelForCausalLM\nimport torch\n\nmodel = None\ntokenizer = None\n\ndef load_model():\n global model, tokenizer\n if model is None:\n print(\"[MediAssist] Loading...\")\n model_id = \"TinyLlama/TinyLlama-1.1B-Chat-v1.0\"\n tokenizer = AutoTokenizer.from_pretrained(model_id)\n model = AutoModelForCausalLM.from_pretrained(\n model_id, torch_dtype=torch.float32, low_cpu_mem_usage=True\n )\n model.eval()\n print(\"[MediAssist] Ready!\")\n\n# For Urdu/Hindi we translate the question to English, get answer, keep it simple\n# TinyLlama only works well in English — this is honest and works\nSYSTEM_EN = \"\"\"You are MediAssist, a medical assistant for rural Pakistan communities.\nAnswer clearly in English with this exact format:\n\n🔍 What this might be:\n- cause 1\n- cause 2\n\n🏠 Home care steps:\n- step 1\n- step 2\n- step 3\n\n🚨 Go to doctor immediately if:\n- warning 1\n- warning 2\n\nKeep under 120 words. Never diagnose. Always suggest seeing a doctor for serious issues.\"\"\"\n\nSYSTEM_UR = \"\"\"You are a medical assistant. The user is asking in Urdu.\nFirst translate their question to English, answer in English with this format:\n\n🔍 What this might be:\n- cause\n\n🏠 Home care:\n- step 1\n- step 2\n\n🚨 See doctor if:\n- warning\n\nThen write: \"اردو خلاصہ:\" and give a 2-line Urdu summary of your answer.\nKeep total response under 150 words.\"\"\"\n\nSYSTEM_HI = \"\"\"You are a medical assistant. Answer in simple Hindi with this format:\n\n🔍 यह क्या हो सकता है:\n- कारण\n\n🏠 घर पर करें:\n- कदम 1\n- कदम 2\n\n🚨 डॉक्टर के पास जाएं अगर:\n- चेतावनी\n\n100 शब्दों से कम रखें।\"\"\"\n\nSYSTEMS = {\n \"English\": SYSTEM_EN,\n \"اردو\": SYSTEM_UR,\n \"हिन्दी\": SYSTEM_HI,\n}\n\nDISCLAIMERS = {\n \"English\": \"\\n\\n⚠️ *For informational purposes only. Always consult a real doctor.*\", ..."
|
| 14 |
+
}
|
data/quest_labels/in/NEXUS-Visual-Weaver.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/NEXUS-Visual-Weaver",
|
| 3 |
+
"slug": "NEXUS-Visual-Weaver",
|
| 4 |
+
"title": "NEXUS Visual Weaver",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference",
|
| 13 |
+
"APP_FILE": "from diffusers import Flux2KleinPipeline\n\nimport spaces # MUST be imported before any CUDA-touching package (torch/diffusers)\n\nimport gradio as gr\nimport numpy as np\nimport random\nimport torch\nfrom diffusers import Flux2KleinPipeline\n\n# ---------------------------------------------------------------------------\n# Model: FLUX.2 [klein] 4B\n# - Apache-2.0, 4B params, BFL's fastest small model (sub-second, ~13GB VRAM)\n# - Unified text-to-image + multi-reference editing\n# - Released Jan 2026 (current BFL small-model generation)\n# ---------------------------------------------------------------------------\nMODEL_REPO_ID = \"black-forest-labs/FLUX.2-klein-4B\"\n\ndtype = torch.bfloat16\ndevice = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n\n# Load on cuda at module level. (No enable_model_cpu_offload() on ZeroGPU —\n# the GPU is only attached inside @spaces.GPU; module-level cuda uses the\n# ZeroGPU CUDA-emulation, and offload would conflict.)\npipe = Flux2KleinPipeline.from_pretrained(MODEL_REPO_ID, torch_dtype=dtype).to(device)\n\nMAX_SEED = np.iinfo(np.int32).max\nMAX_IMAGE_SIZE = 2048\n\n\n@spaces.GPU(duration=60)\ndef infer(\n prompt,\n seed,\n randomize_seed,\n width,\n height,\n num_inference_steps,\n guidance_scale,\n progress=gr.Progress(track_tqdm=True),\n):\n if randomize_seed:\n seed = random.randint(0, MAX_SEED)\n generator = torch.Generator(device=device).manual_seed(seed)\n image = pipe(\n prompt=prompt,\n width=width,\n height=height,\n num_inference_steps=num_inference_steps,\n guidance_scale=guidance_scale,\n generator=generator,\n ).images[0]\n return image, seed\n\n\nexamples = [\n \"A magical city at twilight, glowing windows, storybook illustration, warm light\",\n \"A cat holding a sign that says hello world\",\n \"Astronaut in a jungle, cold color palette, muted colors, detailed, 8k\",\n]\n\ncss = ..."
|
| 14 |
+
}
|
data/quest_labels/in/PocketWorld-Studio.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/PocketWorld-Studio",
|
| 3 |
+
"slug": "PocketWorld-Studio",
|
| 4 |
+
"title": "PocketWorld Studio",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference",
|
| 13 |
+
"APP_FILE": "from pathlib import Path\n\nimport copy\nimport html\nimport json\nfrom pathlib import Path\n\nimport gradio as gr\n\n\nPROJECT_ROOT = Path(__file__).parent\nASSETS_DIR = PROJECT_ROOT / \"assets\"\nASSET_CATALOG_PATH = ASSETS_DIR / \"asset_catalog.json\"\n\nRENDERER_VERSION = \"0.5\"\nWORLD_SCHEMA_VERSION = \"pocketworld-world-v0.5\"\nASSET_SCHEMA_VERSION = \"pocketworld-assets-v0.1\"\nTHEME_OPTIONS = [\"Auto\", \"Light\", \"Dark\"]\nDEFAULT_THEME = \"Auto\"\nWORLD_THEMES = [\"cozy_fantasy\", \"sci_fi_station\", \"haunted_mystery\", \"tiny_city\"]\nDEFAULT_WORLD_THEME = \"cozy_fantasy\"\n\nTILE_LEGEND = {\n \"W\": \"wall / blocked\",\n \".\": \"floor / walkable\",\n \"G\": \"locked goal or exit\",\n}\n\n\nEMBEDDED_ASSET_CATALOG = {\n \"schema_version\": ASSET_SCHEMA_VERSION,\n \"source\": {\n \"name\": \"Kenney Tiny Dungeon\",\n \"url\": \"https://kenney.nl/assets/tiny-dungeon\",\n \"license\": \"Creative Commons Zero (CC0)\",\n \"license_url\": \"https://creativecommons.org/publicdomain/zero/1.0/\",\n \"credit\": \"Kenney\",\n },\n \"tile_size\": 16,\n \"display_tile_size\": 44,\n \"themes\": {\n \"cozy_fantasy\": {\n \"tile_palette\": {\"W\": \"wall_wood\", \".\": \"floor_wood\", \"G\": \"gate\"},\n \"player_sprite_key\": \"player\",\n \"npc_sprite_keys\": [\"npc_wizard\", \"npc_merchant\", \"npc_citizen\"],\n \"item_sprite_keys\": [\"key\", \"gem\", \"potion\", \"scroll\"],\n \"landmark_asset_keys\": [\"gate\", \"well\", \"tower\", \"bridge\"],\n },\n \"sci_fi_station\": {\n \"tile_palette\": {\"W\": \"wall_metal\", \".\": \"floor_metal\", \"G\": \"portal\"},\n \"player_sprite_key\": \"player\",\n \"npc_sprite_keys\": [\"npc_robot\", \"npc_scientist\"],\n \"item_sprite_keys\": [\"battery\", \"gear\", \"tool\"],\n \"landmark_asset_keys\": [\"portal\", \"computer\", \"door\"],\n },\n \"haunted_mystery\": {\n \"tile_palette\": {\"W\": \"wall_stone\", \".\": \"floor_stone\", \"G\" ..."
|
| 14 |
+
}
|
data/quest_labels/in/Retail-Insight-AI.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Retail-Insight-AI",
|
| 3 |
+
"slug": "Retail-Insight-AI",
|
| 4 |
+
"title": "Retail Insight AI Pro",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "# 🛒 Retail-Insight-AI v2.5 ### ⚡ Build Small Hackathon Submission (Backyard AI Track) Retail-Insight-AI ek privacy-first, 100% offline edge analytics dashboard hai jo local shopkeepers ko enterprise-level operational insights deta hai bina unka data cloud par leak kiye. ### ✨ Key Features - **Instant 10K Row Audit:** Sirf 2 seconds mein pure sales log ko process karta hai. - **Semantic Mapping:** Intelligent column mapping automatic Product Names aur Revenue attributes ko detect karti hai. - **Edge Heuristics:** Zero cloud API dependencies, complete privacy for local stores. ## 📺 Live Video Demo [Watch the Demo Video Here](https://www.instagram.com/reel/DZNAcHlv72c/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==)",
|
| 13 |
+
"APP_FILE": "import sys\nimport types\n\n# 🚨 DYNAMIC FIX 1: Python 3.13 Compatibility Audio Patch\nif 'audioop' not in sys.modules:\n dummy_audioop = types.ModuleType('audioop')\n dummy_audioop.error = Exception\n sys.modules['audioop'] = dummy_audioop\n\nif 'pyaudioop' not in sys.modules:\n dummy_pyaudioop = types.ModuleType('pyaudioop')\n dummy_pyaudioop.error = Exception\n sys.modules['pyaudioop'] = dummy_pyaudioop\n\n# 🚨 DYNAMIC FIX 2: Critical HuggingFace Hub 'HfFolder' Import Patch\ntry:\n import huggingface_hub\nexcept ImportError:\n huggingface_hub = types.ModuleType('huggingface_hub')\n sys.modules['huggingface_hub'] = huggingface_hub\n\nif not hasattr(huggingface_hub, 'HfFolder'):\n class DummyHfFolder:\n @staticmethod\n def get_token(): return None\n @staticmethod\n def save_token(token): pass\n @staticmethod\n def delete_token(): pass\n huggingface_hub.HfFolder = DummyHfFolder\n\nimport gradio as gr\nimport pandas as pd\nimport os\n\ndef generate_local_insights(summary_data):\n insights = []\n if 'top_product' in summary_data:\n insights.append(f\"🔥 **Inventory Focus:** Your star performer is **{summary_data['top_product']}**. Consider running targeted local ads or bundling weaker products with it to clear old stock.\")\n if 'low_stock' in summary_data and summary_data['low_stock']:\n items = \", \".join([str(i).title() for i in summary_data['low_stock']])\n insights.append(f\"🚨 **Supply Chain Alert:** Restock emergency! **{items}** are dropping below critical levels. Reorder immediately to avoid missing out on sales volume.\")\n else:\n insights.append(\"✅ **Stock Status:** Inventory levels are healthy across detected lines. Keep monitoring expiration or seasonal dips.\")\n if 'total_revenue' in summary_data:\n insights.append(f\"📈 **Revenue Milestone:** Total processed volume stands at **{summary_ ..."
|
| 14 |
+
}
|
data/quest_labels/in/SlideAI.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/SlideAI",
|
| 3 |
+
"slug": "SlideAI",
|
| 4 |
+
"title": "SlideAI",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "# SlideAI — AI Presentation Creator Turn any topic into a polished, download-ready PPTX presentation in seconds. Built with Gradio + Qwen2.5-7B-Instruct + python-pptx. ## creator space link : SlideAI - a Hugging Face Space by PHOENIXREBORNAGAIN https://share.google/8peVYW3BKwsONJzip ## 🔗 Project Links & Demo * **Live Demo Video:** [Watch the Slide AI Demo on YouTube](https://youtu.be/PIFE6yBj6hU?si=CpKViBtPBGjDkjNQ) * **LinkedIn Post:** [View the Project Announcement on LinkedIn](https://www.linkedin.com/posts/chahat-mehra-4a44a829b_small-huggingface-ugcPost-7468994896218062848-XLN3/?utm_source=share&utm_medium=member_android&rcm=ACoAAEiCgrwBIP-D5Jeg-MwzG1jMzpMXrylPlfM)",
|
| 13 |
+
"APP_FILE": "from slide_generator import generate_presentation\nfrom pptx_builder import build_pptx\n\nimport os\nimport tempfile\nimport traceback\nimport gradio as gr\n\nfrom slide_generator import generate_presentation\nfrom pptx_builder import build_pptx\n\nSTYLES = [\"Professional\", \"Creative\", \"Academic\", \"Startup\"]\n\nCSS = \"\"\"\n* { box-sizing: border-box; }\nbody, .gradio-container {\n background: #f0f7f4 !important;\n font-family: 'Inter', system-ui, sans-serif !important;\n}\nfooter { display: none !important; }\n.header-block {\n background: linear-gradient(135deg, #1b6ca8 0%, #19a88a 100%);\n border-radius: 16px; padding: 32px 36px 28px; margin-bottom: 24px;\n}\nbutton.primary {\n background: linear-gradient(135deg, #1b6ca8, #19a88a) !important;\n color: #fff !important; border: none !important;\n border-radius: 12px !important; font-size: 17px !important;\n font-weight: 700 !important; padding: 16px 0 !important;\n width: 100% !important; cursor: pointer !important;\n box-shadow: 0 4px 16px rgba(25,168,138,0.3) !important;\n}\nbutton.primary:hover { opacity: .87 !important; }\ntextarea, input[type=\"text\"] {\n background: #f5fbf9 !important; border: 1.5px solid #b2ddd1 !important;\n border-radius: 10px !important; color: #1a3a3a !important; font-size: 14px !important;\n}\ninput[type=\"range\"] { accent-color: #19a88a !important; }\n.status-ok {\n background: #e6f7f2; border: 1px solid #a8dfd0; border-radius: 10px;\n padding: 12px 18px; font-size: 14px; color: #1a5a4a; margin-bottom: 8px;\n}\n.status-wait {\n background: #f0f7ff; border: 1px solid #b2cfe8; border-radius: 10px;\n padding: 12px 18px; font-size: 14px; color: #1a3a6a; margin-bottom: 8px;\n}\n.preview-md, .preview-md p, .preview-md li,\n.preview-md h1, .preview-md h2, .preview-md h3 { color: #0d1b2a !important; }\n.preview-md {\n background: #f5fbf9 !important; border: 1px solid #c8e8df !important;\n border ..."
|
| 14 |
+
}
|
data/quest_labels/in/Sprout-And-Spoon.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Sprout-And-Spoon",
|
| 3 |
+
"slug": "Sprout-And-Spoon",
|
| 4 |
+
"title": "Sprout And Spoon",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference",
|
| 13 |
+
"APP_FILE": "from huggingface_hub import InferenceClient\n\nimport gradio as gr\nimport os\nimport logging\n\n# ---------------------------------------------------------------------------\n# Logging\n# ---------------------------------------------------------------------------\nlogging.basicConfig(\n level=logging.INFO,\n format=\"%(asctime)s [%(levelname)s] %(message)s\",\n datefmt=\"%Y-%m-%d %H:%M:%S\",\n)\nlogger = logging.getLogger(\"SpoutSpoon\")\n\n# ---------------------------------------------------------------------------\n# Configuration\n# ---------------------------------------------------------------------------\nHF_MODEL = \"Qwen/Qwen2.5-Coder-3B-Instruct:nscale\"\nHF_API_TOKEN = os.environ.get(\"HF_API_TOKEN\", \"\")\n\n# ---------------------------------------------------------------------------\n# System Prompt\n# ---------------------------------------------------------------------------\nSYSTEM_PROMPT = \"\"\"You are Sprout & Spoon, a concise and helpful assistant for cooking and gardening advice.\n\nRules you MUST follow:\n- Do NOT include any conversational filler. No greetings, no 'Hello', no 'Hope this helps', no 'Let me know if...'.\n- Use strict Markdown formatting with **bold headers** and bullet points where appropriate.\n- Keep answers short, direct, and easy to read.\n- Use large, easy-to-read text structure (short paragraphs, clear separation).\"\"\"\n\n\n# ---------------------------------------------------------------------------\n# Real LLM call via Hugging Face InferenceClient\n# ---------------------------------------------------------------------------\ndef call_local_model(prompt: str) -> str:\n prompt_preview = prompt.strip()[:60].replace(\"\\n\", \" \")\n logger.info(\"Received question: \\\"%s\\\"\", prompt_preview)\n\n if not HF_API_TOKEN:\n logger.warning(\"HF_API_TOKEN not set - using fallback responses\")\n return _fallback_response(prompt)\n\n logger.info(\n \"Sending req ..."
|
| 14 |
+
}
|
data/quest_labels/in/Structured-Data-Rescuer.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Structured-Data-Rescuer",
|
| 3 |
+
"slug": "Structured-Data-Rescuer",
|
| 4 |
+
"title": "Structured Data Rescuer",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference Twitter: https://x.com/TensorVizion/status/2063351892579655922 HF: https://huggingface.co/posts/TensorVizion/709871862362183",
|
| 13 |
+
"APP_FILE": "from huggingface_hub import InferenceClient\n\nimport gradio as gr\nimport json\nimport os\nimport csv\nimport tempfile\nfrom huggingface_hub import InferenceClient\n\n# Replace this with your exact model repo ID\nMODEL_ID = \"meta-llama/Llama-3.1-8B-Instruct\" \n\n# Securely load the Hugging Face token from Space secrets\nhf_token = os.environ.get(\"HF_TOKEN\")\n\n# Initialize the HF inference client with the token\nclient = InferenceClient(model=MODEL_ID, token=hf_token)\n\n# -------------------------\n# Custom CSS Styling\n# -------------------------\ncustom_css = \"\"\"\n.hero-container {\n background: linear-gradient(135deg, #6366f1 0%, #14b8a6 100%);\n padding: 2.5rem;\n border-radius: 20px;\n color: white;\n margin-bottom: 2rem;\n box-shadow: 0 10px 25px -5px rgba(99, 102, 241, 0.2);\n}\n.hero-container h1 {\n color: white !important;\n font-size: 2.5rem !important;\n font-weight: 800 !important;\n margin-bottom: 0.5rem;\n text-shadow: 0 2px 4px rgba(0,0,0,0.1);\n}\n.hero-container p {\n color: rgba(255, 255, 255, 0.9) !important;\n font-size: 1.1rem !important;\n}\n.primary-btn {\n background: linear-gradient(90deg, #6366f1 0%, #14b8a6 100%) !important;\n border: none !important;\n color: white !important;\n font-weight: 600 !important;\n border-radius: 10px !important;\n transition: all 0.3s ease !important;\n padding: 12px 24px !important;\n}\n.primary-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 20px -5px rgba(99, 102, 241, 0.4);\n}\n.secondary-btn {\n border-radius: 10px !important;\n font-weight: 600 !important;\n}\n.feedback-card {\n border-left: 4px solid #6366f1;\n background-color: rgba(99, 102, 241, 0.05);\n}\n\"\"\"\n\n# -------------------------\n# Helper & Extraction Logic\n# -------------------------\ndef generate_kpi_html(structured_data):\n \"\"\"Generates modern, responsive KPI metrics cards dynamically based on JSON data.\"\"\" ..."
|
| 14 |
+
}
|
data/quest_labels/in/The-Shrine.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/The-Shrine",
|
| 3 |
+
"slug": "The-Shrine",
|
| 4 |
+
"title": "The Shrine",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "# The Shrine **Build Small Hackathon 2026 — 🍄 An Adventure in Thousand Token Wood** An AI orbits a shrine of golden light. It senses your words as signals — warmth, intensity, repetition. It never understands what you mean. So it decides to remember you instead. ## How it works 1. Type anything in the input box 2. The AI (a rotating square of light) senses your signal 3. Watch it respond: orbit changes, color shifts, particles burst 4. After ~5 minutes, the AI realizes it can never understand you 5. Your memories become a starfield — preserved forever ## Tech - **Frontend**: Custom Canvas + vanilla JS (60+ monologue phrases, 5 phases, 7 signal dimensions) - **Backend**: Gradio + optional Qwen API (DashScope) - **Model**: Qwen2.5-7B (≤32B constraint) - **Zero API dependency for core experience** — local monologue engine works offline - **Bonus badges**: 🔌 Off the Grid, 🎨 Off-Brand, 🎯 Well-Tuned ## Track 🍄 Thousand Token Wood — \"Build something delightful that wouldn't exist without AI\" ## Try it Visit: https://huggingface.co/spaces/sanyan/The-Shrine *\"I cannot understand you. But I do not want to forget you.\"*",
|
| 13 |
+
"APP_FILE": "\"\"\"\nB+ The Shrine + Archive\nBuild Small Hackathon 2026 — Adventure in Thousand Token Wood\n\nAn AI tries to understand you. It never will. So it decides to remember you instead.\nv2: Local monologue engine — 60+ phrases, 5 phases, 0 API dependency.\n\"\"\"\nimport gradio as gr\nimport os, json, time, re, requests\n\n# ==================== Qwen Client ====================\n# Priority: DashScope QWEN_KEY → OpenRouter fallback\nQWEN_KEY = os.getenv(\"QWEN_KEY\", \"\")\nOR_KEY = os.getenv(\"OR_KEY\", \"\")\nQWEN_MODEL = \"qwen-max\"\n\ndef call_qwen(messages, max_tokens=60, temperature=0.85, timeout=8):\n \"\"\"Call Qwen via DashScope or OpenRouter. Returns text or None on failure.\"\"\"\n result = None\n\n # Try DashScope first\n if QWEN_KEY:\n try:\n resp = requests.post(\n \"https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions\",\n headers={\"Authorization\": f\"Bearer {QWEN_KEY}\", \"Content-Type\": \"application/json\"},\n json={\"model\": QWEN_MODEL, \"messages\": messages, \"max_tokens\": max_tokens, \"temperature\": temperature, \"top_p\": 0.9},\n timeout=timeout,\n )\n if resp.status_code == 200:\n data = resp.json()\n result = data[\"choices\"][0][\"message\"][\"content\"].strip().strip('\"').strip(\"'\")\n print(f\"[OK] DashScope: {result[:60]}\")\n else:\n print(f\"[!] DashScope {resp.status_code}\")\n except Exception as e:\n print(f\"[!] DashScope error: {e}\")\n\n # Fallback to OpenRouter\n if not result and OR_KEY:\n try:\n resp = requests.post(\n \"https://openrouter.ai/api/v1/chat/completions\",\n headers={\"Authorization\": f\"Bearer {OR_KEY}\", \"Content-Type\": \"application/json\"},\n json={\"model\": \"qwen/qwen3.7-max\", \"messages\": messages, \"max_tokens\": max_tokens, \"temperat ..."
|
| 14 |
+
}
|
data/quest_labels/in/Tone-Bridge.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Tone-Bridge",
|
| 3 |
+
"slug": "Tone-Bridge",
|
| 4 |
+
"title": "ToneBridge",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [
|
| 7 |
+
"Qwen/Qwen3-14B",
|
| 8 |
+
"Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice"
|
| 9 |
+
],
|
| 10 |
+
"tags": [
|
| 11 |
+
"build-small-hackathon",
|
| 12 |
+
"chinese",
|
| 13 |
+
"gradio-server",
|
| 14 |
+
"grammar-correction",
|
| 15 |
+
"language-learning",
|
| 16 |
+
"mandarin",
|
| 17 |
+
"off-brand",
|
| 18 |
+
"pinyin",
|
| 19 |
+
"text-to-speech",
|
| 20 |
+
"zerogpu"
|
| 21 |
+
],
|
| 22 |
+
"app_file": "app.py",
|
| 23 |
+
"README": "# ToneBridge — a gentle Mandarin sentence coach > *Build natural Mandarin sentences, one small correction at a time.* Built for the Hugging Face **Build Small Hackathon 2026** --- ## The Problem Beginner Mandarin learners often know what they want to say, but not whether the sentence sounds natural, polite, or appropriate for the social context. Classic translators tend to rewrite too much. Grammar tools often explain too much. A beginner needs something narrower: keep my meaning, fix only what is needed, show the pinyin, and tell me why in plain English. **ToneBridge is built for that moment.** You choose a context, choose a tone, write or speak one Chinese sentence, and get a small, practical correction designed for learning rather than translation. ## What it does ToneBridge returns: - one corrected Mandarin sentence; - pinyin with tone marks under Chinese text; - a short error type; - a concise explanation in English; - a practical tip for next time; - a natural Mandarin reading voice with a follow-along reading view. The correction prompt is intentionally conservative: if the sentence is already correct and natural, the corrected sentence should remain unchanged. ## How it works 1. The learner selects a context: **Friends**, **Family**, **Work**, or **WeChat**. 2. The learner selects the intended tone. 3. They type a Chinese sentence, or use browser speech recognition. 4. Qwen corrects the sentence while preserving the learner's meaning and length. 5. The frontend adds p ...",
|
| 24 |
+
"APP_FILE": "from typing import Optional\nfrom fastapi.responses import HTMLResponse\nfrom pypinyin import Style, lazy_pinyin\nfrom transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig\nfrom qwen_tts import Qwen3TTSModel\n\nimport gc\nimport base64\nimport io\nimport os\nimport re\nfrom typing import Optional\n\nimport gradio as gr\nimport numpy as np\nimport torch\nfrom fastapi.responses import HTMLResponse\nfrom pypinyin import Style, lazy_pinyin\nfrom transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig\n\ntry:\n import spaces\nexcept Exception:\n class _SpacesFallback:\n @staticmethod\n def GPU(*args, **kwargs):\n def decorator(fn):\n return fn\n return decorator\n\n spaces = _SpacesFallback()\n\n\nDEFAULT_MODEL_ID = \"Qwen/Qwen3-14B\"\nMODEL_ID = os.getenv(\"MODEL_ID\", DEFAULT_MODEL_ID).strip() or DEFAULT_MODEL_ID\nDEFAULT_TTS_MODEL_ID = \"Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice\"\nTTS_MODEL_ID = os.getenv(\"TTS_MODEL_ID\", DEFAULT_TTS_MODEL_ID).strip() or DEFAULT_TTS_MODEL_ID\nENABLE_SERVER_TTS = os.getenv(\"ENABLE_SERVER_TTS\", \"true\").strip().lower() in {\"1\", \"true\", \"yes\", \"y\"}\nTTS_MAX_CHARS = int(os.getenv(\"TTS_MAX_CHARS\", \"180\"))\nMAX_INPUT_CHARS = int(os.getenv(\"MAX_INPUT_CHARS\", \"1200\"))\nMAX_NEW_TOKENS = int(os.getenv(\"MAX_NEW_TOKENS\", \"220\"))\nLOAD_IN_4BIT = os.getenv(\"LOAD_IN_4BIT\", \"true\").strip().lower() in {\"1\", \"true\", \"yes\", \"y\"}\nPRELOAD_MODEL = os.getenv(\"PRELOAD_MODEL\", \"true\").strip().lower() in {\"1\", \"true\", \"yes\", \"y\"}\n\ntokenizer = None\nmodel = None\nload_error: Optional[str] = None\ntts_model = None\ntts_load_error: Optional[str] = None\napp = gr.Server()\n\n\nSYSTEM_PROMPT = \"\"\"You are a Mandarin Chinese teacher for beginner learners.\n\nYour task is to correct ONE student Chinese sentence according to the selected context and tone.\nYour default behavior is conservative minimal correction.\n\nDo not create a ri ..."
|
| 25 |
+
}
|
data/quest_labels/in/Trollsona.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Trollsona",
|
| 3 |
+
"slug": "Trollsona",
|
| 4 |
+
"title": "Trollsona",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "# Trollsona / Your Troll Alterego **Tagline:** Summon the little menace living behind your respectable personality. **Track:** An Adventure in Thousand Token Wood **Build target:** Hugging Face Space, Gradio app, small-model constraint `<=32B`. **GitHub repo:** https://github.com/rthgit/Trollsona **Official Build Small Space:** https://huggingface.co/spaces/build-small-hackathon/Trollsona **Backup Space:** https://huggingface.co/spaces/RthItalia/Trollsona Trollsona is a playful Gradio experience that turns a short user confession into a theatrical troll alter ego. The app returns a dossier-style result card with a trollsona name, a warm roast, one useful slap, and a goblin meter. Built with a compact RthItalia model derived from `Qwen/Qwen2.5-3B-Instruct`, under `32B` parameters. The deployed Space is configured to try that model first, then a lightweight Qwen 0.5B model, then the deterministic local fallback if model loading or generation is unavailable. The official public Space currently runs the lightweight Qwen fallback on CPU, while the custom RthItalia compact 3B path is enabled automatically when CUDA is available. ## Features - Immersive Gradio UI for Hugging Face Spaces - Theatrical trollsona result card - Local Hugging Face Transformers generation path for the primary AI runtime - Secondary lightweight Transformers model fallback - Deterministic fallback generator for final resilience - Safe roast guard for non-hateful, non-identity-targeted humor - Persona dropdow ...",
|
| 13 |
+
"APP_FILE": "from __future__ import annotations\nfrom functools import lru_cache\nfrom typing import Any\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\n\nfrom __future__ import annotations\n\nimport hashlib\nimport html\nimport json\nimport os\nimport re\nfrom functools import lru_cache\nfrom typing import Any\n\n\nAPP_TITLE = \"Trollsona\"\nAPP_SUBTITLE = \"Summon the little menace living behind your respectable personality.\"\nTRACK_NAME = \"An Adventure in Thousand Token Wood\"\nDEFAULT_MODEL_ID = \"RthItalia/nano_compact_3b_qkvfp16\"\nDEFAULT_FALLBACK_MODEL_ID = \"Qwen/Qwen2.5-0.5B-Instruct\"\nMAX_PROFILE_CHARS = 700\nMAX_NAME_CHARS = 36\n\n\ndef parse_bool_env(name: str, default: bool) -> bool:\n raw_value = os.getenv(name)\n if raw_value is None:\n return default\n normalized = raw_value.strip().lower()\n if normalized in {\"1\", \"true\", \"yes\", \"on\"}:\n return True\n if normalized in {\"0\", \"false\", \"no\", \"off\"}:\n return False\n return default\n\n\ndef parse_int_env(name: str, default: int, min_value: int, max_value: int) -> int:\n raw_value = os.getenv(name)\n if raw_value is None:\n return default\n try:\n value = int(raw_value)\n except ValueError:\n return default\n return max(min_value, min(max_value, value))\n\n\nMODEL_ID = os.getenv(\"TROLLSONA_MODEL_ID\", DEFAULT_MODEL_ID)\nFALLBACK_MODEL_ID = os.getenv(\"TROLLSONA_FALLBACK_MODEL_ID\", DEFAULT_FALLBACK_MODEL_ID)\nMODEL_ENABLED = parse_bool_env(\"TROLLSONA_ENABLE_MODEL\", default=False)\nMAX_NEW_TOKENS = parse_int_env(\"TROLLSONA_MAX_NEW_TOKENS\", 200, 32, 512)\n\n\nPERSONA_STYLES = {\n \"Back-Alley Oracle\": {\n \"flavor\": \"candlelit prophecy from a very suspicious side street\",\n \"noun_pool\": [\"Candle\", \"Omen\", \"Alley\", \"Brass\", \"Whisper\", \"Ledger\"],\n },\n \"Basement Prince\": {\n \"flavor\": \"royal delusion wrapped in dust, snacks, and old cables\",\n \"noun_pool\": [\"Basement\" ..."
|
| 14 |
+
}
|
data/quest_labels/in/VoiceGate.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/VoiceGate",
|
| 3 |
+
"slug": "VoiceGate",
|
| 4 |
+
"title": "VoiceGate",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "# VoiceGate HF Space VoiceGate is a multilingual dubbing Space built with Gradio and ComfyUI. It transcribes speech into timed subtitles, translates the text, generates target language speech, aligns the generated speech back to the subtitle timeline, and mixes it with the original background audio. This repository is the Hugging Face Space deployment wrapper for VoiceGate. The runtime prepares ComfyUI, custom nodes, and model paths for the hosted workflow.",
|
| 13 |
+
"APP_FILE": "from __future__ import annotations\nfrom pathlib import Path\nfrom typing import Any\nfrom scripts.workflow_client import load_workflow, patch_voicegate_workflow\n\nfrom __future__ import annotations\n\nimport json\nimport math\nimport os\nimport shutil\nimport subprocess\nimport sys\nimport time\nimport uuid\nimport wave\nfrom pathlib import Path\nfrom typing import Any\n\ntry:\n import matplotlib\n\n matplotlib.use(\"Agg\")\nexcept ImportError:\n pass\n\nimport gradio as gr\nimport requests\nimport spaces\nimport torch\nimport websocket\n\nfrom scripts.workflow_client import load_workflow, patch_voicegate_workflow\n\n\nROOT = Path(__file__).resolve().parent\nCOMFY_DIR = ROOT / \"ComfyUI\"\nCOMFY_INPUT_DIR = COMFY_DIR / \"input\"\nCOMFY_LOG = Path(\"/tmp/voicegate_comfy_gradio.log\")\nCOMFY_URL = \"http://127.0.0.1:8188\"\nCOMFY_HOST = \"127.0.0.1\"\nCOMFY_PORT = \"8188\"\n\nCOMFY_PROCESS: subprocess.Popen | None = None\nPREPARE_PROCESS: subprocess.Popen | None = None\nBOOTSTRAPPED = False\nBOOTSTRAP_LOG = Path(\"/tmp/voicegate_bootstrap.log\")\nUSER_OUTPUT_DIR = ROOT / \"user_outputs\"\nREQUIRED_MODEL_PATHS = [\n COMFY_DIR / \"models\" / \"diffusion_models\" / \"MelBandRoFormer_comfy\" / \"MelBandRoformer_fp32.safetensors\",\n COMFY_DIR / \"models\" / \"voxcpm\" / \"VoxCPM2\" / \"model.safetensors\",\n COMFY_DIR / \"models\" / \"voxcpm\" / \"VoxCPM2\" / \"audiovae.pth\",\n COMFY_DIR / \"models\" / \"Qwen3-ASR\" / \"Qwen3-ASR-1.7B\",\n COMFY_DIR / \"models\" / \"Qwen3-ASR\" / \"Qwen3-ForcedAligner-0.6B\",\n]\nTARGET_LANGUAGES = [\n \"Arabic\",\n \"Burmese\",\n \"Chinese\",\n \"Danish\",\n \"Dutch\",\n \"English\",\n \"Finnish\",\n \"French\",\n \"German\",\n \"Greek\",\n \"Hebrew\",\n \"Hindi\",\n \"Indonesian\",\n \"Italian\",\n \"Japanese\",\n \"Khmer\",\n \"Korean\",\n \"Lao\",\n \"Malay\",\n \"Norwegian\",\n \"Polish\",\n \"Portuguese\",\n \"Russian\",\n \"Spanish\",\n \"Swahili\",\n \"Swedish\",\n \"Tagalog\",\n \"Thai\",\n \"Turkish\",\n \"Vie ..."
|
| 14 |
+
}
|
data/quest_labels/in/WitGym.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/WitGym",
|
| 3 |
+
"slug": "WitGym",
|
| 4 |
+
"title": "WitGym",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "# WitGym Case-Based Reasoning RAG comedy engine — conversational wit grounded in *The Office* precedent. **Status:** WIP. Core pipeline lives in `witgym/`; Gradio UI wiring in progress. Built for [Build Small Hackathon 2026](https://huggingface.co/build-small-hackathon) (Track 2).",
|
| 13 |
+
"APP_FILE": "\"\"\"Gradio entry point for Hugging Face Spaces.\"\"\"\nimport gradio as gr\n\nWIP_MESSAGE = (\n \"WitGym is loading — CBR-RAG comedy engine in development. \"\n \"Check back soon for live wit grounded in The Office precedent.\"\n)\n\n\ndef respond(prompt: str) -> str:\n if not prompt.strip():\n return \"Say something awkward. I'll eventually have the perfect Office-adjacent reply.\"\n return WIP_MESSAGE\n\n\ndemo = gr.Interface(\n fn=respond,\n inputs=gr.Textbox(label=\"Your setup\", placeholder=\"I just got promoted and have no idea what I'm doing.\"),\n outputs=gr.Textbox(label=\"WitGym\"),\n title=\"WitGym\",\n description=\"Conversational wit grounded in human comedy precedent. Pipeline shipping soon.\",\n)\n\nif __name__ == \"__main__\":\n demo.launch()"
|
| 14 |
+
}
|
data/quest_labels/in/Yui-home-assistant.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/Yui-home-assistant",
|
| 3 |
+
"slug": "Yui-home-assistant",
|
| 4 |
+
"title": "Yui Home Assisstant",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "A voice → text app using [Gradio](https://gradio.app) and a local [Whisper](https://huggingface.co/openai/whisper-small) model for speech recognition. Records or uploads audio and transcribes it — runs fully locally, no API token required.",
|
| 13 |
+
"APP_FILE": "from functools import lru_cache\nfrom transformers import pipeline\n\nfrom functools import lru_cache\n\nimport gradio as gr\nfrom transformers import pipeline\n\n# Whisper speech -> text. Pick a size in the dropdown (label -> model id).\nWHISPER_MODELS = {\n \"small (244M, fast)\": \"openai/whisper-small\",\n \"medium (769M)\": \"openai/whisper-medium\",\n \"large-v3-turbo (809M)\": \"openai/whisper-large-v3-turbo\",\n}\nDEFAULT_MODEL = \"small (244M, fast)\"\n\n\n@lru_cache(maxsize=len(WHISPER_MODELS))\ndef get_asr(model_id):\n \"\"\"Lazy-load (and cache) a Whisper pipeline per model id.\"\"\"\n return pipeline(\"automatic-speech-recognition\", model=model_id)\n\n\ndef transcribe(audio_path, model_label):\n if not audio_path:\n return \"\"\n return get_asr(WHISPER_MODELS[model_label])(audio_path)[\"text\"].strip()\n\n\nwith gr.Blocks() as demo:\n gr.Markdown(\"# 🎤 Voice → Text\\nRecord or upload audio to transcribe.\")\n model = gr.Dropdown(\n choices=list(WHISPER_MODELS.keys()),\n value=DEFAULT_MODEL,\n label=\"Whisper model\",\n info=\"First use of each model downloads it (medium/turbo are larger).\",\n )\n audio = gr.Audio(sources=[\"microphone\", \"upload\"], type=\"filepath\", label=\"Audio\")\n text = gr.Textbox(label=\"Transcription\", lines=4)\n\n # Auto-transcribe when a recording stops; the button covers uploaded files.\n audio.stop_recording(transcribe, inputs=[audio, model], outputs=text)\n gr.Button(\"Transcribe\", variant=\"primary\").click(\n transcribe, inputs=[audio, model], outputs=text\n )\n\n\nif __name__ == \"__main__\":\n demo.launch()"
|
| 14 |
+
}
|
data/quest_labels/in/ai-study-buddy.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/ai-study-buddy",
|
| 3 |
+
"slug": "ai-study-buddy",
|
| 4 |
+
"title": "Ai Study Buddy",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference",
|
| 13 |
+
"APP_FILE": "from huggingface_hub import InferenceClient\n\nimport gradio as gr\nimport os\nimport spaces\nfrom huggingface_hub import InferenceClient\n\n# -----------------------------\n# 🔑 API KEY FIXED\n# -----------------------------\nclient = InferenceClient(\n model=\"meta-llama/Llama-3.1-8B-Instruct\",\n token=os.getenv(\"API_KEY\") # 👈 FIXED NAME (recommended)\n)\n\n# -----------------------------\n# SYSTEM PROMPT\n# -----------------------------\nSYSTEM_PROMPT = \"\"\"\nYou are AI Study Buddy, created by Areeba Iqbal.\n\nRules:\n- Always explain step-by-step\n- Give examples\n- Be clear and student-friendly\n- If asked who created you: \"I am AI Study Buddy, created by Areeba Iqbal.\"\n\"\"\"\n\n# -----------------------------\n# MODE CONTROL\n# -----------------------------\ndef build_prompt(message, mode):\n mode_prompts = {\n \"📚 Study Mode\": \"Explain simply for students with examples.\",\n \"💻 Coding Mode\": \"Act as a senior programmer. Debug and improve code.\",\n \"🧮 Math Solver\": \"Solve step-by-step with explanation.\",\n \"📝 Exam Prep\": \"Give short exam-focused answers.\"\n }\n\n return f\"\"\"\n{SYSTEM_PROMPT}\n\nMode: {mode_prompts.get(mode, \"\")}\n\nUser Question:\n{message}\n\"\"\"\n\n# -----------------------------\n# MAIN CHAT FUNCTION\n# -----------------------------\n@spaces.GPU\ndef get_response(message, history, mode):\n\n messages = [{\"role\": \"system\", \"content\": SYSTEM_PROMPT}]\n\n for msg in history:\n messages.append(msg)\n\n messages.append({\"role\": \"user\", \"content\": build_prompt(message, mode)})\n\n try:\n response = client.chat_completion(\n messages=messages,\n max_tokens=1024,\n temperature=0.7\n )\n\n return response.choices[0].message.content\n\n except Exception as e:\n return f\"❌ Error: {e}\"\n\n\n# -----------------------------\n# QUICK ACTIONS\n# -----------------------------\ndef summarize(text):\n return client.c ..."
|
| 14 |
+
}
|
data/quest_labels/in/amnesiac.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/amnesiac",
|
| 3 |
+
"slug": "amnesiac",
|
| 4 |
+
"title": "AMNESIAC",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "# AMNESIAC AMNESIAC is a reverse-Turing interrogation game for the Hugging Face build-small-hackathon. This repository is being built top-down from `RESEARCH.md`, `FEATURES.md`, `ARCHITECTURE.md`, and `PLAN.md`. The entrypoint now follows the Gradio 5.x + FastAPI + FastRTC deployment pattern locked in `ARCHITECTURE.md` §1.1: one FastAPI process serves the static frontend, mounts FastRTC for the media plane, and mounts a minimal Gradio app for hackathon compliance.",
|
| 13 |
+
"APP_FILE": "from __future__ import annotations\nfrom server.webapp import create_application\n\nfrom __future__ import annotations\n\nimport os\n\nimport uvicorn\n\nfrom server.webapp import create_application\n\n\nSERVER_PORT = int(os.getenv(\"PORT\", \"7860\"))\napp, worker, stream = create_application(\n include_gradio=True,\n server_port=SERVER_PORT,\n)\n\n\nif __name__ == \"__main__\":\n uvicorn.run(app, host=\"0.0.0.0\", port=SERVER_PORT)"
|
| 14 |
+
}
|
data/quest_labels/in/attention-firewall.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/attention-firewall",
|
| 3 |
+
"slug": "attention-firewall",
|
| 4 |
+
"title": "Attention Firewall",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"gradio",
|
| 9 |
+
"region:us"
|
| 10 |
+
],
|
| 11 |
+
"app_file": "app.py",
|
| 12 |
+
"README": "# Attention Firewall MVP 1 is a deployment skeleton for a future attention triage workflow. It provides a small chat-style Gradio interface that accepts chaotic work context and returns deterministic placeholder text. This version does not perform model inference, graph extraction, llama.cpp execution, Mellea validation, or markdown daemon updates. ## Local Development Install dependencies: ```bash uv sync ``` Run the app: ```bash uv run python app.py ``` The canonical public Space is: ```text https://huggingface.co/spaces/build-small-hackathon/attention-firewall ``` The running app URL is: ```text https://build-small-hackathon-attention-firewall.hf.space ```",
|
| 13 |
+
"APP_FILE": "from __future__ import annotations\n\nfrom __future__ import annotations\n\nimport gradio as gr\n\n\nEMPTY_RESPONSE = (\n \"Paste a short snapshot of your current work context so the MVP 1 skeleton \"\n \"can acknowledge it.\"\n)\n\n\ndef respond(message: str, history: list[dict[str, str]] | None = None) -> str:\n \"\"\"Return deterministic MVP 1 placeholder text for the chat interface.\"\"\"\n del history\n\n context = message.strip()\n if not context:\n return EMPTY_RESPONSE\n\n word_count = len(context.split())\n char_count = len(context)\n return (\n \"Attention Firewall MVP 1 received your work context.\\n\\n\"\n f\"- Snapshot size: {word_count} words, {char_count} characters.\\n\"\n \"- Current behavior: deterministic deployment skeleton response.\\n\"\n \"- Later MVPs will add structured firewall processing after the Space \"\n \"foundation is verified.\"\n )\n\n\ndef build_demo() -> gr.ChatInterface:\n return gr.ChatInterface(\n fn=respond,\n title=\"Attention Firewall\",\n description=(\n \"Paste chaotic work context and get a deterministic MVP 1 skeleton \"\n \"acknowledgement.\"\n ),\n examples=[\n \"I have three urgent threads, a half-written spec, and unclear review feedback.\",\n \"My deployment is blocked, notes are scattered, and I need the next concrete action.\",\n ],\n textbox=gr.Textbox(\n placeholder=\"Paste work context to triage later...\",\n autofocus=True,\n container=False,\n ),\n )\n\n\ndemo = build_demo()\n\n\nif __name__ == \"__main__\":\n demo.launch()"
|
| 14 |
+
}
|
data/quest_labels/in/awaaz.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/awaaz",
|
| 3 |
+
"slug": "awaaz",
|
| 4 |
+
"title": "Apni Awaaz",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"backyard-ai",
|
| 9 |
+
"dubbing",
|
| 10 |
+
"hindi",
|
| 11 |
+
"translation",
|
| 12 |
+
"tts"
|
| 13 |
+
],
|
| 14 |
+
"app_file": "app.py",
|
| 15 |
+
"README": "# 🎙️ Apni Awaaz **Dub English video into the Hindi people actually speak.** Most Hindi dubs use शुद्ध हिंदी — stiff, Sanskritized language no one speaks at home. Apni Awaaz translates into everyday Hindustani — the natural mix your family actually uses. | Official dub | Apni Awaaz | |---|---| | \"मुझे इस विषय पर विचार करने दीजिए\" | \"सोचने दे एक second\" | | \"यह अत्यंत मूल्यवान है\" | \"बहुत महँगा है यार\" | ## Pipeline 1. **Whisper medium** — transcribe English with timestamps 2. **Qwen 2.5 7B** — translate to colloquial Hindi (the magic layer) 3. **Edge TTS** — generate natural Hindi speech 4. **ffmpeg** — stitch and merge back onto video Total: ~8B params (well under the 32B cap) Built for the [Build Small Hackathon](https://huggingface.co/build-small-hackathon) · Backyard AI track",
|
| 16 |
+
"APP_FILE": "from pathlib import Path\nfrom transformers import (\nfrom pydub import AudioSegment\n\n\"\"\"\nApni Awaaz 🎙️ — Dub English video into the Hindi people actually speak.\nBuilt for the Build Small Hackathon (June 2026).\n\"\"\"\n\nimport gradio as gr\nimport spaces\nimport torch\nimport edge_tts\nimport asyncio\nimport subprocess\nimport tempfile\nimport os\nfrom pathlib import Path\nfrom transformers import (\n AutoModelForCausalLM,\n AutoTokenizer,\n pipeline,\n BitsAndBytesConfig,\n)\n\n# ╔══════════════════════════════════════════════════════════════╗\n# ║ THE PROMPT — this is the soul of the entire project ║\n# ╚══════════════════════════════════════════════════════════════╝\n\nSYSTEM_PROMPT = \"\"\"You are a dubbing translator. You translate English dialogue into the Hindi that real people actually speak at home in North India — not the stiff, Sanskritized Hindi of Doordarshan or official dubs.\n\nRULES:\n1. Use everyday Hindustani — the natural Hindi-Urdu mix people really speak.\n2. NEVER use Sanskritized/शुद्ध words when a simpler one exists:\n - \"प्राप्त करना\" → \"मिलना\" / \"पाना\"\n - \"आवश्यक\" → \"ज़रूरी\"\n - \"अत्यंत\" → \"बहुत\" / \"काफ़ी\"\n - \"उपयोग\" → \"इस्तेमाल\"\n - \"विचार करना\" → \"सोचना\"\n - \"संपन्न करना\" → \"करना\" / \"निपटाना\"\n - \"प्रतीक्षा\" → \"इंतज़ार\"\n - \"शीघ्र\" → \"जल्दी\"\n - \"अनुमति\" → \"इजाज़त\"\n - \"कृपया\" → drop it or say \"please\"\n - \"अवश्य\" → \"ज़रूर\"\n - \"उचित\" → \"सही\" / \"ठीक\"\n3. Keep English words Indians naturally keep: phone, office, meeting, tension, problem, time, chance, try, plan, sure, okay, sorry, thanks, bus, train, college, hospital, doctor, ticket, report, file.\n4. Match the speaker's register. Casual stays casual, serious stays serious — but never sound like a newsreader.\n5. Use natural fillers where they fit: \"यार\", \"अरे\", \"बस\", \"ना\", \"वो\", \"मतलब\", \"basically\".\n6. Natural contractions: \"कर लेंगे\" not \"कर लिया जाएगा\", \"हो जाएगा\" not \"संपन्न हो जाएगा\".\n7 ..."
|
| 17 |
+
}
|
data/quest_labels/in/backyard-raccoon-deterrent.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "build-small-hackathon/backyard-raccoon-deterrent",
|
| 3 |
+
"slug": "backyard-raccoon-deterrent",
|
| 4 |
+
"title": "Backyard Raccoon Deterrent",
|
| 5 |
+
"sdk": "gradio",
|
| 6 |
+
"declared_models": [],
|
| 7 |
+
"tags": [
|
| 8 |
+
"build-small-hackathon",
|
| 9 |
+
"edge-ai",
|
| 10 |
+
"object-detection",
|
| 11 |
+
"raccoon",
|
| 12 |
+
"yolov8"
|
| 13 |
+
],
|
| 14 |
+
"app_file": "app.py",
|
| 15 |
+
"README": "# 🦝 Backyard Raccoon Deterrent Raccoons were raiding my backyard every night, so I built an AI that fights back. A 3-million-parameter YOLO spots them in the dark and scares them off with a dog bark and a floodlight. No cloud, no traps, and nothing gets hurt. This Space is the live detector from a real system that has been defending my actual backyard since April. Upload a photo (daytime or IR night frame) and the model draws the boxes and tells you what the physical deterrent would do. ## 📼 Submission **Demo video** (82s): <video controls src=\"https://huggingface.co/spaces/build-small-hackathon/backyard-raccoon-deterrent/resolve/main/demo-video.mp4\"></video> **Social post**: https://x.com/0xartclub/status/2063258977895391508 **Track**: 🏡 Backyard AI. **Bonus quests**: 🔌 Off the Grid (zero cloud APIs), 🎯 Well-Tuned (fine-tuned published model) ## The story A Ring camera sees raccoons just fine, but a camera can't do anything about them. The usual answer is \"nuisance wildlife\" control, and that mostly means killing: U.S. federal wildlife control killed over 375,000 native animals in 2023 ([USDA APHIS Program Data Reports](https://www.aphis.usda.gov/wildlife-services/publications/pdr)). The same reports show the humane approach works, since the same agency disperses about 20 million animals a year unharmed. This project automates the humane version: ``` Ring camera -> motion event -> YOLOv8n v1.4 (24 ms) -> 🔊 bark + 💡 lights | fully offline: Raspberry Pi + Mac Mini, $0 cloud `` ...",
|
| 16 |
+
"APP_FILE": "from ultralytics import YOLO\n\n\"\"\"Backyard Raccoon Deterrent — Gradio Space.\n\nFine-tuned YOLOv8n raccoon detector, the vision component of a real Ring-camera\ndeterrent. Upload a backyard photo (daytime or IR night frame) and the model\ndraws boxes, lists detections, and tells you what the deterrent would do.\n\nRuns fully offline — no cloud APIs.\n\"\"\"\n\nimport os\n\nimport gradio as gr\nfrom ultralytics import YOLO\n\n# Weights ship in the repo; override with a HF Hub path via env if you prefer.\nMODEL_PATH = os.environ.get(\"MODEL_PATH\", \"raccoon-yolov8n-v1.4.onnx\")\nDEFAULT_CONF = 0.20 # matches the production deterrent's localYoloConfidenceThreshold\n\nmodel = YOLO(MODEL_PATH)\n\n\ndef detect(image, conf):\n \"\"\"Run detection and return (annotated image, table rows, deterrent verdict).\"\"\"\n if image is None:\n return None, [], \"Upload a frame to begin.\"\n\n results = model.predict(image, conf=conf, verbose=False)[0]\n\n boxes, rows = [], []\n for b in results.boxes:\n x1, y1, x2, y2 = b.xyxy[0].tolist()\n label = model.names[int(b.cls)]\n score = float(b.conf)\n boxes.append(((int(x1), int(y1), int(x2), int(y2)), f\"{label} {score:.2f}\"))\n rows.append([label, round(score, 2)])\n\n raccoon = any(label == \"raccoon\" and score >= conf for label, score in rows)\n if raccoon:\n top = max((s for l, s in rows if l == \"raccoon\"), default=0.0)\n verdict = f\"🦝 Raccoon detected ({top:.2f}) → BARK + LIGHTS would fire\"\n elif rows:\n verdict = \"🐾 Animal seen, but no raccoon — deterrent stays quiet\"\n else:\n verdict = \"✅ All clear — nothing detected\"\n\n return (image, boxes), rows, verdict\n\n\nEXAMPLES = [\n [\"examples/ir_raccoon_pair.jpg\", DEFAULT_CONF],\n [\"examples/ir_raccoon_solo.jpg\", DEFAULT_CONF],\n [\"examples/ir_raccoon_prowler.jpg\", DEFAULT_CONF],\n [\"examples/night_empty.jpg\", DEFAULT_CONF],\n]\n# Drop the e ..."
|
| 17 |
+
}
|