Instructions to use prism-ml/Ternary-Bonsai-2-27B-gguf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use prism-ml/Ternary-Bonsai-2-27B-gguf with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16 # Run inference directly in the terminal: llama cli -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16 # Run inference directly in the terminal: llama cli -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16 # Run inference directly in the terminal: ./llama-cli -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16
Use Docker
docker model run hf.co/prism-ml/Ternary-Bonsai-2-27B-gguf:F16
- LM Studio
- Jan
- vLLM
How to use prism-ml/Ternary-Bonsai-2-27B-gguf with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "prism-ml/Ternary-Bonsai-2-27B-gguf" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "prism-ml/Ternary-Bonsai-2-27B-gguf", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/prism-ml/Ternary-Bonsai-2-27B-gguf:F16
- Ollama
How to use prism-ml/Ternary-Bonsai-2-27B-gguf with Ollama:
ollama run hf.co/prism-ml/Ternary-Bonsai-2-27B-gguf:F16
- Unsloth Desktop
- Pi
How to use prism-ml/Ternary-Bonsai-2-27B-gguf with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "prism-ml/Ternary-Bonsai-2-27B-gguf:F16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use prism-ml/Ternary-Bonsai-2-27B-gguf with Docker Model Runner:
docker model run hf.co/prism-ml/Ternary-Bonsai-2-27B-gguf:F16
- Lemonade
How to use prism-ml/Ternary-Bonsai-2-27B-gguf with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull prism-ml/Ternary-Bonsai-2-27B-gguf:F16
Run and chat with the model
lemonade run user.Ternary-Bonsai-2-27B-gguf-F16
List all available models
lemonade list
- Hermes Agent
How to use prism-ml/Ternary-Bonsai-2-27B-gguf with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default prism-ml/Ternary-Bonsai-2-27B-gguf:F16
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use prism-ml/Ternary-Bonsai-2-27B-gguf with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf prism-ml/Ternary-Bonsai-2-27B-gguf:F16
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "prism-ml/Ternary-Bonsai-2-27B-gguf:F16" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
nobody told us, but Pelikan can be ANIMATEEED!
yep, was shocked when saw it on orcarouter OrcaSAQ-2-27B page. I asked there for exact prompt. but while waiting, retrieved text from svg file itself & successfully created on Ternary-Bonsai-2-27. well it is in less optimistic colors, but direction of road is properly animated than in their svg.../llama-cli -m Ternary-Bonsai-2-27B-PQ2_0.gguf --temp 1 --top-p 0.95 --min-p 0 --top-k 20 --repeat-penalty 1 --presence-penalty 0 --seed 42 --ctx-size 114688
prompt I recreated from source:create an animated illustration in a SVG format: Brown pelican riding a bicycle along a coastal road at golden hour. a brown pelican pedals a red road bicycle; the wheels, cranks and legs move, the throat pouch jiggles, and the coastal background scrolls with parallax.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 640" width="960" height="640" role="img">
<title>Brown pelican riding a red road bike along a coastal road at golden hour</title>
<desc>A brown pelican pedals a red road bicycle. Its wheels, cranks and legs rotate, its throat pouch jiggles, and the coastal background scrolls with parallax at golden hour.</desc>
<defs>
<linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#f5aa6a"/>
<stop offset="0.45" stop-color="#ffca8f"/>
<stop offset="1" stop-color="#ffe8bf"/>
</linearGradient>
<radialGradient id="sunG">
<stop offset="0" stop-color="#fffbe8"/>
<stop offset="0.55" stop-color="#ffe394"/>
<stop offset="1" stop-color="#ffca5c"/>
</radialGradient>
<linearGradient id="sea" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#f2a261"/>
<stop offset="1" stop-color="#d5723b"/>
</linearGradient>
<linearGradient id="duneG" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#f2bd87"/>
<stop offset="1" stop-color="#e3a268"/>
</linearGradient>
<linearGradient id="roadG" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#6b4d33"/>
<stop offset="1" stop-color="#533a25"/>
</linearGradient>
<linearGradient id="bodyG" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#ad6f42"/>
<stop offset="1" stop-color="#8c542c"/>
</linearGradient>
<g id="wheelBody" stroke-linecap="round">
<circle r="55" fill="#241c15"/>
<circle r="46" fill="none" stroke="#e8e2d4" stroke-width="3.5"/>
<circle r="42.5" fill="none" stroke="#c83f2e" stroke-width="1.4" opacity="0.55"/>
<circle r="38.5" fill="none" stroke="#cfc6b4" stroke-width="1.4"/>
<g stroke="#d8d0bd" stroke-width="2">
<line x1="0" y1="-42" x2="0" y2="42"/>
<line x1="-21" y1="-36.4" x2="21" y2="36.4"/>
<line x1="-21" y1="36.4" x2="21" y2="-36.4"/>
</g>
<circle r="9" fill="#d8d2c4" stroke="#9a948b" stroke-width="2"/>
<circle r="3.5" fill="#6d675e"/>
<path d="M 32 38 A 55 55 0 0 0 -32 38" fill="none" stroke="#f3d39e" stroke-width="2.5" opacity="0.3"/>
</g>
<g id="tuft" fill="none" stroke="#7d5527" stroke-width="3.2" stroke-linecap="round">
<path d="M0 0 C -1 -10 -5 -18 -12 -22"/>
<path d="M0 0 C 0 -12 -3 -22 -7 -27"/>
<path d="M0 0 C 2 -10 6 -19 13 -23"/>
</g>
<g id="palm">
<path d="M0 0 C -4 -28 -2 -50 6 -72 C 9 -71 9 -68 7 -68 C 0 -48 2 -26 4 -4 Z" fill="#5c3a1d"/>
<g fill="none" stroke="#5c3a1d" stroke-width="4.5" stroke-linecap="round">
<path d="M8 -70 Q -10 -88 -20 -82"/>
<path d="M8 -70 Q 2 -95 20 -93"/>
<path d="M8 -70 Q 24 -86 34 -84"/>
<path d="M8 -70 Q -2 -90 2 -100"/>
<path d="M8 -70 Q 20 -97 36 -93"/>
</g>
</g>
<g id="gull">
<path d="M0 0 C 8 -9 16 -9 20 0 C 24 -7 34 -7 40 0" fill="none" stroke="#57412f" stroke-width="3" stroke-linecap="round"/>
</g>
<g id="spokeUse">
<animateTransform attributeName="transform" type="rotate" values="-3 0 0; 3 0 0; -3 0 0" dur="3.4s" repeatCount="indefinite"/>
</g>
</defs>
<!-- ============ SKY ============ -->
<rect width="960" height="330" fill="url(#sky)"/>
<g>
<animateTransform attributeName="transform" type="translate" values="0 0; 34 0; 0 0" dur="16s" repeatCount="indefinite"/>
<ellipse cx="210" cy="88" rx="70" ry="14" fill="#fff1d8" opacity="0.8"/>
<ellipse cx="290" cy="74" rx="100" ry="18" fill="#fff3dd" opacity="0.7"/>
<ellipse cx="380" cy="86" rx="55" ry="12" fill="#fff1d8" opacity="0.6"/>
<ellipse cx="620" cy="130" rx="45" ry="10" fill="#fff3dd" opacity="0.55"/>
<ellipse cx="700" cy="122" rx="70" ry="13" fill="#fff1d8" opacity="0.5"/>
</g>
<g>
<circle cx="760" cy="298" r="120" fill="#ffd26b" opacity="0.16"/>
<circle cx="760" cy="298" r="78" fill="#ffe27a" opacity="0.35"/>
<circle cx="760" cy="298" r="54" fill="url(#sunG)"/>
</g>
<g>
<animateTransform attributeName="transform" type="translate" values="0 0; 7 4; 0 0" dur="4.4s" repeatCount="indefinite"/>
<use href="#gull" x="150" y="95"/>
</g>
<g>
<animateTransform attributeName="transform" type="translate" values="0 0; -6 3; 0 0" dur="5.8s" repeatCount="indefinite"/>
<g transform="translate(285 140) scale(0.65)"><use href="#gull"/></g>
</g>
<use href="#gull" x="520" y="58" transform="scale(0.5)"/>
<!-- ============ FAR ISLANDS (slow parallax) ============ -->
<g>
<animateTransform attributeName="transform" type="translate" values="0 0; -960 0" dur="53.3s" repeatCount="indefinite"/>
<g id="islandTile">
<path d="M 40 328 C 90 304 140 293 180 304 C 212 313 244 322 284 328 Z" fill="#e59a5c" opacity="0.85"/>
<path d="M 310 328 C 352 300 430 289 476 307 C 522 318 570 324 632 328 Z" fill="#d98c4e" opacity="0.8"/>
<path d="M 842 328 C 872 312 912 308 938 322 L 948 328 Z" fill="#d98c4e" opacity="0.7"/>
<rect x="704" y="290" width="16" height="38" rx="2" fill="#ecc48e"/>
<rect x="704" y="290" width="16" height="6" fill="#c97a3e"/>
<rect x="704" y="306" width="16" height="6" fill="#c97a3e"/>
<rect x="700" y="282" width="20" height="8" rx="3" fill="#d99b5f"/>
<circle cx="712" cy="275" r="5" fill="#fff6d8">
<animate attributeName="opacity" values="1; 0.3; 1" dur="3.5s" repeatCount="indefinite"/>
</circle>
<circle cx="712" cy="275" r="11" fill="#fff1c8" opacity="0.35"/>
</g>
<use href="#islandTile" x="960"/>
</g>
<!-- ============ SEA ============ -->
<rect x="0" y="330" width="960" height="80" fill="url(#sea)"/>
<g>
<animateTransform attributeName="transform" type="translate" values="0 0; -18 0; 0 0" dur="4.8s" repeatCount="indefinite"/>
<ellipse cx="762" cy="344" rx="14" ry="2.5" fill="#fff3d0" opacity="0.85"/>
<ellipse cx="762" cy="358" rx="34" ry="3" fill="#fff0c4" opacity="0.8">
<animate attributeName="opacity" values="0.8; 0.35; 0.8" dur="1.9s" repeatCount="indefinite"/>
</ellipse>
<ellipse cx="762" cy="376" rx="64" ry="4" fill="#fff3d0" opacity="0.7"/>
<ellipse cx="758" cy="396" rx="110" ry="5" fill="#fff0c4" opacity="0.55"/>
<ellipse cx="700" cy="352" rx="12" ry="2.2" fill="#fff3d0" opacity="0.6"/>
<ellipse cx="830" cy="364" rx="20" ry="2.8" fill="#fff3d0" opacity="0.55"/>
</g>
<!-- ============ DUNES + PALMS (mid parallax) ============ -->
<g>
<animateTransform attributeName="transform" type="translate" values="0 0; -960 0" dur="9.6s" repeatCount="indefinite"/>
<g id="duneTile">
<path d="M 0 418 C 90 396 180 412 280 406 C 360 400 430 408 500 402 C 590 395 660 404 740 400 C 820 396 880 406 960 398 L 960 540 L 0 540 Z" fill="url(#duneG)"/>
<ellipse cx="430" cy="500" rx="9" ry="6" fill="#c98f55" opacity="0.8"/>
<ellipse cx="690" cy="515" rx="6" ry="4" fill="#c98f55" opacity="0.7"/>
<use href="#tuft" x="120" y="446"/>
<use href="#tuft" x="250" y="436"/>
<use href="#tuft" x="390" y="458"/>
<use href="#tuft" x="520" y="438"/>
<use href="#tuft" x="640" y="462"/>
<use href="#tuft" x="770" y="436"/>
<use href="#tuft" x="880" y="448"/>
<g transform="translate(210 436) scale(0.9)"><use href="#palm"/></g>
<g transform="translate(790 446) scale(0.7)"><use href="#palm"/></g>
</g>
<use href="#duneTile" x="960"/>
</g>
<!-- ============ ROAD (fast parallax) ============ -->
<rect x="0" y="534" width="960" height="3" fill="#533c24"/>
<rect x="0" y="537" width="960" height="3" fill="#8a6a45"/>
<rect x="0" y="540" width="960" height="100" fill="url(#roadG)"/>
<g>
<animateTransform attributeName="transform" type="translate" values="0 0; -960 0" dur="6.667s" repeatCount="indefinite"/>
<g id="roadTex">
<rect x="70" y="556" width="20" height="5" rx="2" fill="#7a5838" opacity="0.5"/>
<rect x="215" y="582" width="14" height="4" rx="2" fill="#66462e" opacity="0.6"/>
<rect x="330" y="610" width="24" height="5" rx="2" fill="#7a5838" opacity="0.5"/>
<rect x="415" y="556" width="12" height="4" rx="2" fill="#66462e" opacity="0.55"/>
<rect x="512" y="612" width="16" height="4" rx="2" fill="#7a5838" opacity="0.45"/>
<rect x="600" y="552" width="20" height="4" rx="2" fill="#66462e" opacity="0.6"/>
<rect x="705" y="618" width="22" height="5" rx="2" fill="#7a5838" opacity="0.5"/>
<rect x="810" y="556" width="14" height="5" rx="2" fill="#66462e" opacity="0.5"/>
<rect x="885" y="600" width="18" height="4" rx="2" fill="#7a5838" opacity="0.45"/>
</g>
<use href="#roadTex" x="960"/>
</g>
<line x1="-20" y1="588" x2="980" y2="588" stroke="#f5e3bd" stroke-width="9" stroke-dasharray="62 62">
<animate attributeName="stroke-dashoffset" values="0; 124" dur="0.861s" repeatCount="indefinite"/>
</line>
<!-- speed streaks + shadow -->
<rect x="250" y="452" width="46" height="3" rx="1.5" fill="#f3d39e" opacity="0.3"/>
<rect x="215" y="505" width="60" height="4" rx="2" fill="#f3d39e" opacity="0.22"/>
<rect x="230" y="558" width="40" height="3" rx="1.5" fill="#f3d39e" opacity="0.2"/>
<ellipse cx="485" cy="541" rx="125" ry="11.5" fill="#463119" opacity="0.5">
<animate attributeName="rx" values="125; 131; 125" dur="1.2s" repeatCount="indefinite"/>
</ellipse>
<!-- ============ FAR LEG (behind bike, darker) ============ -->
<g transform="translate(431 408)">
<g>
<animateTransform attributeName="transform" type="rotate" values="123.1 0 0; 105.3 0 0; 97.7 0 0; 101.7 0 0; 124.6 0 0; 170.2 0 0; 170.5 0 0; 147.5 0 0; 123.1 0 0" dur="2.4s" repeatCount="indefinite"/>
<line x1="0" y1="0" x2="86" y2="0" stroke="#d97f22" stroke-width="12.5" stroke-linecap="round"/>
<g transform="translate(86 0)">
<g>
<animateTransform attributeName="transform" type="rotate" values="-100.3 0 0; -95 0 0; -104 0 0; -124 0 0; -146.2 0 0; -158.2 0 0; -140.4 0 0; -117.4 0 0; -100.3 0 0" dur="2.4s" repeatCount="indefinite"/>
<line x1="0" y1="0" x2="76" y2="0" stroke="#d97f22" stroke-width="10.5" stroke-linecap="round"/>
<path d="M 68 -7 L 90 -4.5 L 102 0 L 96 7 L 70 5 Z" fill="#c9701a"/>
</g>
</g>
</g>
</g>
<!-- ============ BIKE ============ -->
<!-- rear wheel -->
<g>
<animateTransform attributeName="transform" type="rotate" values="0 370 485; 90 370 485; 180 370 485; 270 370 485; 360 370 485" dur="2.4s" repeatCount="indefinite"/>
<use href="#wheelBody" x="370" y="485"/>
</g>
<!-- chain + rear cog -->
<line x1="467" y1="455" x2="384" y2="471" stroke="#3b3530" stroke-width="2.5" opacity="0.9"/>
<line x1="476" y1="482" x2="382" y2="491" stroke="#3b3530" stroke-width="2.5" opacity="0.9"/>
<circle cx="370" cy="485" r="11" fill="none" stroke="#332d28" stroke-width="2.5"/>
<circle cx="370" cy="485" r="4" fill="#332d28"/>
<!-- frame -->
<g fill="none" stroke-linecap="round">
<g stroke="#a3241a" stroke-width="13">
<path d="M 434 400 L 478 466"/>
<path d="M 432 392 L 536 400"/>
<path d="M 538 400 L 540 444 L 546 479"/>
<path d="M 476 464 L 374 481"/>
<path d="M 440 438 L 372 481"/>
</g>
<g stroke="#dd3b2a" stroke-width="9">
<path d="M 434 400 L 478 466"/>
<path d="M 432 392 L 536 400"/>
<path d="M 538 400 L 540 444 L 546 479"/>
<path d="M 476 464 L 374 481"/>
<path d="M 440 438 L 372 481"/>
</g>
<g stroke="#ef6d57" stroke-width="3.5">
<path d="M 434 397 L 476 462"/>
<path d="M 432 389 L 532 397"/>
</g>
</g>
<!-- saddle, seat post, handlebar -->
<line x1="430" y1="374" x2="430" y2="401" stroke="#9a928b" stroke-width="5"/>
<path d="M 402 358 Q 428 348 452 358 Q 457 368 448 372 Q 430 379 414 373 Q 404 368 402 358 Z" fill="#2e2a25"/>
<path d="M 540 401 C 560 400 582 399 598 399 C 610 399 619 408 614 424" fill="none" stroke="#dd3b2a" stroke-width="7" stroke-linecap="round"/>
<!-- crankset (pedaling cranks) -->
<g transform="translate(478 469)">
<g>
<animateTransform attributeName="transform" type="rotate" values="0; 45; 90; 135; 180; 225; 270; 315; 360" dur="2.4s" repeatCount="indefinite"/>
<line x1="0" y1="-34" x2="0" y2="2" stroke="#2f2a24" stroke-width="4.5" stroke-linecap="round"/>
<circle r="15" fill="none" stroke="#3b3530" stroke-width="3"/>
<circle r="8" fill="none" stroke="#3b3530" stroke-width="2"/>
<line x1="0" y1="2" x2="0" y2="36" stroke="#332d27" stroke-width="5.5" stroke-linecap="round"/>
<rect x="-15" y="33.5" width="30" height="5.5" rx="2" fill="#b5452e"/>
<line x1="-15" y1="36" x2="15" y2="36" stroke="#8a3323" stroke-width="1.5"/>
</g>
</g>
<!-- front wheel -->
<g>
<animateTransform attributeName="transform" type="rotate" values="0 545 485; 90 545 485; 180 545 485; 270 545 485; 360 545 485" dur="2.4s" repeatCount="indefinite"/>
<use href="#wheelBody" x="545" y="485"/>
</g>
<!-- ============ PELICAN (bobbing, leaning forward) ============ -->
<g>
<animateTransform attributeName="transform" type="translate" values="0 0; 0 -3; 0 0; 0 -3; 0 0" dur="1.2s" repeatCount="indefinite"/>
<g transform="rotate(-5 430 410)">
<path d="M 346 428 L 318 442 L 336 462 L 350 454 Z" fill="#53321e"/>
<path d="M 346 418 C 338 442 352 472 390 482 C 432 492 486 470 500 436 C 508 418 500 398 488 384 C 478 372 460 364 438 368 C 400 374 352 388 346 418 Z" fill="url(#bodyG)"/>
<path d="M 458 396 C 478 402 490 416 490 430 C 492 442 482 454 468 458 C 452 450 448 430 452 414 C 454 404 455 400 458 396 Z" fill="#a8734a" opacity="0.8"/>
<path d="M 486 372 L 478 388 M 494 370 L 484 382" stroke="#7c4a26" stroke-width="2" stroke-linecap="round"/>
<path d="M 396 384 C 426 368 458 360 478 366 C 486 369 484 376 474 382 C 446 398 416 408 392 404 C 386 400 388 390 396 384 Z" fill="#5f3a22"/>
<path d="M 428 378 C 452 368 470 366 476 372 C 464 386 440 394 424 392 Z" fill="#74472c"/>
<path d="M 404 396 C 430 384 456 378 468 376" fill="none" stroke="#8a5a33" stroke-width="2"/>
<path d="M 498 340 C 494 332 488 330 484 334 C 486 340 490 344 496 344 Z" fill="#9a5f33"/>
<circle cx="510" cy="363" r="24" fill="#9a5f33"/>
<circle cx="502" cy="354" r="5.2" fill="#f8f3e6"/>
<circle cx="501" cy="355" r="2.7" fill="#221a12"/>
<circle cx="500" cy="353.5" r="1" fill="#ffffff" opacity="0.9"/>
<path d="M 528 350 C 566 354 602 359 618 366 L 614 373 C 580 368 544 365 530 360 Z" fill="#f2a94d"/>
<path d="M 534 361 L 614 372" fill="none" stroke="#cf8133" stroke-width="1.8"/>
<path d="M 606 362 L 617 367" fill="none" stroke="#c97a2e" stroke-width="1.5"/>
<circle cx="535" cy="353" r="1.6" fill="#b37a2c"/>
<!-- jiggling throat pouch -->
<g>
<animateTransform attributeName="transform" type="rotate" values="-8 532 362; 8 532 362; -8 532 362" dur="1.2s" repeatCount="indefinite"/>
<path d="M 532 362 C 540 376 558 389 580 391 C 600 393 616 386 615 371 C 610 363 554 361 532 362 Z" fill="#f7e3ab" stroke="#e2c57d" stroke-width="1.5"/>
<path d="M 552 376 C 566 385 580 390 592 390" fill="none" stroke="#e6cb85" stroke-width="1.5"/>
</g>
<!-- feet on the drop bars -->
<ellipse cx="608" cy="412" rx="9" ry="5.5" fill="#f0932e" transform="rotate(30 608 412)"/>
<line x1="606" y1="410" x2="613" y2="413" stroke="#b96a1c" stroke-width="1.6"/>
<ellipse cx="614" cy="422" rx="8" ry="5" fill="#f0932e" transform="rotate(45 614 422)"/>
</g>
</g>
<!-- ============ NEAR LEG (in front of the bike) ============ -->
<g transform="translate(430 410)">
<g>
<animateTransform attributeName="transform" type="rotate" values="124.6 0 0; 170.2 0 0; 170.5 0 0; 147.5 0 0; 123.1 0 0; 105.3 0 0; 97.7 0 0; 101.7 0 0; 124.6 0 0" dur="2.4s" repeatCount="indefinite"/>
<line x1="0" y1="0" x2="86" y2="0" stroke="#f0932e" stroke-width="13" stroke-linecap="round"/>
<g transform="translate(86 0)">
<g>
<animateTransform attributeName="transform" type="rotate" values="-146.2 0 0; -158.2 0 0; -140.4 0 0; -117.4 0 0; -100.3 0 0; -95 0 0; -104 0 0; -124 0 0; -146.2 0 0" dur="2.4s" repeatCount="indefinite"/>
<line x1="0" y1="0" x2="76" y2="0" stroke="#f0932e" stroke-width="11.5" stroke-linecap="round"/>
<path d="M 68 -7 L 90 -4.5 L 102 0 L 96 7 L 70 5 Z" fill="#f0932e"/>
<path d="M 88 -3 L 99 0 M 91 2 L 99 4" fill="none" stroke="#b96a1c" stroke-width="1.6"/>
</g>
</g>
</g>
</g>
</svg>