# game_pbp

pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Wellington Baseball Club batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Sheng-an Su ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [0 outs | 1-1 | empty] CALLED STRIKE
    Strike (called). Count: 1-2.
  [0 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [0 outs | 2-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Hyotaro Ikeda ---
  [1 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [1 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [1 outs | 2-1 | empty] CALLED STRIKE
    Strike (called). Count: 2-2.
  [1 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [1 outs | 2-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Malik Tullin ---
  [2 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [2 outs | 2-0 | empty] BALL IN PLAY
    Malik Tullin runs → double.
  --- Now batting: Seigo Miyao ---
  [2 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [2 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 2B] BALL IN PLAY
    Seigo Miyao runs → double.
    Runner scores from 2B.
  [2 outs | 0-0 | 2B] PINCH RUNNER
    Junior Spruance pinch-runs for Seigo Miyao at 2B.
  --- Now batting: Salleh Daud ---
  [2 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [2 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [2 outs | 3-0 | 2B] BALL
    WALK — Salleh Daud awarded 1B.
  [2 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Wellington Baseball Club sends in joker Poy Palacios for an extra plate appearance (joker #1).
  [2 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Hadi Riyandi pinch-runs for Salleh Daud at 1B.
  --- Now batting: Poy Palacios ---
  [2 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Poy Palacios runs → fly out.
    Poy Palacios is out.
  [3 outs | 0-0 | 1B, 2B] PINCH HITTER
    Bora Ryang pinch-hits for Buff Reyes.
  --- Now batting: Bora Ryang ---
  [3 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [3 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [3 outs | 2-1 | 1B, 2B] FOUL
    Foul ball. Count: 2-2.
  [3 outs | 2-2 | 1B, 2B] BALL IN PLAY
    Bora Ryang runs → fly out.
    Bora Ryang is out.
  [4 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Jun-seo Kim pinch-runs for Hadi Riyandi at 1B.
  --- Now batting: Saiful Sumareh ---
  [4 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [4 outs | 2-0 | 1B, 2B] BALL IN PLAY
    Saiful Sumareh runs → ground out.
    Saiful Sumareh is out.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  [6 outs | 0-0 | 2B] PINCH HITTER
    Juan Collinsov pinch-hits for Korrakot Thongsombut.
  --- Now batting: Juan Collinsov ---
  [6 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [6 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [6 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [6 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [6 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [7 outs | 0-0 | 2B] JOKER INSERTION
    Wellington Baseball Club sends in joker Tommy McAteer for an extra plate appearance (joker #2).
  --- Now batting: Tommy McAteer ---
  [7 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [7 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [7 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [7 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [7 outs | 2-2 | 2B] FOUL
    Foul ball. Count: 2-2.
  [7 outs | 2-2 | 2B] BALL IN PLAY
    Tommy McAteer runs → ground out.
    Tommy McAteer is out.
    Runner advances from 2B to 3B.
  [8 outs | 0-0 | 3B] JOKER INSERTION
    Wellington Baseball Club sends in joker Rui Long for an extra plate appearance (joker #3).
  [8 outs | 0-0 | 3B] PINCH HITTER
    Kanata Fukushima pinch-hits for Rui Long.
  --- Now batting: Rui Long ---
  [8 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [8 outs | 1-1 | 3B] BALL IN PLAY
    Rui Long runs → single.
    Runner scores from 3B.
  --- Now batting: Kanata Fukushima ---
  [8 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B] BALL IN PLAY
    Kanata Fukushima runs → ground out.
    Kanata Fukushima is out.
    Runner advances from 1B to 2B.
  [9 outs | 0-0 | 2B] DEFENSIVE SWAP
    Seung-gi Hyun comes in for Sheng-an Su (defensive swap).
  [9 outs | 0-0 | 2B] JOKER INSERTION
    Wellington Baseball Club sends in joker Poy Palacios for an extra plate appearance (joker #4).
  [9 outs | 0-0 | 2B] DEFENSIVE SWAP
    Hyun-ki Tak comes in for Poy Palacios (defensive swap).
  --- Now batting: Poy Palacios ---
  [9 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 2B] BALL IN PLAY
    Poy Palacios runs → fly out.
    Poy Palacios is out.
  [10 outs | 0-0 | 2B] JOKER INSERTION
    Wellington Baseball Club sends in joker Tommy McAteer for an extra plate appearance (joker #5).
  [10 outs | 0-0 | 2B] DEFENSIVE SWAP
    Damdinsuren Uriankhai comes in for Tommy McAteer (defensive swap).
  --- Now batting: Tommy McAteer ---
  [10 outs | 0-0 | 2B] BALL IN PLAY
    Tommy McAteer runs → single.
    Runner at 2B thrown out.
  [11 outs | 0-0 | 1B] JOKER INSERTION
    Wellington Baseball Club sends in joker Rui Long for an extra plate appearance (joker #6).
  [11 outs | 0-0 | 1B] DEFENSIVE SWAP
    Kyung-min Yeo comes in for Rui Long (defensive swap).
  --- Now batting: Rui Long ---
  [11 outs | 0-0 | 1B] BALL IN PLAY
    Rui Long runs → ground out.
    Rui Long is out.
    Runner at 1B thrown out.
  [13 outs | 0-0 | empty] PINCH HITTER
    Keishiro Miyagi pinch-hits for Kyung-min Yeo.
  [13 outs | 0-0 | empty] DEFENSIVE SWAP
    Batbold Nyamdavaa comes in for Keishiro Miyagi (defensive swap).
  --- Now batting: Batbold Nyamdavaa ---
  [13 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [13 outs | 0-2 | empty] BALL IN PLAY
    Batbold Nyamdavaa runs → double.
  [13 outs | 0-0 | 2B] PINCH RUNNER
    Rizwan Shah pinch-runs for Batbold Nyamdavaa at 2B.
  --- Now batting: Hyotaro Ikeda ---
  [13 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [13 outs | 0-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Malik Tullin ---
  [14 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Malik Tullin given a free pass.
  [14 outs | 0-0 | 1B, 2B] PINCH HITTER
    Khash-Erdene Boldsukh pinch-hits for Junior Spruance.
  [14 outs | 0-0 | 1B, 2B] PINCH HITTER
    Sachin Reddy pinch-hits for Khash-Erdene Boldsukh.
  [14 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Devon Fleishman pinch-runs for Rizwan Shah at 2B.
  --- Now batting: Sachin Reddy ---
  [14 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Sachin Reddy runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  --- Now batting: Jun-seo Kim ---
  [14 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 2B] BALL IN PLAY
    Jun-seo Kim runs → single.
    Runner scores from 2B.
  --- Now batting: Bora Ryang ---
  [14 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [14 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [14 outs | 0-2 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  [14 outs | 0-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Saiful Sumareh ---
  [15 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Saiful Sumareh given a free pass.
  --- Now batting: Juan Collinsov ---
  [15 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [15 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [15 outs | 0-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kanata Fukushima ---
  [16 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Kanata Fukushima runs → single.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  [16 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Wellington Baseball Club sends in joker Poy Palacios for an extra plate appearance (joker #7).
  --- Now batting: Poy Palacios ---
  [16 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Poy Palacios runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  [16 outs | 0-0 | 2B] JOKER INSERTION
    Wellington Baseball Club sends in joker Tommy McAteer for an extra plate appearance (joker #8).
  --- Now batting: Tommy McAteer ---
  [16 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [16 outs | 0-1 | 2B] BALL IN PLAY
    Tommy McAteer runs → ground out.
    Tommy McAteer is out.
  [17 outs | 0-0 | 2B] JOKER INSERTION
    Wellington Baseball Club sends in joker Rui Long for an extra plate appearance (joker #9).
  --- Now batting: Rui Long ---
  [17 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [17 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [17 outs | 1-1 | 2B] BALL IN PLAY
    Rui Long runs → double.
    Runner scores from 2B.
  --- Now batting: Devon Fleishman ---
  [17 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 2B] BALL IN PLAY
    Devon Fleishman runs → ground out.
    Devon Fleishman is out.
    Runner at 2B thrown out.
  [19 outs | 0-0 | empty] DEFENSIVE SUB
    Steve Thompson replaces Denis Efremova at C.
  --- Now batting: Hyotaro Ikeda ---
  [19 outs | 0-0 | empty] BALL IN PLAY
    Hyotaro Ikeda runs → fly out.
    Hyotaro Ikeda is out.
  --- Now batting: Malik Tullin ---
  [20 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [20 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [20 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [20 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [20 outs | 3-2 | empty] BALL IN PLAY
    Malik Tullin runs → single.
  [20 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Shaq Evans exits (30 BF this spell).
  --- Now batting: Sachin Reddy ---
  [20 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [20 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [20 outs | 0-2 | 1B] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | 1B] BALL IN PLAY
    Sachin Reddy runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Jun-seo Kim ---
  [20 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Bora Ryang ---
  [21 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [21 outs | 0-1 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [21 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [21 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [21 outs | 2-2 | 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [21 outs | 2-2 | 2B, 3B] HIT BY PITCH
    HBP — Bora Ryang awarded 1B.
  --- Now batting: Saiful Sumareh ---
  [21 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [21 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [21 outs | 1-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [21 outs | 1-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Juan Collinsov ---
  [22 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [22 outs | 2-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [22 outs | 2-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [22 outs | 2-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [22 outs | 2-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kanata Fukushima ---
  [23 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [23 outs | 1-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [23 outs | 1-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [24 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Wellington Baseball Club sends in joker Poy Palacios for an extra plate appearance (joker #10).
  [24 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Rikhard Bashorov pinch-runs for Sachin Reddy at 2B.
  --- Now batting: Poy Palacios ---
  [24 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [24 outs | 1-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [24 outs | 1-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [24 outs | 1-2 | 1B, 2B, 3B] BALL IN PLAY
    Poy Palacios runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner scores from 1B.
  [24 outs | 0-0 | 2B] JOKER INSERTION
    Wellington Baseball Club sends in joker Tommy McAteer for an extra plate appearance (joker #11).
  --- Now batting: Tommy McAteer ---
  [24 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [24 outs | 0-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [25 outs | 0-0 | 2B] JOKER INSERTION
    Wellington Baseball Club sends in joker Rui Long for an extra plate appearance (joker #12).
  --- Now batting: Rui Long ---
  [25 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [25 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Devon Fleishman ---
  [26 outs | 0-0 | 2B] DECLARATION
    >> Wellington Baseball Club DECLARES SECONDS at out 26 (12-0).

  End of top half — Wellington Baseball Club: 12 run(s), 13 hit(s), 27 out(s) | Run rate: 0.444
  ============================================================
  HALFTIME
    Wellington Baseball Club: 12 run(s)
    Lavrentiya Police need 13 run(s) to win
    Required run rate: 0.481 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Lavrentiya Police batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Kirill Elgin ---
  [0 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [0 outs | 0-2 | empty] BALL IN PLAY
    Kirill Elgin runs → single.
  --- Now batting: Semyon Denisov ---
  [0 outs | 0-0 | 1B] BALL IN PLAY
    Semyon Denisov runs → fly out.
    Semyon Denisov is out.
  [1 outs | 0-0 | 1B] JOKER INSERTION
    Lavrentiya Police sends in joker Tamatoa Phillips for an extra plate appearance (joker #1).
  [1 outs | 0-0 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  --- Now batting: Tamatoa Phillips ---
  [1 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [1 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [1 outs | 3-0 | 2B] FOUL
    Foul ball. Count: 3-1.
  [1 outs | 3-1 | 2B] BALL IN PLAY
    Tamatoa Phillips runs → single.
    Runner at 2B thrown out.
  [2 outs | 0-0 | 1B] JOKER INSERTION
    Lavrentiya Police sends in joker Ivan Yakovlev for an extra plate appearance (joker #2).
  --- Now batting: Ivan Yakovlev ---
  [2 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [2 outs | 0-1 | 1B] BALL IN PLAY
    Ivan Yakovlev runs → infield single.
    Runner advances from 1B to 2B.
  [2 outs | 0-0 | 2B] JOKER INSERTION
    Lavrentiya Police sends in joker Aslan Podkolzina for an extra plate appearance (joker #3).
  --- Now batting: Aslan Podkolzina ---
  [2 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [2 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [2 outs | 3-0 | 2B] BALL
    WALK — Aslan Podkolzina awarded 1B.
  --- Now batting: Ostap Kutepov ---
  [2 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [2 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [2 outs | 2-1 | 1B, 2B] BALL IN PLAY
    Ostap Kutepov runs → error.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Steve Thompson ---
  [2 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [2 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 1B, 2B] FOUL
    Foul ball. Count: 1-2.
  [2 outs | 1-2 | 1B, 2B] FOUL
    Foul ball. Count: 1-2.
  [2 outs | 1-2 | 1B, 2B] BALL IN PLAY
    Steve Thompson runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Evgueni Pashkova ---
  [2 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [2 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Evgueni Pashkova runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Alibek Shnaider ---
  [2 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [2 outs | 2-0 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [2 outs | 3-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 3-1.
  [2 outs | 3-1 | 1B, 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  [2 outs | 3-1 | 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [2 outs | 3-2 | 2B, 3B] BALL
    WALK — Alibek Shnaider awarded 1B.
  --- Now batting: Nate LeBlanc ---
  [2 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [2 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [2 outs | 2-1 | 1B, 2B, 3B] BALL IN PLAY
    Nate LeBlanc runs → line out.
    ROBBED! Khash-Erdene Boldsukh lays out for the diving grab — a hit turned into an out!
    Nate LeBlanc is out.
  --- Now batting: Dashawn Folliardov ---
  [3 outs | 0-0 | 1B, 2B, 3B] HIT BY PITCH
    HBP — Dashawn Folliardov awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Shaq Evans [P] ---
  [3 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [3 outs | 2-0 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [3 outs | 3-0 | 1B, 2B, 3B] BALL IN PLAY
    Shaq Evans takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [3 outs | 3-1 | 2B, 3B] BALL
    WALK — Shaq Evans awarded 1B.
  [3 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Jin-soo Kim exits (12 BF this spell).
  --- Now batting: Kirill Elgin ---
  [3 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [3 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [3 outs | 2-1 | 1B, 2B, 3B] BALL IN PLAY
    Kirill Elgin takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [3 outs | 2-2 | 2B, 3B] BALL
    Ball 3. Count: 3-2.
  [3 outs | 3-2 | 2B, 3B] BALL
    WALK — Kirill Elgin awarded 1B.
  --- Now batting: Semyon Denisov ---
  [3 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [3 outs | 0-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [4 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Lavrentiya Police sends in joker Tamatoa Phillips for an extra plate appearance (joker #4).
  --- Now batting: Tamatoa Phillips ---
  [4 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Tamatoa Phillips takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  [5 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Lavrentiya Police sends in joker Ivan Yakovlev for an extra plate appearance (joker #5).
  --- Now batting: Ivan Yakovlev ---
  [5 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [5 outs | 1-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [5 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [5 outs | 2-2 | 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [5 outs | 2-2 | 2B, 3B] BALL
    Ball 3. Count: 3-2.
  [5 outs | 3-2 | 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [5 outs | 3-2 | 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Ostap Kutepov ---
  [6 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Ostap Kutepov given a free pass.
  --- Now batting: Steve Thompson ---
  [6 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [6 outs | 0-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [6 outs | 0-2 | 1B, 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [7 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [7 outs | 1-2 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [7 outs | 1-2 | 2B, 3B] HIT BY PITCH
    HBP — Steve Thompson awarded 1B.
  --- Now batting: Evgueni Pashkova ---
  [7 outs | 0-0 | 1B, 2B, 3B] SAC BUNT
  [7 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Lavrentiya Police sends in joker Aslan Podkolzina for an extra plate appearance (joker #6).
  --- Now batting: Aslan Podkolzina ---
  [7 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [7 outs | 2-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [7 outs | 2-1 | 1B, 2B, 3B] BALL IN PLAY
    Aslan Podkolzina runs → fly out.
    Aslan Podkolzina is out.
  --- Now batting: Alibek Shnaider ---
  [8 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B, 2B, 3B] BALL IN PLAY
    Alibek Shnaider takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [8 outs | 1-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [8 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [8 outs | 2-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [9 outs | 0-0 | 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Coniah Estrada exits (8 BF this spell).
  --- Now batting: Nate LeBlanc ---
  [9 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [9 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Nate LeBlanc runs → single.
    Runner scores from 2B.
  --- Now batting: Dashawn Folliardov ---
  [9 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Dashawn Folliardov runs → fly out.
    Dashawn Folliardov is out.
    Runner scores from 3B.
  --- Now batting: Shaq Evans [P] ---
  [10 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [10 outs | 0-1 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  [10 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [10 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [10 outs | 2-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [10 outs | 2-2 | 2B] BALL IN PLAY
    Shaq Evans runs → single.
    Runner advances from 2B to 3B.
  [10 outs | 0-0 | 1B, 3B] PINCH RUNNER
    Fabio Kotov pinch-runs for Nate LeBlanc at 3B.
  --- Now batting: Kirill Elgin ---
  [10 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Kirill Elgin runs → line out.
    Kirill Elgin is out.
  [11 outs | 0-0 | 1B, 3B] PINCH RUNNER
    Quintavius Gallatin pinch-runs for Shaq Evans at 1B.
  --- Now batting: Semyon Denisov ---
  [11 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Ostap Kutepov ---
  [12 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [12 outs | 1-1 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [12 outs | 1-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Steve Thompson ---
  [13 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [13 outs | 0-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [13 outs | 0-2 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Evgueni Pashkova ---
  [14 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [14 outs | 0-2 | 1B, 3B] BALL IN PLAY
    Evgueni Pashkova runs → ground out.
    Evgueni Pashkova is out.
    Runner advances from 1B to 2B.
  [15 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Lavrentiya Police sends in joker Tamatoa Phillips for an extra plate appearance (joker #7).
  --- Now batting: Tamatoa Phillips ---
  [15 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [15 outs | 2-0 | 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [15 outs | 3-0 | 2B, 3B] FOUL
    Foul ball. Count: 3-1.
  [15 outs | 3-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [15 outs | 3-2 | 2B, 3B] BALL
    WALK — Tamatoa Phillips awarded 1B.
  [15 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Lavrentiya Police sends in joker Ivan Yakovlev for an extra plate appearance (joker #8).
  --- Now batting: Ivan Yakovlev ---
  [15 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [15 outs | 2-0 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [15 outs | 3-0 | 1B, 2B, 3B] BALL
    WALK — Ivan Yakovlev awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [15 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Ruslan Zubkov exits (10 BF this spell).
  [15 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Andrey Schukin pinch-hits for Alibek Shnaider.
  --- Now batting: Andrey Schukin ---
  [15 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Andrey Schukin runs → fly out.
    Andrey Schukin is out.
    Runner at 3B thrown out.
  [17 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Lavrentiya Police sends in joker Aslan Podkolzina for an extra plate appearance (joker #9).
  --- Now batting: Aslan Podkolzina ---
  [17 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [17 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [17 outs | 0-2 | 1B, 2B] BALL
    Ball 1. Count: 1-2.
  [17 outs | 1-2 | 1B, 2B] FOUL
    Foul ball. Count: 1-2.
  [17 outs | 1-2 | 1B, 2B] BALL IN PLAY
    Aslan Podkolzina runs → single.
    Runner scores from 2B.
    Runner at 1B thrown out.
  --- Now batting: Fabio Kotov ---
  [18 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [18 outs | 2-0 | 1B] FOUL
    Foul ball. Count: 2-1.
  [18 outs | 2-1 | 1B] BALL
    Ball 3. Count: 3-1.
  [18 outs | 3-1 | 1B] BALL
    WALK — Fabio Kotov awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Dashawn Folliardov ---
  [18 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [18 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [18 outs | 0-2 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [19 outs | 0-0 | 1B, 2B] PINCH HITTER
    Tre Luzhanskin pinch-hits for Quintavius Gallatin.
  --- Now batting: Tre Luzhanskin ---
  [19 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [19 outs | 0-2 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [19 outs | 0-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kirill Elgin ---
  [20 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [20 outs | 0-1 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | 1B, 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  [21 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [21 outs | 1-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Semyon Denisov ---
  [22 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [22 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [22 outs | 0-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Ostap Kutepov ---
  [23 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [23 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [23 outs | 0-2 | 1B] FOUL
    Foul ball. Count: 0-2.
  [23 outs | 0-2 | 1B] BALL IN PLAY
    Ostap Kutepov runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Ostap Kutepov retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by RadioShack.]
  [23 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Jin-woo Lim exits (8 BF this spell).
  --- Now batting: Steve Thompson ---
  [23 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [23 outs | 0-1 | 3B] BALL IN PLAY
    Steve Thompson runs → fly out.
    Steve Thompson is out.
    Runner at 3B thrown out.
  --- Now batting: Evgueni Pashkova ---
  [25 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [25 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [25 outs | 2-1 | empty] BALL IN PLAY
    Evgueni Pashkova runs → fielder's choice.
  --- Now batting: Andrey Schukin ---
  [25 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [25 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [25 outs | 1-2 | 1B] BALL IN PLAY
    Andrey Schukin runs → double play.
    Andrey Schukin is out.
    Runner at 1B thrown out.

  End of bottom half — Lavrentiya Police: 15 run(s), 13 hit(s), 27 out(s) | Run rate: 0.556

  ────────────────────────────────────────────────────────────
  SECONDS_FIRST | Wellington Baseball Club batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Devon Fleishman ---
  [0 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [0 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.

  ============================================================
  GAME OVER: LAVRENTIYA POLICE WIN 15–12
  ============================================================
  Final score: Lavrentiya Police 15, Wellington Baseball Club 12
  ============================================================
  LINE SCORE
                          1      2      R
  Wellington Baseball Club     12      0     12
  Lavrentiya Police      15      -     15

  ============================================================
  WELLINGTON BASEBALL CLUB BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Jin-soo Kim             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Malik Tullin            3    2    3    2    1    0    0     0    1    0    0    0     0    0
  Junior Spruance         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sheng-an Su             1    1    0    0    0    0    0     0    0    1    0    0     0    0
  Hadi Riyandi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kanata Fukushima        3    3    1    1    0    0    0     1    0    1    0    0     0    0
  Seigo Miyao             1    1    0    1    1    0    0     1    0    0    0    0     0    0
  Hyotaro Ikeda           3    3    0    0    0    0    0     0    0    2    0    0     0    0
  Korrakot Thongsombut    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Poy Palacios            4    4    1    2    2    0    0     5    0    0    0    0     0    0
  Rui Long                4    4    0    2    1    0    0     2    0    1    0    0     0    0
  Tommy McAteer           4    4    0    1    0    0    0     0    0    1    0    0     0    0
  Keishiro Miyagi         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Buff Reyes              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Devon Fleishman         2    2    1    0    0    0    0     0    0    1    0    0     0    0
  Batbold Nyamdavaa       1    1    0    1    1    0    0     0    0    0    0    0     0    0
  Damdinsuren Uriankhai    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Khash-Erdene Boldsukh    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Seung-gi Hyun           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kyung-min Yeo           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Saiful Sumareh          3    2    1    0    0    0    0     0    1    1    0    0     0    0
  Salleh Daud             1    0    0    0    0    0    0     0    1    0    0    0     0    0
  Sachin Reddy            2    2    1    2    1    0    0     2    0    0    0    0     0    0
  Jun-seo Kim             2    2    2    1    0    0    0     1    0    1    0    0     0    0
  Bora Ryang              3    2    1    0    0    0    0     0    0    1    1    0     0    0
  Juan Collinsov          3    3    0    0    0    0    0     0    0    3    0    0     0    0
  Stepan Jeffersonov      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ryo Nemoto              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jayden Matias           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Coniah Estrada          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chang-il Kwon           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ao Shiraishi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wallace Hall            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hsuan-yen Chao          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Haru Saida              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nilo Hernandez          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ruslan Zubkov           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sheng-feng Yang         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Stuart Wahab            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Seiichiro Uesugi        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jin-woo Lim             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sang-ho Kang            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rikhard Bashorov        0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Hyun-ki Tak             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rizwan Shah             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 40   36   12   13    7    0    0    12    3   13    1    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Jin-soo Kim            12    3    6    5    3    0    1
  Coniah Estrada          8    6    2    4    2    2    1
  Ruslan Zubkov          10    6    2    3    2    3    0
  Jin-woo Lim             8    8    2    3    1    4    0
  Sang-ho Kang            3    4    0    0    0    0    0

  ============================================================
  LAVRENTIYA POLICE BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Shaq Evans              2    1    1    2    0    0    0     1    1    0    0    1     1    0
  Dashawn Folliardov      3    2    1    0    0    0    0     2    0    1    1    0     0    0
  Ostap Kutepov           4    3    2    1    0    0    1     3    1    1    0    0     0    0
  Nate LeBlanc            2    2    0    1    0    0    0     1    0    0    0    0     0    0
  Aslan Kozyreva          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Semyon Denisov          4    4    0    0    0    0    0     0    0    3    0    0     0    0
  Fabio Kotov             1    0    2    0    0    0    0     0    1    0    0    0     0    0
  Alibek Shnaider         2    1    1    1    0    0    0     1    1    1    0    1     1    0
  Denis Efremova          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ivan Yakovlev           3    2    0    1    0    0    0     1    1    0    0    0     0    0
  Tamatoa Phillips        3    2    2    1    0    0    0     1    1    0    0    0     0    0
  Aslan Podkolzina        3    2    1    1    0    0    0     1    1    0    0    0     0    0
  Quintavius Gallatin     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gregg Green             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Damon Robinson          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Grigori Fayzulin        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Denis Karlovskiy        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Steve Thompson          4    3    2    1    0    0    0     0    0    1    1    0     0    0
  Khalil Fuqua            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Evgueni Pashkova        4    4    2    2    0    0    0     2    0    0    0    0     0    0
  Stanislav Khromacheva    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Andrey Schukin          2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Konstantin Kafelnikov    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Petr Makarova           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Fedor Voskoboeva        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kirill Elgin            4    3    1    2    0    0    0     1    1    1    0    1     1    0
  Nikolay Gromov          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yury Betova             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Taras Kombarov          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jakarrion Lee           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Maciek Peterkin         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Clayton Catonov         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Stepan Pugaev           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Timofey Korolev         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Evgenii Zvereva         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daniil Rogersov         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rowdy Harris            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Anton Vasiliev          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Serhiy Lukashov         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Heorhiy Buyalskyi       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Semyon Sharipov         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Svyatoslav Simakin      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vyacheslav Barinov      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tre Luzhanskin          1    1    0    0    0    0    0     0    0    1    0    0     0    0
  Valeri Glushakov        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 42   32   15   13    0    0    1    14    8    9    2    3     3    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Shaq Evans             31   21   11    9    3    7    0
  Taras Kombarov          9    6    2    3    0    6    1

  ============================================================
  Run rate:  Wellington Baseball Club  0.444    Lavrentiya Police  0.556
  Second-Chance ABs:  Wellington Baseball Club  0    Lavrentiya Police  3
  IBB (Wellington Baseball Club): Malik Tullin; Saiful Sumareh.
  IBB (Lavrentiya Police): Ostap Kutepov.
  Required run rate (Lavrentiya Police): 0.481 R/out (needed 13 runs in 27 outs)
  Seconds: Wellington Baseball Club o26 (12-0)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Sheng-an Su           Hyotaro Ikeda              0  top
  Hyotaro Ikeda         Poy Palacios               1  top
  Poy Palacios          Bora Ryang                 0  top
  Bora Ryang            Junior Spruance            0  top
  Junior Spruance       Saiful Sumareh             0  top
  Saiful Sumareh        Juan Collinsov             0  top
  Juan Collinsov        Tommy McAteer              0  top
  Tommy McAteer         Kanata Fukushima           1  top
  Kanata Fukushima      Poy Palacios               0  top
  Poy Palacios          Rui Long                   0  top
  Rui Long              Tommy McAteer              0  top
  Tommy McAteer         Rui Long                   0  top
  Rui Long              Hyotaro Ikeda              0  top
  Hyotaro Ikeda         Bora Ryang                 3  top
  Bora Ryang            Juan Collinsov             0  top
  Juan Collinsov        Tommy McAteer              3  top
  Tommy McAteer         Rui Long                   1  top
  Rui Long              Devon Fleishman            0  top
  Devon Fleishman       Hyotaro Ikeda              0  top
  Hyotaro Ikeda         Jun-seo Kim                0  top
  Jun-seo Kim           Saiful Sumareh             0  top
  Saiful Sumareh        Juan Collinsov             0  top
  Juan Collinsov        Kanata Fukushima           0  top
  Kanata Fukushima      Tommy McAteer              3  top
  Tommy McAteer         Rui Long                   0  top
  Semyon Denisov        Kirill Elgin               0  bottom
  Kirill Elgin          Nate LeBlanc               3  bottom
  Nate LeBlanc          Semyon Denisov             3  bottom
  Semyon Denisov        Tamatoa Phillips           1  bottom
  Tamatoa Phillips      Ivan Yakovlev              0  bottom
  Ivan Yakovlev         Ostap Kutepov              0  bottom
  Ostap Kutepov         Aslan Podkolzina           1  bottom
  Aslan Podkolzina      Alibek Shnaider            1  bottom
  Alibek Shnaider       Dashawn Folliardov         2  bottom
  Dashawn Folliardov    Kirill Elgin               0  bottom
  Kirill Elgin          Semyon Denisov             0  bottom
  Semyon Denisov        Ostap Kutepov              0  bottom
  Ostap Kutepov         Steve Thompson             0  bottom
  Steve Thompson        Evgueni Pashkova           0  bottom
  Evgueni Pashkova      Quintavius Gallatin        1  bottom
  Quintavius Gallatin   Andrey Schukin             0  bottom
  Andrey Schukin        Ivan Yakovlev              1  bottom
  Ivan Yakovlev         Dashawn Folliardov         0  bottom
  Dashawn Folliardov    Tre Luzhanskin             0  bottom
  Tre Luzhanskin        Aslan Podkolzina           0  bottom
  Aslan Podkolzina      Kirill Elgin               0  bottom
  Kirill Elgin          Semyon Denisov             0  bottom
  Semyon Denisov        Ostap Kutepov              2  bottom
  Ostap Kutepov         Steve Thompson             0  bottom
  Steve Thompson        Evgueni Pashkova           0  bottom
  Evgueni Pashkova      Andrey Schukin             0  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 51  |  Avg runs/partnership: 0.53
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Shaq Evans            top            1   30   20     9    11     3     6     0
  Taras Kombarov        top           31    9    6     3     2     0     6     1
  Jin-soo Kim           bottom         1   12    3     5     6     3     0     1
  Coniah Estrada        bottom        13    8    6     4     2     2     2     1
  Ruslan Zubkov         bottom        22   10    6     3     2     2     3     0
  Jin-woo Lim           bottom        32    8    8     3     2     1     4     0
  Sang-ho Kang          bottom        40    3    4     0     0     0     0     0
  Shaq Evans            seconds_first  1    1    1     0     0     0     1     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 8


pbp_text:
  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Beijing Transit batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Jun Zhu ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [0 outs | 1-1 | empty] CALLED STRIKE
    Strike (called). Count: 1-2.
  [0 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Caleb Ariasov ---
  [1 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [1 outs | 2-0 | empty] BALL IN PLAY
    Caleb Ariasov runs → line out.
    ROBBED! Haziq Abdullah lays out for the diving grab — a hit turned into an out!
    Caleb Ariasov is out.
  --- Now batting: Kenji Kitagawa ---
  [2 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [2 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [2 outs | 2-1 | empty] CALLED STRIKE
    Strike (called). Count: 2-2.
  [2 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [2 outs | 2-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sabri Shafie ---
  [3 outs | 0-0 | empty] BALL IN PLAY
    Sabri Shafie runs → line out.
    Sabri Shafie is out.
  --- Now batting: Hung-wen Chan ---
  [4 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [4 outs | 2-0 | empty] BALL IN PLAY
    Hung-wen Chan runs → line out.
    Hung-wen Chan is out.
  --- Now batting: Gastón Delgado ---
  [5 outs | 0-0 | empty] BALL IN PLAY
    Gastón Delgado runs → single.
  --- Now batting: Kaichi Hasebe ---
  [5 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Geron Onoh ---
  [5 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [5 outs | 2-0 | 1B, 2B] BALL IN PLAY
    Geron Onoh runs → single.
    Runner at 2B thrown out.
    Runner advances from 1B to 3B.
  [6 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Beijing Transit sends in joker Jong-ho Tak for an extra plate appearance (joker #1).
  --- Now batting: Jong-ho Tak ---
  [6 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [6 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [6 outs | 1-1 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [6 outs | 1-2 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Dmitry Myskina [P] ---
  [7 outs | 0-0 | 1B, 3B] SAC BUNT
  --- Now batting: Jun Zhu ---
  [8 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Jun Zhu given a free pass.
  --- Now batting: Caleb Ariasov ---
  [8 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [8 outs | 0-2 | 1B, 2B] BALL
    Ball 1. Count: 1-2.
  [8 outs | 1-2 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kenji Kitagawa ---
  [9 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 1B, 2B] FOUL
    Foul ball. Count: 1-1.
  [9 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [9 outs | 2-1 | 1B, 2B] BALL IN PLAY
    Kenji Kitagawa runs → double.
    Runner advances from 2B to 3B.
    Runner scores from 1B.
  --- Now batting: Sabri Shafie ---
  [9 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [9 outs | 1-1 | 2B, 3B] BALL IN PLAY
    Sabri Shafie runs → ground out.
    Sabri Shafie is out.
  [10 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Beijing Transit sends in joker Yong Hyon for an extra plate appearance (joker #2).
  --- Now batting: Yong Hyon ---
  [10 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Yong Hyon given a free pass.
  [10 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Beijing Transit sends in joker Yusuf Tamano for an extra plate appearance (joker #3).
  [10 outs | 0-0 | 1B, 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Yusuf Tamano ---
  [11 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Yusuf Tamano runs → fly out.
    Yusuf Tamano is out.
  --- Now batting: Hung-wen Chan ---
  [12 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [12 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Hung-wen Chan runs → double.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Gastón Delgado ---
  [12 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Gastón Delgado runs → fly out.
    Gastón Delgado is out.
  --- Now batting: Kaichi Hasebe ---
  [13 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [13 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Kaichi Hasebe runs → error.
    Runner at 2B thrown out.
  --- Now batting: Geron Onoh ---
  [14 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [14 outs | 0-2 | 1B, 3B] BALL
    Ball 1. Count: 1-2.
  [14 outs | 1-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [15 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Beijing Transit sends in joker Jong-ho Tak for an extra plate appearance (joker #4).
  --- Now batting: Jong-ho Tak ---
  [15 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 1B, 3B] BALL IN PLAY
    Jong-ho Tak runs → single.
    Runner advances from 1B to 2B.
  [15 outs | 0-0 | 1B, 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  --- Now batting: Dmitry Myskina [P] ---
  [15 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [15 outs | 2-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 2-1.
  [15 outs | 2-1 | 2B, 3B] BALL IN PLAY
    Dmitry Myskina runs → double.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [15 outs | 0-0 | 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    1 run(s) score.
  --- Now batting: Jun Zhu ---
  [15 outs | 0-0 | 3B] BALL IN PLAY
    Jun Zhu runs → single.
  [15 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Beijing Transit sends in joker Yong Hyon for an extra plate appearance (joker #5).
  --- Now batting: Yong Hyon ---
  [15 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [15 outs | 2-0 | 1B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [16 outs | 2-0 | 3B] BALL
    Ball 3. Count: 3-0.
  [16 outs | 3-0 | 3B] BALL IN PLAY
    Yong Hyon runs → single.
  --- Now batting: Caleb Ariasov ---
  [16 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [16 outs | 0-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [16 outs | 0-2 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [16 outs | 0-2 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kenji Kitagawa ---
  [17 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Kenji Kitagawa runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Sabri Shafie ---
  [17 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [17 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Sabri Shafie takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [17 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [17 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [17 outs | 0-2 | 2B, 3B] BALL IN PLAY
    Sabri Shafie runs → fly out.
    Sabri Shafie is out.
  [18 outs | 0-0 | 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Willie Reyes exits (25 BF this spell).
  --- Now batting: Hung-wen Chan ---
  [18 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [18 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Hung-wen Chan takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
  [19 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Hung-wen Hsiung replaces Jejomar Chan at 3B.
  --- Now batting: Gastón Delgado ---
  [19 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [19 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Gastón Delgado takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [19 outs | 0-2 | 3B] BALL
    Ball 1. Count: 1-2.
  [19 outs | 1-2 | 3B] FOUL
    Foul ball. Count: 1-2.
  [19 outs | 1-2 | 3B] BALL IN PLAY
    Gastón Delgado runs → ground out.
    Gastón Delgado is out.
  --- Now batting: Kaichi Hasebe ---
  [20 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [20 outs | 1-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [20 outs | 1-2 | 3B] BALL IN PLAY
    Kaichi Hasebe runs → single.
    Runner at 3B thrown out.
  --- Now batting: Geron Onoh ---
  [21 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [21 outs | 2-0 | 1B] FOUL
    Foul ball. Count: 2-1.
  [21 outs | 2-1 | 1B] BALL IN PLAY
    Geron Onoh runs → fly out.
    Geron Onoh is out.
  [22 outs | 0-0 | 1B] JOKER INSERTION
    Beijing Transit sends in joker Yusuf Tamano for an extra plate appearance (joker #6).
  --- Now batting: Yusuf Tamano ---
  [22 outs | 0-0 | 1B] BALL IN PLAY
    Yusuf Tamano runs → fly out.
    Yusuf Tamano is out.
  [23 outs | 0-0 | 1B] JOKER INSERTION
    Beijing Transit sends in joker Jong-ho Tak for an extra plate appearance (joker #7).
  --- Now batting: Jong-ho Tak ---
  [23 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [23 outs | 0-1 | 1B] BALL IN PLAY
    Jong-ho Tak runs → double.
    Runner advances from 1B to 3B.
  --- Now batting: Dmitry Myskina [P] ---
  [23 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [23 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [23 outs | 1-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [23 outs | 1-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Jun Zhu ---
  [24 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Jun Zhu runs → line out.
    Jun Zhu is out.
  --- Now batting: Caleb Ariasov ---
  [25 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [25 outs | 2-0 | 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [25 outs | 3-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [25 outs | 3-1 | 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [25 outs | 3-2 | 2B, 3B] BALL
    WALK — Caleb Ariasov awarded 1B.
  --- Now batting: Kenji Kitagawa ---
  [25 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [25 outs | 0-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [25 outs | 0-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sabri Shafie ---
  [26 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [26 outs | 0-1 | 1B, 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 2B!

  End of bottom half — Beijing Transit: 8 run(s), 14 hit(s), 27 out(s) | Run rate: 0.296
  ============================================================
  HALFTIME
    Tokyo Falcons: 0 run(s)
    Beijing Transit need 1 run(s) to win
    Required run rate: 0.037 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  TOP HALF | Tokyo Falcons batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Tristan Panya ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [0 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [0 outs | 3-1 | empty] BALL
    WALK — Tristan Panya awarded 1B.
  --- Now batting: Ji-min Moon ---
  [0 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [0 outs | 3-0 | 1B] BALL IN PLAY
    Ji-min Moon runs → double.
    Runner advances from 1B to 3B.
  --- Now batting: Prakash Ngin ---
  [0 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Prakash Ngin runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
  --- Now batting: Kyi Naing ---
  [0 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Kyung-min Jeong ---
  [1 outs | 0-0 | 2B] BALL IN PLAY
    Kyung-min Jeong runs → fly out.
    Kyung-min Jeong is out.
  [2 outs | 0-0 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  --- Now batting: Dawei Meng ---
  [2 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [2 outs | 2-0 | 3B] BALL
    Ball 3. Count: 3-0.
  [2 outs | 3-0 | 3B] BALL
    WALK — Dawei Meng awarded 1B.
  --- Now batting: Hung-wen Hsiung ---
  [2 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [2 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [2 outs | 2-1 | 1B, 3B] FOUL
    Foul ball. Count: 2-2.
  [2 outs | 2-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Byung-ho Tak ---
  [3 outs | 0-0 | 1B, 3B] SAC BUNT
  --- Now batting: Willie Reyes [P] ---
  [4 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [4 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [4 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Tristan Panya ---
  [5 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [5 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [5 outs | 3-0 | 2B] BALL IN PLAY
    Tristan Panya runs → fly out.
    ROBBED! Benjamin Rabanal runs it down — a sure extra-base hit erased!
    Tristan Panya is out.
  --- Now batting: Ji-min Moon ---
  [6 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [6 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [6 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [6 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [6 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [6 outs | 2-2 | 2B] FOUL
    Foul ball. Count: 2-2.
  [6 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [6 outs | 3-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Prakash Ngin ---
  [7 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Prakash Ngin given a free pass.
  [7 outs | 0-0 | 1B, 2B] PICKOFF ATTEMPT
    Pickoff — runner out at 2B!
  --- Now batting: Kyi Naing ---
  [8 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [8 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 1B] BALL IN PLAY
    Kyi Naing runs → double.
    Runner scores from 1B.
  --- Now batting: Kyung-min Jeong ---
  [8 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 2B] FOUL
    Foul ball. Count: 1-1.
  [8 outs | 1-1 | 2B] BALL IN PLAY
    Kyung-min Jeong runs → line out.
    Kyung-min Jeong is out.
  --- Now batting: Dawei Meng ---
  [9 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Dawei Meng given a free pass.
  --- Now batting: Hung-wen Hsiung ---
  [9 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [9 outs | 2-0 | 1B, 2B] BALL IN PLAY
    Hung-wen Hsiung runs → HOME RUN.
    Runner scores.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Hung-wen Hsiung retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Saturn.]
  [9 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Dmitry Myskina exits (15 BF this spell).
  --- Now batting: Byung-ho Tak ---
  [9 outs | 0-0 | 3B] BALL IN PLAY
    Byung-ho Tak runs → single.
    Runner scores from 3B.
  --- Now batting: Willie Reyes [P] ---
  [9 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Tristan Panya ---
  [10 outs | 0-0 | 2B] BALL IN PLAY
    Tristan Panya runs → fly out.
    Tristan Panya is out.
  --- Now batting: Ji-min Moon ---
  [11 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Ji-min Moon given a free pass.
  --- Now batting: Prakash Ngin ---
  [11 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [11 outs | 0-1 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | 1B, 2B] BALL IN PLAY
    Prakash Ngin runs → fly out.
    Prakash Ngin is out.
  [12 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Hyun-jin Hyun pinch-runs for Byung-ho Tak at 2B.
  --- Now batting: Kyi Naing ---
  [12 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Kyi Naing runs → double.
    Runner scores from 2B.
    Runner scores from 1B.

  End of top half — Tokyo Falcons: 10 run(s), 6 hit(s), 12 out(s) | Run rate: 0.833

  ============================================================
  GAME OVER: TOKYO FALCONS WIN 10–8
  ============================================================
  Final score: Tokyo Falcons 10, Beijing Transit 8
  ============================================================
  LINE SCORE
                          1      R
  Tokyo Falcons          10     10
  Beijing Transit         8      8

  ============================================================
  TOKYO FALCONS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Willie Reyes            2    1    0    0    0    0    0     0    0    1    0    0     0    0
  Hajime Ishiguro         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Prakash Ngin            3    2    2    1    1    0    0     2    1    0    0    0     0    0
  Billy Subhash           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ji-min Moon             3    2    2    1    1    0    0     0    1    0    0    0     0    0
  Dawei Meng              2    0    1    0    0    0    0     0    2    0    0    0     0    0
  Haziq Abdullah          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kyung-min Jeong         2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Keisuke Tamada          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Manabu Hamano           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Marlon Rivera           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hung-wen Hsiung         2    2    2    1    0    0    1     3    0    1    0    0     0    0
  Byung-ho Tak            2    1    0    1    0    0    0     2    0    0    0    0     0    0
  Devan Thangavelu        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jejomar Chan            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tae-woo Tak             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Po-jung Wu              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joji Nagatomo           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hyun-jin Hyun           0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Jared Dysart            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yu Kuroda               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dion Rashid             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joaquin Harvey          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kyi Naing               3    3    1    2    2    0    0     3    0    0    0    0     0    0
  Tristan Panya           3    2    1    0    0    0    0     0    1    0    0    0     0    0
  Sung-jin Sun            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hyun-woo Han            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mohamadou Tahir         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Romeo Velasco           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Keishiro Oka            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jarvis Mitchell         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alfred Clappov          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sung-min Lim            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Min-gyu Kim             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ye-jun Koo              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Min-gyu Yoon            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Phong Duong             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kai-wei Chiang          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Byung-hoon Ryu          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Franklin Debuchy        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Manabu Murakami         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Adhithya Vest           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dong-won Sung           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 22   15   10    6    4    0    1    10    5    2    0    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Willie Reyes           25   18   10    7    2    6    0
  Phong Duong            10    9    3    1    1    2    0

  ============================================================
  BEIJING TRANSIT BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Dmitry Myskina          3    2    1    1    1    0    0     2    0    1    0    0     0    0
  Geron Onoh              3    3    1    1    0    0    0     0    0    1    0    0     0    0
  Otgonbayar Khalkh       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  John Gokongwei          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hung-wen Chan           3    3    0    1    1    0    0     1    0    0    0    0     0    0
  Kaichi Hasebe           3    3    2    2    0    0    0     0    0    0    0    0     0    0
  Sabri Shafie            3    3    0    1    0    0    0     1    0    0    0    1     1    0
  Jun Zhu                 4    3    1    1    0    0    0     0    1    1    0    0     0    0
  Chih-wei Chang          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jong-ho Tak             3    3    1    2    1    0    0     0    0    1    0    0     0    0
  Yusuf Tamano            2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Yong Hyon               2    1    1    1    0    0    0     0    1    0    0    0     0    0
  Tzu-chiang Chung        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Osamu Konno             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  James Yu                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gastón Delgado          3    3    0    2    0    0    0     1    0    0    0    1     1    0
  Xavier Avants           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Somphone Vongphakdy     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Felipe Roman            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Naidu Selvanathan       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Quincy Shurtleffov      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Masanosuke Akaho        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Benjamin Rabanal        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Caleb Ariasov           4    3    0    0    0    0    0     0    1    2    0    0     0    0
  Kenji Kitagawa          4    4    1    2    1    0    0     1    0    2    0    0     0    0
  Jae-hyun Kang           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yung-chi Chung          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Song-chol Min           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hai Ding                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kengo Takahashi         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Min-jun Kang            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sora Kato               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tsuyoshi Hosoya         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nestor Abellana         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hubertus Zamorin        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Isao Mizushima          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ganbold Batbayar        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jae-yong Choi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Haoyu Du                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dante Bailin            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Denesh Ramcharan        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Asaad Walker            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Keat Ng                 0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yuan-hao Tsao           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 37   33    8   14    4    0    0     6    3    8    0    2     2    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Dmitry Myskina         15    9    4    7    4    2    0
  Tsuyoshi Hosoya         5    3    2    3    1    0    0

  ============================================================
  Run rate:  Tokyo Falcons  0.370    Beijing Transit  0.296
  Second-Chance ABs:  Tokyo Falcons  0    Beijing Transit  2
  IBB (Tokyo Falcons): Prakash Ngin; Ji-min Moon; Dawei Meng.
  IBB (Beijing Transit): Jun Zhu; Yong Hyon.
  Required run rate (Beijing Transit): 0.037 R/out (needed 1 runs in 27 outs)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Jun Zhu               Caleb Ariasov              0  bottom
  Caleb Ariasov         Kenji Kitagawa             0  bottom
  Kenji Kitagawa        Sabri Shafie               0  bottom
  Sabri Shafie          Hung-wen Chan              0  bottom
  Hung-wen Chan         Gastón Delgado             0  bottom
  Gastón Delgado        Jong-ho Tak                0  bottom
  Jong-ho Tak           Dmitry Myskina             1  bottom
  Dmitry Myskina        Caleb Ariasov              0  bottom
  Caleb Ariasov         Sabri Shafie               1  bottom
  Sabri Shafie          Yong Hyon                  0  bottom
  Yong Hyon             Yusuf Tamano               0  bottom
  Yusuf Tamano          Gastón Delgado             1  bottom
  Gastón Delgado        Hung-wen Chan              0  bottom
  Hung-wen Chan         Geron Onoh                 0  bottom
  Geron Onoh            Jun Zhu                    3  bottom
  Jun Zhu               Caleb Ariasov              0  bottom
  Caleb Ariasov         Sabri Shafie               1  bottom
  Sabri Shafie          Hung-wen Chan              0  bottom
  Hung-wen Chan         Gastón Delgado             1  bottom
  Gastón Delgado        Kenji Kitagawa             0  bottom
  Kenji Kitagawa        Geron Onoh                 0  bottom
  Geron Onoh            Yusuf Tamano               0  bottom
  Yusuf Tamano          Dmitry Myskina             0  bottom
  Dmitry Myskina        Jun Zhu                    0  bottom
  Jun Zhu               Kenji Kitagawa             0  bottom
  Kenji Kitagawa        Jong-ho Tak                0  bottom
  Kyi Naing             Kyung-min Jeong            2  top
  Kyung-min Jeong       Hung-wen Hsiung            0  top
  Hung-wen Hsiung       Byung-ho Tak               1  top
  Byung-ho Tak          Willie Reyes               0  top
  Willie Reyes          Tristan Panya              0  top
  Tristan Panya         Ji-min Moon                0  top
  Ji-min Moon           Dawei Meng                 0  top
  Dawei Meng            Kyung-min Jeong            1  top
  Kyung-min Jeong       Willie Reyes               4  top
  Willie Reyes          Tristan Panya              0  top
  Tristan Panya         Prakash Ngin               0  top
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 37  |  Avg runs/partnership: 0.43
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Willie Reyes          bottom         1   25   18     7    10     2     6     0
  Phong Duong           bottom        28   10    9     1     3     1     2     0
  Dmitry Myskina        top            1   15    9     7     4     4     2     0
  Tsuyoshi Hosoya       top           17    5    3     3     2     1     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 4


pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Osaka Storms batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Shintaro Hamada ---
  [0 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [0 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [0 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [0 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [0 outs | 2-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Eun-woo Jeong ---
  [1 outs | 0-0 | empty] INTENTIONAL WALK
    INTENTIONAL WALK — Eun-woo Jeong given a free pass.
  [1 outs | 0-0 | 1B] PINCH RUNNER
    Yu-cheng Cheng pinch-runs for Eun-woo Jeong at 1B.
  --- Now batting: Yosuke Kidowaki ---
  [1 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [1 outs | 0-2 | 1B] FOUL
    Foul ball. Count: 0-2.
  [1 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [1 outs | 1-2 | 1B] FOUL
    Foul ball. Count: 1-2.
  [1 outs | 1-2 | 1B] FOUL OUT
    Foul ball. Count: 0-0.
  [2 outs | 0-0 | 1B] PINCH HITTER
    Damdinsuren Chinbat pinch-hits for Antony Oliveira.
  --- Now batting: Damdinsuren Chinbat ---
  [2 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [2 outs | 0-1 | 1B] BALL IN PLAY
    Damdinsuren Chinbat runs → fly out.
    Damdinsuren Chinbat is out.
  --- Now batting: Jong-su Ryu ---
  [3 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [3 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Min-jun Ha ---
  [4 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  [5 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [5 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [5 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [5 outs | 3-1 | empty] BALL IN PLAY
    Min-jun Ha runs → single.
  [5 outs | 0-0 | 1B] PINCH RUNNER
    Yang Seah pinch-runs for Min-jun Ha at 1B.
  [5 outs | 0-0 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  --- Now batting: Satoshi Muramatsu ---
  [5 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [5 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [5 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kim Gravenberch ---
  [6 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [6 outs | 0-1 | 3B] BALL IN PLAY
    Kim Gravenberch runs → fielder's choice.
    Runner at 3B thrown out.
  [7 outs | 0-0 | 1B] JOKER INSERTION
    Osaka Storms sends in joker Yasuhito Hasebe for an extra plate appearance (joker #1).
  [7 outs | 0-0 | 1B] PINCH RUNNER
    Yudai Mizuno pinch-runs for Kim Gravenberch at 1B.
  --- Now batting: Yasuhito Hasebe ---
  [7 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [7 outs | 1-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [7 outs | 1-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [8 outs | 0-0 | 1B] JOKER INSERTION
    Osaka Storms sends in joker Joaquín Ramirez for an extra plate appearance (joker #2).
  --- Now batting: Joaquín Ramirez ---
  [8 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B] BALL IN PLAY
    Joaquín Ramirez runs → infield single.
    Runner advances from 1B to 2B.
  [8 outs | 0-0 | 2B] JOKER INSERTION
    Osaka Storms sends in joker Samuel Freedman for an extra plate appearance (joker #3).
  --- Now batting: Samuel Freedman ---
  [8 outs | 0-0 | 2B] BALL IN PLAY
    Samuel Freedman runs → line out.
    Samuel Freedman is out.
  --- Now batting: Thaksin Boonyasak [P] ---
  [9 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Thaksin Boonyasak given a free pass.
  [9 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Yūki Tominaga pinch-runs for Thaksin Boonyasak at 1B.
  --- Now batting: Shintaro Hamada ---
  [9 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Shintaro Hamada runs → single.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  [10 outs | 0-0 | 1B, 2B] PINCH HITTER
    Han-gyul Ko pinch-hits for Yu-cheng Cheng.
  [10 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Osaka Storms sends in joker Yasuhito Hasebe for an extra plate appearance (joker #4).
  [10 outs | 0-0 | 1B, 2B] PINCH HITTER
    Levar Adams pinch-hits for Yasuhito Hasebe.
  --- Now batting: Yasuhito Hasebe ---
  [10 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [10 outs | 0-1 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [10 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Yasuhito Hasebe takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
  [11 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Osaka Storms sends in joker Joaquín Ramirez for an extra plate appearance (joker #5).
  [11 outs | 0-0 | 2B, 3B] PINCH RUNNER
    Ji-sung Ahn pinch-runs for Shintaro Hamada at 2B.
  --- Now batting: Joaquín Ramirez ---
  [11 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [11 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [11 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [11 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [11 outs | 2-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [12 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Osaka Storms sends in joker Samuel Freedman for an extra plate appearance (joker #6).
  --- Now batting: Samuel Freedman ---
  [12 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Samuel Freedman given a free pass.
  [12 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Yong-su Ri pinch-hits for Levar Adams.
  [12 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Yukinari Endo pinch-hits for Yong-su Ri.
  [12 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Marcus Cannonov pinch-runs for Ji-sung Ahn at 2B.
  --- Now batting: Yukinari Endo ---
  [12 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [12 outs | 0-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [13 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Bao Wang pinch-runs for Marcus Cannonov at 2B.
  [13 outs | 0-0 | 1B, 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  --- Now batting: Yosuke Kidowaki ---
  [13 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [13 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [14 outs | 0-0 | 2B, 3B] PINCH RUNNER
    Yong Choe pinch-runs for Bao Wang at 3B.
  --- Now batting: Damdinsuren Chinbat ---
  [14 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 2B, 3B] FOUL
    Foul ball. Count: 1-1.
  [14 outs | 1-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [14 outs | 1-2 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [14 outs | 1-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [15 outs | 0-0 | 2B, 3B] PINCH RUNNER
    Ritsu Masuda pinch-runs for Yong Choe at 3B.
  --- Now batting: Jong-su Ryu ---
  [15 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Jong-su Ryu runs → single.
    Runner at 3B thrown out.
    Runner scores from 2B.
  [17 outs | 0-0 | 1B] DEFENSIVE SWAP
    Roberto Grez comes in for Yang Seah (defensive swap).
  --- Now batting: Roberto Grez ---
  [17 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [17 outs | 2-0 | 1B] BALL IN PLAY
    Roberto Grez runs → ground out.
    Roberto Grez is out.
    Runner advances from 1B to 2B.
  --- Now batting: Satoshi Muramatsu ---
  [18 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [18 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [18 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [18 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [18 outs | 1-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Yudai Mizuno ---
  [19 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Yudai Mizuno given a free pass.
  [19 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Kingman Lloyd replaces Davion Appiah at C.
  --- Now batting: Yūki Tominaga ---
  [19 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Yūki Tominaga runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [19 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Osaka Storms sends in joker Yasuhito Hasebe for an extra plate appearance (joker #7).
  --- Now batting: Yasuhito Hasebe ---
  [19 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Yasuhito Hasebe runs → error.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Ritsu Masuda ---
  [19 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [19 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [19 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [19 outs | 2-1 | 1B, 2B, 3B] BALL IN PLAY
    Ritsu Masuda takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  [20 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Osaka Storms sends in joker Joaquín Ramirez for an extra plate appearance (joker #8).
  --- Now batting: Joaquín Ramirez ---
  [20 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Joaquín Ramirez takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [20 outs | 1-1 | 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    1 run(s) score.
  [20 outs | 1-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [20 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [20 outs | 2-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [21 outs | 0-0 | empty] JOKER INSERTION
    Osaka Storms sends in joker Samuel Freedman for an extra plate appearance (joker #9).
  --- Now batting: Samuel Freedman ---
  [21 outs | 0-0 | empty] BALL IN PLAY
    Samuel Freedman runs → single.
  --- Now batting: Yukinari Endo ---
  [21 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [21 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [21 outs | 0-2 | 1B] BALL IN PLAY
    Yukinari Endo runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Yosuke Kidowaki ---
  [21 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [21 outs | 2-0 | 1B, 2B] BALL
    Ball 3. Count: 3-0.
  [21 outs | 3-0 | 1B, 2B] BALL IN PLAY
    Yosuke Kidowaki runs → double.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  --- Now batting: Damdinsuren Chinbat ---
  [21 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Damdinsuren Chinbat runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [21 outs | 0-0 | 1B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Mykah Waite exits (31 BF this spell).
  --- Now batting: Jong-su Ryu ---
  [21 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [21 outs | 0-1 | 1B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  [21 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [21 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [21 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [21 outs | 1-2 | 2B] BALL IN PLAY
    Jong-su Ryu runs → fly out.
    Jong-su Ryu is out.
  --- Now batting: Roberto Grez ---
  [22 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [22 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [22 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [22 outs | 1-2 | 2B] BALL IN PLAY
    Roberto Grez runs → error.
    Runner advances from 2B to 3B.
  --- Now batting: Satoshi Muramatsu ---
  [22 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [22 outs | 1-1 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [22 outs | 1-2 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [22 outs | 1-2 | 1B, 3B] BALL
    Ball 2. Count: 2-2.
  [22 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [22 outs | 3-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Yudai Mizuno ---
  [23 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Yudai Mizuno runs → ground out.
    Yudai Mizuno is out.
    Runner advances from 1B to 2B.
  --- Now batting: Yūki Tominaga ---
  [24 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Yūki Tominaga runs → double play.
    Yūki Tominaga is out.
    Runner at 2B thrown out.
  --- Now batting: Ritsu Masuda ---
  [26 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [26 outs | 1-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [26 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [26 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [26 outs | 3-1 | 3B] FOUL
    Foul ball. Count: 3-2.
  [26 outs | 3-2 | 3B] BALL IN PLAY
    Ritsu Masuda runs → single.
    Runner at 3B thrown out.

  End of top half — Osaka Storms: 8 run(s), 11 hit(s), 27 out(s) | Run rate: 0.296
  ============================================================
  HALFTIME
    Osaka Storms: 8 run(s)
    Shenzhen Knights need 9 run(s) to win
    Required run rate: 0.333 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Shenzhen Knights batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Dramarian Velazquezov ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | empty] HIT BY PITCH
    HBP — Dramarian Velazquezov awarded 1B.
  --- Now batting: Tae-yang Song ---
  [0 outs | 0-0 | 1B] BALL IN PLAY
    Tae-yang Song runs → single.
    Runner advances from 1B to 2B.
  [0 outs | 0-0 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  --- Now batting: Masahiko Yonezawa ---
  [0 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [0 outs | 0-2 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | 1B, 3B] BALL IN PLAY
    Masahiko Yonezawa runs → single.
    Runner at 3B thrown out.
    Runner scores from 1B.
  --- Now batting: Akira Miura ---
  [2 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Takao Tanaka ---
  [3 outs | 0-0 | 2B] BALL IN PLAY
    Takao Tanaka runs → single.
    Runner scores from 2B.
  [3 outs | 0-0 | 1B] JOKER INSERTION
    Shenzhen Knights sends in joker Chia-hsien Hsu for an extra plate appearance (joker #1).
  --- Now batting: Chia-hsien Hsu ---
  [3 outs | 0-0 | 1B] BALL IN PLAY
    Chia-hsien Hsu runs → double.
    Runner scores from 1B.
  [3 outs | 0-0 | 2B] JOKER INSERTION
    Shenzhen Knights sends in joker Yung-chi Su for an extra plate appearance (joker #2).
  --- Now batting: Yung-chi Su ---
  [3 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Kingman Lloyd ---
  [4 outs | 0-0 | 2B] BALL IN PLAY
    Kingman Lloyd runs → fly out.
    Kingman Lloyd is out.
  --- Now batting: Isao Kinoshita ---
  [5 outs | 0-0 | 2B] BALL IN PLAY
    Isao Kinoshita runs → line out.
    Isao Kinoshita is out.
  --- Now batting: Faisal Pendatun ---
  [6 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 2B] FOUL
    Foul ball. Count: 1-1.
  [6 outs | 1-1 | 2B] BALL IN PLAY
    Faisal Pendatun runs → double play.
    Faisal Pendatun is out.
    Runner at 2B thrown out.
  --- Now batting: Mykah Waite [P] ---
  [8 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | empty] BALL IN PLAY
    Mykah Waite runs → double.
  [8 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Thaksin Boonyasak exits (10 BF this spell).
  --- Now batting: Dramarian Velazquezov ---
  [8 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [8 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [8 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [8 outs | 2-2 | 2B] FOUL
    Foul ball. Count: 2-2.
  [8 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [8 outs | 3-2 | 2B] BALL
    WALK — Dramarian Velazquezov awarded 1B.
  --- Now batting: Tae-yang Song ---
  [8 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [8 outs | 1-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Masahiko Yonezawa ---
  [9 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [9 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Masahiko Yonezawa runs → fly out.
    Masahiko Yonezawa is out.
    Runner at 3B thrown out.
  --- Now batting: Akira Miura ---
  [11 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [11 outs | 1-1 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [11 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [11 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [11 outs | 3-1 | 3B] BALL
    WALK — Akira Miura awarded 1B.
  --- Now batting: Takao Tanaka ---
  [11 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Takao Tanaka runs → fly out.
    Takao Tanaka is out.
  --- Now batting: Kingman Lloyd ---
  [12 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [12 outs | 0-1 | 1B, 3B] HIT BY PITCH
    HBP — Kingman Lloyd awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Isao Kinoshita ---
  [12 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Isao Kinoshita runs → ground out.
    Isao Kinoshita is out.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Faisal Pendatun ---
  [13 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Faisal Pendatun given a free pass.
  --- Now batting: Mykah Waite [P] ---
  [13 outs | 0-0 | 1B, 2B, 3B] SAC BUNT
  --- Now batting: Dramarian Velazquezov ---
  [13 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [13 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Dramarian Velazquezov runs → ground out.
    Dramarian Velazquezov is out.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  [14 outs | 0-0 | 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Chan-ho Yang exits (9 BF this spell).
  --- Now batting: Tae-yang Song ---
  [14 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [14 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [14 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [14 outs | 0-2 | 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Masahiko Yonezawa ---
  [15 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Masahiko Yonezawa runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Akira Miura ---
  [15 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Akira Miura runs → double play.
    Akira Miura is out.
    Runner scores from 3B.
    Runner at 1B thrown out.
  --- Now batting: Takao Tanaka ---
  [17 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [17 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [17 outs | 1-1 | empty] BALL IN PLAY
    Takao Tanaka runs → single.
  [17 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Farhan Abdullah exits (4 BF this spell).
  [17 outs | 0-0 | 1B] JOKER INSERTION
    Shenzhen Knights sends in joker Chia-hsien Hsu for an extra plate appearance (joker #3).
  --- Now batting: Chia-hsien Hsu ---
  [17 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [17 outs | 2-0 | 1B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [17 outs | 2-1 | 1B] FOUL
    Foul ball. Count: 2-2.
  [17 outs | 2-2 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  [17 outs | 2-2 | 2B] FOUL
    Foul ball. Count: 2-2.
  [17 outs | 2-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  [18 outs | 0-0 | 2B] JOKER INSERTION
    Shenzhen Knights sends in joker Yung-chi Su for an extra plate appearance (joker #4).
  --- Now batting: Yung-chi Su ---
  [18 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [18 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [18 outs | 1-1 | 2B] BALL IN PLAY
    Yung-chi Su runs → double.
    Runner advances from 2B to 3B.
  [18 outs | 0-0 | 2B, 3B] PINCH HITTER
    Kei Mori pinch-hits for Kingman Lloyd.
  --- Now batting: Kei Mori ---
  [18 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [18 outs | 2-0 | 2B, 3B] BALL IN PLAY
    Kei Mori runs → double.
    Runner scores from 3B.
    Runner at 2B thrown out.
  --- Now batting: Isao Kinoshita ---
  [19 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [19 outs | 0-1 | 2B] BALL IN PLAY
    Isao Kinoshita runs → line out.
    Isao Kinoshita is out.
  --- Now batting: Faisal Pendatun ---
  [20 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Faisal Pendatun given a free pass.
  [20 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Bongbong Blatche pinch-runs for Faisal Pendatun at 1B.
  --- Now batting: Mykah Waite [P] ---
  [20 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [20 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [20 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [20 outs | 2-1 | 1B, 2B] BALL
    Ball 3. Count: 3-1.
  [20 outs | 3-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [20 outs | 3-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [21 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Sei Hotta pinch-runs for Kei Mori at 2B.
  --- Now batting: Dramarian Velazquezov ---
  [21 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Dramarian Velazquezov runs → line out.
    Dramarian Velazquezov is out.
  --- Now batting: Tae-yang Song ---
  [22 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [22 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [22 outs | 0-2 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [23 outs | 0-0 | 1B, 2B] PINCH HITTER
    Ho-seok Park pinch-hits for Masahiko Yonezawa.
  [23 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Shenzhen Knights sends in joker Chia-hsien Hsu for an extra plate appearance (joker #5).
  --- Now batting: Chia-hsien Hsu ---
  [23 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Chia-hsien Hsu runs → single.
    Runner advances from 2B to 3B.
    Runner at 1B thrown out.
  [24 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Shenzhen Knights sends in joker Yung-chi Su for an extra plate appearance (joker #6).
  --- Now batting: Yung-chi Su ---
  [24 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 1B, 3B] BALL IN PLAY
    Yung-chi Su runs → fly out.
    Yung-chi Su is out.
    Runner scores from 3B.

  End of bottom half — Shenzhen Knights: 9 run(s), 11 hit(s), 25 out(s) | Run rate: 0.360

  ============================================================
  GAME OVER: SHENZHEN KNIGHTS WIN 9–8
  ============================================================
  Final score: Shenzhen Knights 9, Osaka Storms 8
  ============================================================
  LINE SCORE
                          1      R
  Osaka Storms            8      8
  Shenzhen Knights        9      9

  ============================================================
  OSAKA STORMS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Thaksin Boonyasak       1    0    0    0    0    0    0     0    1    0    0    0     0    0
  Damdinsuren Chinbat     3    3    0    1    0    0    0     1    0    1    0    0     0    0
  Yudai Mizuno            2    1    1    0    0    0    0     0    1    0    0    0     0    0
  Han-gyul Ko             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Levar Adams             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jong-su Ryu             3    3    1    1    0    0    0     0    0    0    0    0     0    0
  Yong-su Ri              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Antony Oliveira         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shintaro Hamada         2    2    0    1    0    0    0     0    0    0    0    0     0    0
  Samuel Freedman         3    2    1    1    0    0    0     0    1    0    0    0     0    0
  Yasuhito Hasebe         3    3    1    0    0    0    0     1    0    1    0    0     0    0
  Joaquín Ramirez         3    3    0    2    0    0    0     1    0    2    0    1     1    0
  Ji-sung Ahn             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yosuke Kidowaki         3    3    1    1    1    0    0     1    0    1    0    0     0    0
  Yukinari Endo           2    2    1    1    0    0    0     0    0    1    0    0     0    0
  Bao Wang                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yūki Tominaga           2    2    2    1    0    0    0     0    0    0    0    0     0    0
  Satoshi Muramatsu       3    3    0    0    0    0    0     0    0    3    0    0     0    0
  Yu-cheng Cheng          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ritsu Masuda            2    2    0    1    0    0    0     1    0    0    0    0     0    0
  Roberto Grez            2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Yang Seah               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Eun-woo Jeong           1    0    0    0    0    0    0     0    1    0    0    0     0    0
  Min-jun Ha              1    1    0    1    0    0    0     0    0    0    0    0     0    0
  Marcus Cannonov         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yong Choe               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kosei Tsujino           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vance Cronk             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lorenzo Gregorio        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gary Tabios             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Farhan Abdullah         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Imran Mohd              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daisuke Kagawa          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chan-ho Yang            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Min-soo Tak             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ngân Duong              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shayne Darmawan         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chong Lim               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Geon-woo Park           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Khải Oanh               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jong-ho Ko              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ethan Jacquet           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kim Gravenberch         1    1    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 37   33    8   11    1    0    0     5    4    9    0    1     1    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Thaksin Boonyasak      10    8    5    2    0    0    1
  Chan-ho Yang            9    6    0    3    3    1    1
  Farhan Abdullah         4    3    2    2    0    0    0
  Jong-ho Ko             10    8    3    2    1    2    0

  ============================================================
  SHENZHEN KNIGHTS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Mykah Waite             3    3    1    2    1    0    0     1    0    1    0    0     0    0
  Faisal Pendatun         3    1    1    0    0    0    0     0    2    0    0    0     0    0
  Marcus Low              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kei Mori                1    1    0    1    1    0    0     1    0    0    0    0     0    0
  Dramarian Velazquezov    4    2    1    0    0    0    0     1    1    0    1    0     0    0
  Akira Miura             3    2    1    0    0    0    0     1    1    0    0    0     0    0
  Takao Tanaka            3    3    2    2    0    0    0     1    0    0    0    0     0    0
  Bongbong Blatche        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Davion Appiah           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chia-hsien Hsu          3    3    0    2    1    0    0     1    0    0    0    0     0    0
  Yung-chi Su             3    3    0    1    1    0    0     1    0    0    0    0     0    0
  Ho-seok Park            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tae-yang Song           4    4    0    1    0    0    0     0    0    2    0    0     0    0
  Faisal Wahab            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Putu Wibowo             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kingman Lloyd           2    1    1    0    0    0    0     0    0    0    1    0     0    0
  Sei Hotta               0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Amgalanbaatar Choibalsan    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lingam Devan            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hai Zhou                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sein Sein               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dong-won Kang           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pornchai Kraisorn       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Isao Kinoshita          3    3    0    0    0    0    0     1    0    0    0    0     0    0
  Masahiko Yonezawa       3    3    1    2    0    0    0     1    0    0    0    0     0    0
  Hyun-woo Min            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ronald Gregorio         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shunsuke Togashi        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rizki Sananta           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lkhagva Dashdorj        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dũng Khang              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ji-ho Cha               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daichi Komano           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Khánh Thanh             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Isaiah Wood             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yosuke Kawamori         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yongqiang Tian          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jamal bin Hussein       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bong Fajardo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Philip Rodriguez        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bryan Patiño            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wylie Gurney            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jin-soo Ban             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ming-che Kuo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 35   29    9   11    4    0    0     9    4    3    2    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Mykah Waite            31   21   10    7    4    8    0
  Ronald Gregorio         6    6    1    1    0    1    0

  ============================================================
  Run rate:  Osaka Storms  0.296    Shenzhen Knights  0.333
  Second-Chance ABs:  Osaka Storms  1    Shenzhen Knights  0
  IBB (Osaka Storms): Thaksin Boonyasak; Yudai Mizuno; Samuel Freedman; Eun-woo Jeong.
  IBB (Shenzhen Knights): Faisal Pendatun (2).
  Required run rate (Shenzhen Knights): 0.333 R/out (needed 9 runs in 27 outs)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Shintaro Hamada       Yosuke Kidowaki            0  top
  Yosuke Kidowaki       Damdinsuren Chinbat        0  top
  Damdinsuren Chinbat   Jong-su Ryu                0  top
  Jong-su Ryu           Yu-cheng Cheng             0  top
  Yu-cheng Cheng        Satoshi Muramatsu          0  top
  Satoshi Muramatsu     Yang Seah                  0  top
  Yang Seah             Yasuhito Hasebe            0  top
  Yasuhito Hasebe       Samuel Freedman            0  top
  Samuel Freedman       Yudai Mizuno               0  top
  Yudai Mizuno          Yasuhito Hasebe            0  top
  Yasuhito Hasebe       Joaquín Ramirez            0  top
  Joaquín Ramirez       Yukinari Endo              0  top
  Yukinari Endo         Yosuke Kidowaki            1  top
  Yosuke Kidowaki       Damdinsuren Chinbat        0  top
  Damdinsuren Chinbat   Ritsu Masuda               0  top
  Ritsu Masuda          Samuel Freedman            0  top
  Samuel Freedman       Roberto Grez               0  top
  Roberto Grez          Satoshi Muramatsu          0  top
  Satoshi Muramatsu     Ritsu Masuda               2  top
  Ritsu Masuda          Joaquín Ramirez            2  top
  Joaquín Ramirez       Jong-su Ryu                3  top
  Jong-su Ryu           Satoshi Muramatsu          0  top
  Satoshi Muramatsu     Yudai Mizuno               0  top
  Yudai Mizuno          Roberto Grez               0  top
  Roberto Grez          Yūki Tominaga              0  top
  Yūki Tominaga         Damdinsuren Chinbat        0  top
  Dramarian Velazquezov Tae-yang Song              0  bottom
  Tae-yang Song         Akira Miura                0  bottom
  Akira Miura           Yung-chi Su                2  bottom
  Yung-chi Su           Kingman Lloyd              0  bottom
  Kingman Lloyd         Isao Kinoshita             0  bottom
  Isao Kinoshita        Chia-hsien Hsu             0  bottom
  Chia-hsien Hsu        Faisal Pendatun            0  bottom
  Faisal Pendatun       Tae-yang Song              0  bottom
  Tae-yang Song         Mykah Waite                0  bottom
  Mykah Waite           Masahiko Yonezawa          0  bottom
  Masahiko Yonezawa     Takao Tanaka               0  bottom
  Takao Tanaka          Isao Kinoshita             1  bottom
  Isao Kinoshita        Dramarian Velazquezov      2  bottom
  Dramarian Velazquezov Tae-yang Song              0  bottom
  Tae-yang Song         Masahiko Yonezawa          2  bottom
  Masahiko Yonezawa     Akira Miura                0  bottom
  Akira Miura           Chia-hsien Hsu             0  bottom
  Chia-hsien Hsu        Yung-chi Su                1  bottom
  Yung-chi Su           Isao Kinoshita             0  bottom
  Isao Kinoshita        Mykah Waite                0  bottom
  Mykah Waite           Dramarian Velazquezov      0  bottom
  Dramarian Velazquezov Tae-yang Song              0  bottom
  Tae-yang Song         Bongbong Blatche           0  bottom
  Bongbong Blatche      Yung-chi Su                1  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 50  |  Avg runs/partnership: 0.34
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Mykah Waite           top            1   31   21     7    10     4     8     0
  Ronald Gregorio       top           32    6    6     1     1     0     1     0
  Thaksin Boonyasak     bottom         1   10    8     2     5     0     0     1
  Chan-ho Yang          bottom        12    9    6     3     0     3     1     1
  Farhan Abdullah       bottom        22    4    3     2     2     0     0     0
  Jong-ho Ko            bottom        26   10    8     2     3     1     2     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 6


pbp_text:
  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Pirelli Cougars batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Kemal Brahimi ---
  [0 outs | 0-0 | empty] INTENTIONAL WALK
    INTENTIONAL WALK — Kemal Brahimi given a free pass.
  --- Now batting: Joel Hämäläinen ---
  [0 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [0 outs | 0-2 | 1B] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [0 outs | 1-2 | 1B] BALL IN PLAY
    Joel Hämäläinen runs → single.
    Runner advances from 1B to 2B.
  [0 outs | 0-0 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  --- Now batting: Alfie Alba ---
  [0 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [0 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [0 outs | 2-1 | 1B, 3B] BALL
    Ball 3. Count: 3-1.
  [0 outs | 3-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [0 outs | 3-2 | 1B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  [0 outs | 3-2 | 2B] FOUL
    Foul ball. Count: 3-2.
  [0 outs | 3-2 | 2B] FOUL
    Foul ball. Count: 3-2.
  [0 outs | 3-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Gioele Coppola ---
  [1 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [1 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [1 outs | 3-0 | 2B] BALL
    WALK — Gioele Coppola awarded 1B.
  --- Now batting: Miroslav Čelůstka ---
  [1 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Miroslav Čelůstka runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Antonín Ševčík ---
  [1 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [1 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [1 outs | 2-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 2-2.
  [1 outs | 2-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [1 outs | 2-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sayouba Muntari ---
  [2 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [2 outs | 1-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [2 outs | 1-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [3 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Sergey Sharipov pinch-runs for Joel Hämäläinen at 3B.
  --- Now batting: Philipp Labeyrie ---
  [3 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [3 outs | 0-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [3 outs | 0-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [4 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Zakaria Thiam for an extra plate appearance (joker #1).
  [4 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Kalevi Kettunen pinch-runs for Miroslav Čelůstka at 1B.
  --- Now batting: Zakaria Thiam ---
  [4 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [4 outs | 2-0 | 1B, 2B, 3B] BALL IN PLAY
    Zakaria Thiam runs → single.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  [4 outs | 0-0 | 1B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Henrique Sousa exits (9 BF this spell).
  [4 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Lukáš Kratochvíl for an extra plate appearance (joker #2).
  --- Now batting: Lukáš Kratochvíl ---
  [4 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 1B, 3B] FOUL
    Foul ball. Count: 1-1.
  [4 outs | 1-1 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [4 outs | 1-2 | 1B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  [5 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Rafa Marchão for an extra plate appearance (joker #3).
  --- Now batting: Rafa Marchão ---
  [5 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Rafa Marchão runs → fly out.
    Rafa Marchão is out.
    Runner scores from 3B.
  [6 outs | 0-0 | 1B] DEFENSIVE SUB
    Sten Söderberg replaces Mark O'Brien at CF.
  --- Now batting: Daniel Guillamón [P] ---
  [6 outs | 0-0 | 1B] HIT BY PITCH
    HBP — Daniel Guillamón awarded 1B.
    Runner advances from 1B to 2B.
  [6 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Topias Kauppinen replaces Greg Rennie at RF.
  --- Now batting: Kemal Brahimi ---
  [6 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [6 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [6 outs | 2-1 | 1B, 2B] BALL
    Ball 3. Count: 3-1.
  [6 outs | 3-1 | 1B, 2B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [7 outs | 3-1 | 2B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [7 outs | 3-2 | 2B] BALL
    WALK — Kemal Brahimi awarded 1B.
  [7 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Klaus Cerci replaces Luke Spalletti at 2B.
  --- Now batting: Sergey Sharipov ---
  [7 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Sergey Sharipov runs → infield single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Alfie Alba ---
  [7 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 2B, 3B] FOUL
    Foul ball. Count: 1-1.
  [7 outs | 1-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [7 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [7 outs | 2-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [8 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Artur Piotrowski replaces Owen Cole at C.
  --- Now batting: Gioele Coppola ---
  [8 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Gioele Coppola runs → ground out.
    Gioele Coppola is out.
  [9 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Lukáš Kratochvíl for an extra plate appearance (joker #4).
  --- Now batting: Lukáš Kratochvíl ---
  [9 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Lukáš Kratochvíl runs → ground out.
    Lukáš Kratochvíl is out.
    Runner at 3B thrown out.
  [11 outs | 0-0 | 2B] JOKER INSERTION
    Pirelli Cougars sends in joker Zakaria Thiam for an extra plate appearance (joker #5).
  --- Now batting: Zakaria Thiam ---
  [11 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [11 outs | 0-2 | 2B] BALL IN PLAY
    Zakaria Thiam runs → single.
    Runner advances from 2B to 3B.
  [11 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Rafa Marchão for an extra plate appearance (joker #6).
  --- Now batting: Rafa Marchão ---
  [11 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 1B, 3B] FOUL
    Foul ball. Count: 1-1.
  [11 outs | 1-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [11 outs | 1-2 | 1B, 3B] BALL
    Ball 2. Count: 2-2.
  [11 outs | 2-2 | 1B, 3B] FOUL
    Foul ball. Count: 2-2.
  [11 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [11 outs | 3-2 | 1B, 3B] BALL
    WALK — Rafa Marchão awarded 1B.
    Runner advances from 1B to 2B.
  [11 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Lucas Durante pinch-hits for Kalevi Kettunen.
  --- Now batting: Lucas Durante ---
  [11 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [11 outs | 0-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [11 outs | 0-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [12 outs | 0-0 | 1B, 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  --- Now batting: Antonín Ševčík ---
  [12 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [12 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [12 outs | 0-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sayouba Muntari ---
  [13 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Sayouba Muntari runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Philipp Labeyrie ---
  [13 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 1B, 3B] FOUL
    Foul ball. Count: 1-1.
  [13 outs | 1-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [13 outs | 1-2 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [13 outs | 1-2 | 1B, 3B] BALL IN PLAY
    Philipp Labeyrie runs → infield single.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
  [13 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Jari Mäkelä exits (14 BF this spell).
  --- Now batting: Daniel Guillamón [P] ---
  [13 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [13 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [13 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Kemal Brahimi ---
  [14 outs | 0-0 | 2B] BALL IN PLAY
    Kemal Brahimi runs → single.
    Runner at 2B thrown out.
  [15 outs | 0-0 | 1B] JOKER INSERTION
    Pirelli Cougars sends in joker Zakaria Thiam for an extra plate appearance (joker #7).
  --- Now batting: Zakaria Thiam ---
  [15 outs | 0-0 | 1B] BALL IN PLAY
    Zakaria Thiam runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Sergey Sharipov ---
  [15 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [15 outs | 0-2 | 1B, 2B] BALL
    Ball 1. Count: 1-2.
  [15 outs | 1-2 | 1B, 2B] BALL IN PLAY
    Sergey Sharipov runs → single.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  [15 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Lukáš Kratochvíl for an extra plate appearance (joker #8).
  --- Now batting: Lukáš Kratochvíl ---
  [15 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [15 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [15 outs | 1-2 | 1B, 3B] BALL IN PLAY
    Lukáš Kratochvíl runs → line out.
    Lukáš Kratochvíl is out.
  --- Now batting: Alfie Alba ---
  [16 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [16 outs | 0-2 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [16 outs | 0-2 | 1B, 3B] BALL
    Ball 1. Count: 1-2.
  [16 outs | 1-2 | 1B, 3B] BALL IN PLAY
    Alfie Alba runs → fielder's choice.
    Runner at 3B thrown out.
    Runner advances from 1B to 2B.
  --- Now batting: Gioele Coppola ---
  [17 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [17 outs | 2-0 | 1B, 2B] BALL IN PLAY
    Gioele Coppola runs → double play.
    Gioele Coppola is out.
    Runner at 1B thrown out.
  [19 outs | 0-0 | 2B] DEFENSIVE SUB
    Marcel Szymański replaces Sten Söderberg at 2B.
  --- Now batting: Lucas Durante ---
  [19 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 2B] HIT BY PITCH
    HBP — Lucas Durante awarded 1B.
  [19 outs | 0-0 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [19 outs | 0-0 | 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    1 run(s) score.
  --- Now batting: Antonín Ševčík ---
  [19 outs | 0-0 | 3B] BALL IN PLAY
    Antonín Ševčík runs → ground out.
    Antonín Ševčík is out.
  --- Now batting: Sayouba Muntari ---
  [20 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 3B] BALL IN PLAY
    Sayouba Muntari runs → ground out.
    Sayouba Muntari is out.
  --- Now batting: Philipp Labeyrie ---
  [21 outs | 0-0 | 3B] BALL IN PLAY
    Philipp Labeyrie runs → ground out.
    Philipp Labeyrie is out.
  [22 outs | 0-0 | 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Rafa Marchão for an extra plate appearance (joker #9).
  --- Now batting: Rafa Marchão ---
  [22 outs | 0-0 | 3B] BALL IN PLAY
    Rafa Marchão runs → single.
  --- Now batting: Daniel Guillamón [P] ---
  [22 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [22 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [22 outs | 1-1 | 1B, 3B] BALL IN PLAY
    Daniel Guillamón runs → ground out.
    Daniel Guillamón is out.
    Runner advances from 1B to 2B.
  --- Now batting: Kemal Brahimi ---
  [23 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [23 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [23 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [23 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [23 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [23 outs | 2-2 | 2B, 3B] BALL IN PLAY
    Kemal Brahimi runs → double.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [23 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Zakaria Thiam for an extra plate appearance (joker #10).
  --- Now batting: Zakaria Thiam ---
  [23 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [23 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [23 outs | 0-2 | 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  [24 outs | 0-0 | 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Ansu Dragoni exits (15 BF this spell).
  [24 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Lukáš Kratochvíl for an extra plate appearance (joker #11).
  --- Now batting: Lukáš Kratochvíl ---
  [24 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Lukáš Kratochvíl runs → double.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [24 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Rafa Marchão for an extra plate appearance (joker #12).
  --- Now batting: Rafa Marchão ---
  [24 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [24 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [24 outs | 1-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [24 outs | 1-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sergey Sharipov ---
  [25 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [25 outs | 2-0 | 2B, 3B] BALL IN PLAY
    Sergey Sharipov runs → line out.
    Sergey Sharipov is out.
  --- Now batting: Alfie Alba ---
  [26 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [26 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Alfie Alba runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Gioele Coppola ---
  [26 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [26 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Gioele Coppola runs → line out.
    ROBBED! Luke Spalletti lays out for the diving grab — a hit turned into an out!
    Gioele Coppola is out.

  End of bottom half — Pirelli Cougars: 12 run(s), 14 hit(s), 27 out(s) | Run rate: 0.444
  ============================================================
  HALFTIME
    Brno New Soap Works: 0 run(s)
    Pirelli Cougars need 1 run(s) to win
    Required run rate: 0.037 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  TOP HALF | Brno New Soap Works batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Edwin Maas ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [0 outs | 2-1 | empty] FOUL
    Foul ball. Count: 2-2.
  [0 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [0 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [0 outs | 3-2 | empty] BALL
    WALK — Edwin Maas awarded 1B.
  --- Now batting: Marcel Szymański ---
  [0 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [0 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [0 outs | 1-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Czesław Skorupski ---
  [1 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | 1B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [1 outs | 1-1 | 1B] BALL IN PLAY
    Czesław Skorupski runs → line out.
    Czesław Skorupski is out.
  --- Now batting: David Visser ---
  [2 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [2 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [2 outs | 0-2 | 1B] BALL IN PLAY
    David Visser runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Radek Marek ---
  [2 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [2 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [2 outs | 2-1 | 1B, 2B] BALL
    Ball 3. Count: 3-1.
  [2 outs | 3-1 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [2 outs | 3-1 | 2B, 3B] BALL
    WALK — Radek Marek awarded 1B.
  --- Now batting: Klaus Cerci ---
  [2 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [2 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [2 outs | 1-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [2 outs | 1-2 | 1B, 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Topias Kauppinen ---
  [3 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Topias Kauppinen runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  [3 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Brno New Soap Works sends in joker Maurizio Cernoia for an extra plate appearance (joker #1).
  --- Now batting: Maurizio Cernoia ---
  [3 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Maurizio Cernoia runs → double.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [3 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Brno New Soap Works sends in joker Jesse Brook for an extra plate appearance (joker #2).
  --- Now batting: Jesse Brook ---
  [3 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Jesse Brook takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [3 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [3 outs | 1-1 | 3B] BALL IN PLAY
    Jesse Brook runs → double.
    Runner scores from 3B.
  [3 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Daniel Guillamón exits (9 BF this spell).
  --- Now batting: Artur Piotrowski ---
  [3 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [3 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Henrique Sousa [P] ---
  [4 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [4 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [4 outs | 1-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Edwin Maas ---
  [5 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [5 outs | 2-0 | 2B] BALL IN PLAY
    Edwin Maas runs → single.
    Runner advances from 2B to 3B.
  [5 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Brno New Soap Works sends in joker Maurizio Cernoia for an extra plate appearance (joker #3).
  --- Now batting: Maurizio Cernoia ---
  [5 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [5 outs | 1-1 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [5 outs | 1-2 | 1B, 3B] BALL IN PLAY
    Maurizio Cernoia runs → single.
    Runner advances from 1B to 2B.
  [5 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Radim Douděra pinch-hits for Marcel Szymański.
  [5 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Triệu Pham pinch-runs for Edwin Maas at 2B.
  --- Now batting: Radim Douděra ---
  [5 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 1B, 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [6 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Radim Douděra runs → error.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Czesław Skorupski ---
  [6 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [6 outs | 2-0 | 1B, 3B] BALL IN PLAY
    Czesław Skorupski runs → line out.
    Czesław Skorupski is out.
  --- Now batting: David Visser ---
  [7 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [7 outs | 0-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [7 outs | 0-2 | 1B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [8 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Radek Marek ---
  [9 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [9 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [9 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [9 outs | 0-2 | 3B] FOUL OUT
    Foul ball. Count: 0-0.
  [10 outs | 0-0 | 3B] JOKER INSERTION
    Brno New Soap Works sends in joker Jesse Brook for an extra plate appearance (joker #4).
  --- Now batting: Jesse Brook ---
  [10 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [10 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [10 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [10 outs | 3-1 | 3B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [10 outs | 3-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Klaus Cerci ---
  [11 outs | 0-0 | 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Klaus Cerci given a free pass.
  --- Now batting: Topias Kauppinen ---
  [11 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Topias Kauppinen runs → single.
    Runner advances from 1B to 2B.
  [11 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Owen Scott pinch-hits for Artur Piotrowski.
  [11 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Norbert Pešek pinch-runs for Topias Kauppinen at 1B.
  --- Now batting: Owen Scott ---
  [11 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [11 outs | 2-0 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [11 outs | 3-0 | 1B, 2B, 3B] BALL IN PLAY
    Owen Scott runs → single.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  [11 outs | 0-0 | 1B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Hervé Schulz exits (12 BF this spell).
  [11 outs | 0-0 | 1B, 3B] PINCH HITTER
    Tobias Söderberg pinch-hits for Henrique Sousa.
  [11 outs | 0-0 | 1B, 3B] PINCH RUNNER
    Kyrylo Sydorchuk pinch-runs for Owen Scott at 1B.
  --- Now batting: Tobias Söderberg ---
  [11 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [11 outs | 1-1 | 1B, 3B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [11 outs | 1-1 | 2B, 3B] BALL IN PLAY
    Tobias Söderberg runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [11 outs | 0-0 | 1B, 3B] PINCH RUNNER
    San Smit pinch-runs for Tobias Söderberg at 1B.
  --- Now batting: Triệu Pham ---
  [11 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [11 outs | 0-1 | 1B, 3B] HIT BY PITCH
    HBP — Triệu Pham awarded 1B.
    Runner advances from 1B to 2B.
  [11 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Brno New Soap Works sends in joker Maurizio Cernoia for an extra plate appearance (joker #5).
  --- Now batting: Maurizio Cernoia ---
  [11 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Maurizio Cernoia runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  --- Now batting: Radim Douděra ---
  [11 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [11 outs | 0-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [11 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [11 outs | 1-2 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [11 outs | 1-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [12 outs | 0-0 | 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Adam Čermák exits (4 BF this spell).
  --- Now batting: Czesław Skorupski ---
  [12 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [12 outs | 1-1 | 2B, 3B] BALL IN PLAY
    Czesław Skorupski runs → double play.
    Czesław Skorupski is out.
    Runner at 2B thrown out.
  --- Now batting: David Visser ---
  [14 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [14 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [14 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [14 outs | 3-1 | 3B] BALL IN PLAY
    David Visser runs → fly out.
    David Visser is out.
    Runner scores from 3B.
  --- Now batting: Radek Marek ---
  [15 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [15 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [15 outs | 3-1 | empty] BALL
    WALK — Radek Marek awarded 1B.
  [15 outs | 0-0 | 1B] JOKER INSERTION
    Brno New Soap Works sends in joker Jesse Brook for an extra plate appearance (joker #6).
  --- Now batting: Jesse Brook ---
  [15 outs | 0-0 | 1B] BALL IN PLAY
    Jesse Brook runs → single.
    Runner advances from 1B to 3B.
  [15 outs | 0-0 | 1B, 3B] PINCH RUNNER
    Heikki Heikkinen pinch-runs for Radek Marek at 3B.
  --- Now batting: Klaus Cerci ---
  [15 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 1B, 3B] FOUL
    Foul ball. Count: 1-1.
  [15 outs | 1-1 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [15 outs | 1-2 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [16 outs | 0-0 | 1B, 3B] DEFENSIVE SUB
    Philippe McDaniel replaces Sergey Sharipov at 1B.
  --- Now batting: Norbert Pešek ---
  [16 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B, 3B] FOUL
    Foul ball. Count: 1-1.
  [16 outs | 1-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [16 outs | 1-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [17 outs | 0-0 | 1B, 3B] PINCH RUNNER
    Silvestre Kramer pinch-runs for Heikki Heikkinen at 3B.
  --- Now batting: Kyrylo Sydorchuk ---
  [17 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 3B] BALL IN PLAY
    Kyrylo Sydorchuk runs → line out.
    Kyrylo Sydorchuk is out.
  [18 outs | 0-0 | 1B, 3B] PINCH RUNNER
    Anders Brenn pinch-runs for Silvestre Kramer at 3B.
  --- Now batting: San Smit ---
  [18 outs | 0-0 | 1B, 3B] BALL IN PLAY
    San Smit runs → fly out.
    San Smit is out.
  [19 outs | 0-0 | 1B, 3B] DEFENSIVE SUB
    Porter Époupa replaces Philipp Labeyrie at LF.
  --- Now batting: Triệu Pham ---
  [19 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [19 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [19 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [19 outs | 2-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [19 outs | 2-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [20 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Brno New Soap Works sends in joker Maurizio Cernoia for an extra plate appearance (joker #7).
  [20 outs | 0-0 | 1B, 3B] DEFENSIVE SUB
    Chris Powell replaces Lucas Durante at C.
  --- Now batting: Maurizio Cernoia ---
  [20 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [20 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Maurizio Cernoia runs → single.
    Runner advances from 1B to 2B.
  [20 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Magnus Eklund pinch-runs for Anders Brenn at 3B.
  --- Now batting: Radim Douděra ---
  [20 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Radim Douděra takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.

  End of top half — Brno New Soap Works: 13 run(s), 14 hit(s), 20 out(s) | Run rate: 0.650

  ============================================================
  GAME OVER: BRNO NEW SOAP WORKS WIN 13–12
  ============================================================
  Final score: Brno New Soap Works 13, Pirelli Cougars 12
  ============================================================
  LINE SCORE
                          1      R
  Brno New Soap Works     13     13
  Pirelli Cougars        12     12

  ============================================================
  BRNO NEW SOAP WORKS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Henrique Sousa          1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Triệu Pham              2    1    2    0    0    0    0     0    0    1    1    0     0    0
  Mark O'Brien            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  David Visser            3    3    1    1    0    0    0     1    0    1    0    0     0    0
  Sten Söderberg          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Radek Marek             3    1    1    0    0    0    0     0    2    0    0    0     0    0
  Radim Douděra           2    2    0    1    0    0    0     2    0    1    0    1     1    0
  Edwin Maas              2    1    1    1    0    0    0     0    1    0    0    0     0    0
  Heikki Heikkinen        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Maurizio Cernoia        4    4    1    4    2    0    0     3    0    0    0    0     0    0
  Jesse Brook             3    3    1    3    1    0    0     2    0    1    0    1     1    1
  Magnus Eklund           0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Topias Kauppinen        2    2    1    2    1    0    0     2    0    0    0    0     0    0
  Luke Spalletti          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tobias Söderberg        1    1    0    1    0    0    0     1    0    0    0    0     0    0
  Norbert Pešek           1    1    1    0    0    0    0     0    0    1    0    0     0    0
  Anders Brenn            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  San Smit                1    1    1    0    0    0    0     0    0    0    0    0     0    0
  Artur Piotrowski        1    1    0    0    0    0    0     0    0    1    0    0     0    0
  Greg Rennie             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Marcel Szymański        1    1    0    0    0    0    0     0    0    1    0    0     0    0
  Kyrylo Sydorchuk        1    1    1    0    0    0    0     0    0    0    0    0     0    0
  Owen Scott              1    1    0    1    0    0    0     2    0    0    0    0     0    0
  Czesław Skorupski       3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Guilherme Spissu        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Andrés Marozsán         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ansu Dragoni            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Anthony Morrison        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bernd Schaftenaar       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joe Williamson          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Clément Van Leeuwen     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dawit Yusef             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Laurent Mangala         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wojciech Jankowski      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jari Mäkelä             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Przemysław Nawałka      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Philippe López-Arostegui    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Evan Coelho             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  İsmet Wiese             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hüseyin Yalçın          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Silvestre Kramer        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Owen Cole               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Klaus Cerci             3    2    1    0    0    0    0     0    1    1    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 35   30   13   14    4    0    0    13    4    8    1    2     2    1

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Henrique Sousa          9    4    3    3    2    3    0
  Jari Mäkelä            14    9    4    4    2    3    1
  Ansu Dragoni           15   11    5    3    0    0    1
  Dawit Yusef             5    3    2    2    0    1    0

  ============================================================
  PIRELLI COUGARS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Daniel Guillamón        3    2    0    0    0    0    0     0    0    0    1    0     0    0
  Sayouba Muntari         3    3    0    1    0    0    0     1    0    1    0    0     0    0
  Joel Hämäläinen         1    1    0    1    0    0    0     0    0    0    0    0     0    0
  Turlough O'Neill        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Šimon Kyzlink           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kemal Brahimi           4    2    4    2    1    0    0     1    2    0    0    0     0    0
  Gioele Coppola          4    3    1    0    0    0    0     0    1    0    0    0     0    0
  Ibrahim Promes          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lucas Durante           2    1    1    0    0    0    0     0    0    1    1    0     0    0
  Rafa Marchão            4    3    2    1    0    0    0     1    1    1    0    0     0    0
  Zakaria Thiam           4    4    1    3    0    0    0     2    0    0    0    0     0    0
  Lukáš Kratochvíl        4    4    0    1    1    0    0     1    0    0    0    0     0    0
  Manuel Janssen          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Miroslav Čelůstka       1    1    0    1    0    0    0     0    0    0    0    0     0    0
  Porter Époupa           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alfie Alba              4    4    0    1    0    0    0     1    0    1    0    0     0    0
  Viktor Kuchta           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sergey Sharipov         3    3    2    2    0    0    0     1    0    0    0    0     0    0
  Philipp Labeyrie        3    3    0    1    0    0    0     1    0    1    0    0     0    0
  Elia Roberts            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chris Powell            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wiktor Slisz            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Antonín Ševčík          3    3    0    0    0    0    0     0    0    2    0    0     0    0
  Kalevi Kettunen         0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Thomas Sagna            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Marc Rosucci            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Michael Conti           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Riley Anelka            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Adam Čermák             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Marco O'Carroll         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hervé Schulz            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ronen Bořil             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Colm Nolan              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Egor Semyonov           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Blaise Sánchez          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Filip Beneš             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brendan Maguire         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Thiago Reyes            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rafał Dabrowski         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Timo Freitas            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Karel Vitík             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Valentin Tagoe          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Philippe McDaniel       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Medhi Ziani             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 43   37   12   14    2    0    0     9    4    7    2    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Daniel Guillamón        9    3    5    5    2    1    0
  Hervé Schulz           12    8    4    3    1    3    0
  Adam Čermák             4    1    2    3    0    1    1
  Colm Nolan             10    8    3    2    1    3    0

  ============================================================
  Run rate:  Brno New Soap Works  0.481    Pirelli Cougars  0.444
  Second-Chance ABs:  Brno New Soap Works  2    Pirelli Cougars  0
  IBB (Brno New Soap Works): Klaus Cerci.
  IBB (Pirelli Cougars): Kemal Brahimi.
  Required run rate (Pirelli Cougars): 0.037 R/out (needed 1 runs in 27 outs)
  Powerplays: Brno New Soap Works — Marcel Szymański NF (O14-17), Pirelli Cougars — Chris Powell NF (O4-7)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Alfie Alba            Antonín Ševčík             1  bottom
  Antonín Ševčík        Sayouba Muntari            0  bottom
  Sayouba Muntari       Philipp Labeyrie           0  bottom
  Philipp Labeyrie      Lukáš Kratochvíl           2  bottom
  Lukáš Kratochvíl      Rafa Marchão               1  bottom
  Rafa Marchão          Daniel Guillamón           0  bottom
  Daniel Guillamón      Alfie Alba                 0  bottom
  Alfie Alba            Gioele Coppola             0  bottom
  Gioele Coppola        Zakaria Thiam              0  bottom
  Zakaria Thiam         Lukáš Kratochvíl           0  bottom
  Lukáš Kratochvíl      Lucas Durante              0  bottom
  Lucas Durante         Antonín Ševčík             1  bottom
  Antonín Ševčík        Daniel Guillamón           2  bottom
  Daniel Guillamón      Sayouba Muntari            0  bottom
  Sayouba Muntari       Lukáš Kratochvíl           1  bottom
  Lukáš Kratochvíl      Zakaria Thiam              0  bottom
  Zakaria Thiam         Alfie Alba                 0  bottom
  Alfie Alba            Gioele Coppola             0  bottom
  Gioele Coppola        Antonín Ševčík             1  bottom
  Antonín Ševčík        Sayouba Muntari            0  bottom
  Sayouba Muntari       Philipp Labeyrie           0  bottom
  Philipp Labeyrie      Daniel Guillamón           0  bottom
  Daniel Guillamón      Zakaria Thiam              1  bottom
  Zakaria Thiam         Rafa Marchão               1  bottom
  Rafa Marchão          Sergey Sharipov            0  bottom
  Sergey Sharipov       Gioele Coppola             1  bottom
  Marcel Szymański      Czesław Skorupski          0  top
  Czesław Skorupski     Klaus Cerci                0  top
  Klaus Cerci           Artur Piotrowski           5  top
  Artur Piotrowski      Henrique Sousa             0  top
  Henrique Sousa        Maurizio Cernoia           0  top
  Maurizio Cernoia      Czesław Skorupski          1  top
  Czesław Skorupski     Radim Douděra              0  top
  Radim Douděra         David Visser               0  top
  David Visser          Radek Marek                0  top
  Radek Marek           Jesse Brook                0  top
  Jesse Brook           Radim Douděra              5  top
  Radim Douděra         Maurizio Cernoia           0  top
  Maurizio Cernoia      Czesław Skorupski          0  top
  Czesław Skorupski     David Visser               1  top
  David Visser          Klaus Cerci                0  top
  Klaus Cerci           Norbert Pešek              0  top
  Norbert Pešek         Kyrylo Sydorchuk           0  top
  Kyrylo Sydorchuk      San Smit                   0  top
  San Smit              Triệu Pham                 0  top
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 45  |  Avg runs/partnership: 0.53
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Henrique Sousa        bottom         1    9    4     3     3     2     3     0
  Jari Mäkelä           bottom        10   14    9     4     4     2     3     1
  Ansu Dragoni          bottom        24   15   11     3     5     0     0     1
  Dawit Yusef           bottom        39    5    3     2     2     0     1     0
  Daniel Guillamón      top            1    9    3     5     5     2     1     0
  Hervé Schulz          top           10   12    8     3     4     1     3     0
  Adam Čermák           top           22    4    1     3     2     0     1     1
  Colm Nolan            top           26   10    8     2     3     1     3     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 8


pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Copenhagen Baseboll Klubb batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Eoin Littlejohn ---
  [0 outs | 0-0 | empty] BALL IN PLAY
    Eoin Littlejohn runs → line out.
    Eoin Littlejohn is out.
  --- Now batting: Cillian Burrows ---
  [1 outs | 0-0 | empty] BALL IN PLAY
    Cillian Burrows runs → single.
  --- Now batting: Lorcan Connolly ---
  [1 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | 1B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [1 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [1 outs | 1-2 | 1B] BALL IN PLAY
    Lorcan Connolly runs → fielder's choice.
    Runner at 1B thrown out.
  --- Now batting: Jens Risa ---
  [2 outs | 0-0 | 1B] BALL IN PLAY
    Jens Risa runs → line out.
    Jens Risa is out.
  --- Now batting: Ben Hambira [P] ---
  [3 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Stephen Bardsley ---
  [4 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [4 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [4 outs | 2-1 | 2B] BALL IN PLAY
    Stephen Bardsley runs → fly out.
    Stephen Bardsley is out.
  --- Now batting: Joshua Krul ---
  [5 outs | 0-0 | 2B] BALL IN PLAY
    Joshua Krul runs → line out.
    Joshua Krul is out.
  --- Now batting: Emil Janogy ---
  [6 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 2B] BALL IN PLAY
    Emil Janogy runs → single.
    Runner advances from 2B to 3B.
  --- Now batting: Ernan Awoniyi ---
  [6 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [6 outs | 2-0 | 1B, 3B] BALL
    Ball 3. Count: 3-0.
  [6 outs | 3-0 | 1B, 3B] BALL
    WALK — Ernan Awoniyi awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Eoin Littlejohn ---
  [6 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Eoin Littlejohn runs → fly out.
    Eoin Littlejohn is out.
  [7 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Tiernan Moloney exits (9 BF this spell).
  --- Now batting: Cillian Burrows ---
  [7 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [7 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [7 outs | 1-1 | 1B, 2B, 3B] BALL IN PLAY
    Cillian Burrows takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner scores from 3B.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Lorcan Connolly ---
  [8 outs | 0-0 | 2B] BALL IN PLAY
    Lorcan Connolly runs → line out.
    Lorcan Connolly is out.
  --- Now batting: Jens Risa ---
  [9 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 2B] PICKOFF ATTEMPT
    Pickoff — runner out at 2B!
  [10 outs | 1-0 | empty] HIT BY PITCH
    HBP — Jens Risa awarded 1B.
  [10 outs | 0-0 | 1B] JOKER INSERTION
    Copenhagen Baseboll Klubb sends in joker Krzysztof Krychowiak for an extra plate appearance (joker #1).
  [10 outs | 0-0 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Krzysztof Krychowiak ---
  [11 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [11 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [11 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [11 outs | 1-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  [12 outs | 0-0 | empty] PITCHING CHANGE
    PITCHING CHANGE: Sergey Afinogenova exits (4 BF this spell).
  --- Now batting: Ben Hambira [P] ---
  [12 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [12 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [12 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [12 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Stephen Bardsley ---
  [13 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | empty] CALLED STRIKE
    Strike (called). Count: 2-1.
  [13 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [13 outs | 3-1 | empty] FOUL
    Foul ball. Count: 3-2.
  [13 outs | 3-2 | empty] FOUL
    Foul ball. Count: 3-2.
  [13 outs | 3-2 | empty] BALL
    WALK — Stephen Bardsley awarded 1B.
  --- Now batting: Joshua Krul ---
  [13 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [13 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [13 outs | 2-1 | 1B] BALL IN PLAY
    Joshua Krul runs → fly out.
    Joshua Krul is out.
  --- Now batting: Emil Janogy ---
  [14 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [14 outs | 1-1 | 1B] BALL IN PLAY
    Emil Janogy runs → single.
    Runner advances from 1B to 3B.
  --- Now batting: Ernan Awoniyi ---
  [14 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [14 outs | 2-0 | 1B, 3B] BALL
    Ball 3. Count: 3-0.
  [14 outs | 3-0 | 1B, 3B] BALL
    WALK — Ernan Awoniyi awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Eoin Littlejohn ---
  [14 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Eoin Littlejohn runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Cillian Burrows ---
  [14 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [14 outs | 1-1 | 1B, 2B, 3B] BALL IN PLAY
    Cillian Burrows runs → error.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [14 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Stanisław Stepien exits (7 BF this spell).
  --- Now batting: Lorcan Connolly ---
  [14 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-1.
  [14 outs | 1-1 | 1B, 2B, 3B] BALL IN PLAY
    Lorcan Connolly runs → single.
    Runner at 3B thrown out.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  --- Now batting: Jens Risa ---
  [16 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [16 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [16 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [16 outs | 2-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 2-2.
  [16 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [16 outs | 3-2 | 1B, 3B] BALL
    WALK — Jens Risa awarded 1B.
    Runner advances from 1B to 2B.
  [16 outs | 0-0 | 1B, 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  --- Now batting: Ben Hambira [P] ---
  [16 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Ben Hambira runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Stephen Bardsley ---
  [16 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [16 outs | 2-0 | 1B, 3B] BALL
    Ball 3. Count: 3-0.
  [16 outs | 3-0 | 1B, 3B] BALL IN PLAY
    Stephen Bardsley runs → single.
    Runner advances from 1B to 2B.
  [16 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Koen Lemoine exits (4 BF this spell).
  --- Now batting: Joshua Krul ---
  [16 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [16 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [16 outs | 1-1 | 1B, 2B, 3B] BALL IN PLAY
    Joshua Krul runs → fly out.
    Joshua Krul is out.
    Runner at 3B thrown out.
  --- Now batting: Emil Janogy ---
  [18 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Emil Janogy runs → single.
    Runner advances from 2B to 3B.
    Runner at 1B thrown out.
  [19 outs | 0-0 | 1B, 3B] DEFENSIVE SUB
    Aidan Hughes replaces Liam Martinsen at C.
  --- Now batting: Ernan Awoniyi ---
  [19 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Ernan Awoniyi runs → fly out.
    Ernan Awoniyi is out.
    Runner scores from 3B.
    Cricket order flips (joker-free trip) — Ernan Awoniyi now leads off.
  [20 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | 1B] BALL IN PLAY
    Ernan Awoniyi runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Emil Janogy ---
  [20 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [20 outs | 2-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 2-1.
  [20 outs | 2-1 | 1B, 2B] FOUL
    Foul ball. Count: 2-2.
  [20 outs | 2-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Joshua Krul ---
  [21 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Joshua Krul runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Stephen Bardsley ---
  [21 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [21 outs | 1-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [21 outs | 1-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [21 outs | 1-2 | 1B, 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Ben Hambira [P] ---
  [22 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Ben Hambira runs → fly out.
    Ben Hambira is out.
  --- Now batting: Jens Risa ---
  [23 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [23 outs | 0-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [23 outs | 0-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [23 outs | 0-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Lorcan Connolly ---
  [24 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Lorcan Connolly runs → error.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  [25 outs | 0-0 | 1B, 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Cillian Burrows ---
  [26 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [26 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Cillian Burrows runs → fly out.
    Cillian Burrows is out.

  End of top half — Copenhagen Baseboll Klubb: 7 run(s), 10 hit(s), 27 out(s) | Run rate: 0.259
  ============================================================
  HALFTIME
    Copenhagen Baseboll Klubb: 7 run(s)
    Kraków Royal Marines need 8 run(s) to win
    Required run rate: 0.296 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Kraków Royal Marines batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Justin Richard ---
  [0 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [0 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Edon Hakala ---
  [1 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [1 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [1 outs | 1-1 | empty] CALLED STRIKE
    Strike (called). Count: 1-2.
  [1 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Ledley Curran ---
  [2 outs | 0-0 | empty] BALL IN PLAY
    Ledley Curran runs → line out.
    Ledley Curran is out.
  --- Now batting: Oliwier Peszko ---
  [3 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [3 outs | 1-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [3 outs | 1-2 | empty] BALL IN PLAY
    Oliwier Peszko runs → ground out.
    Oliwier Peszko is out.
  --- Now batting: Yuri Vikhlyantseva ---
  [4 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [4 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [4 outs | 2-1 | empty] FOUL
    Foul ball. Count: 2-2.
  [4 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [4 outs | 2-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  [5 outs | 0-0 | empty] JOKER INSERTION
    Kraków Royal Marines sends in joker Salvatore Carrera for an extra plate appearance (joker #1).
  --- Now batting: Salvatore Carrera ---
  [5 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [5 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [5 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [5 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [5 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [5 outs | 2-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Justus Tolói ---
  [6 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [6 outs | 0-1 | empty] BALL IN PLAY
    Justus Tolói runs → ground out.
    Justus Tolói is out.
  [7 outs | 0-0 | empty] JOKER INSERTION
    Kraków Royal Marines sends in joker Will Mainoo for an extra plate appearance (joker #2).
  --- Now batting: Will Mainoo ---
  [7 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [7 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [7 outs | 0-2 | empty] BALL IN PLAY
    Will Mainoo runs → HOME RUN.
    Batter scores (HR).
    [Walk-Back — Will Mainoo retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Washington Mutual.]
  [7 outs | 0-0 | 3B] JOKER INSERTION
    Kraków Royal Marines sends in joker Donal Kelly for an extra plate appearance (joker #3).
  --- Now batting: Donal Kelly ---
  [7 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [7 outs | 0-1 | 3B] BALL IN PLAY
    Donal Kelly runs → line out.
    Donal Kelly is out.
  --- Now batting: Aidan Hughes ---
  [8 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [8 outs | 2-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 2-1.
  [8 outs | 2-1 | 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    1 run(s) score.
  [8 outs | 2-1 | empty] FOUL
    Foul ball. Count: 2-2.
  [8 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [8 outs | 3-2 | empty] FOUL
    Foul ball. Count: 3-2.
  [8 outs | 3-2 | empty] BALL
    WALK — Aidan Hughes awarded 1B.
  --- Now batting: Henrique Dali ---
  [8 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [8 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [8 outs | 1-2 | 1B] FOUL
    Foul ball. Count: 1-2.
  [8 outs | 1-2 | 1B] BALL IN PLAY
    Henrique Dali runs → infield single.
    Runner advances from 1B to 2B.
  --- Now batting: Tiernan Moloney [P] ---
  [8 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [8 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [8 outs | 3-0 | 2B] FOUL
    Foul ball. Count: 3-1.
  [8 outs | 3-1 | 2B] BALL
    WALK — Tiernan Moloney awarded 1B.
  --- Now batting: Justin Richard ---
  [8 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B, 2B] FOUL
    Foul ball. Count: 1-1.
  [8 outs | 1-1 | 1B, 2B] BALL IN PLAY
    Justin Richard runs → fly out.
    Justin Richard is out.
  --- Now batting: Edon Hakala ---
  [9 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [9 outs | 0-1 | 1B, 2B] BALL IN PLAY
    Edon Hakala runs → single.
    Runner at 2B thrown out.
    Runner scores from 1B.
  --- Now batting: Ledley Curran ---
  [11 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [11 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [11 outs | 0-2 | 1B] BALL IN PLAY
    Ledley Curran runs → double.
    Runner at 1B thrown out.
  --- Now batting: Oliwier Peszko ---
  [12 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Oliwier Peszko given a free pass.
  --- Now batting: Yuri Vikhlyantseva ---
  [12 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [12 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [12 outs | 2-1 | 1B, 2B] BALL IN PLAY
    Yuri Vikhlyantseva runs → fielder's choice.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  --- Now batting: Justus Tolói ---
  [13 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Justus Tolói runs → fielder's choice.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  [14 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Kraków Royal Marines sends in joker Salvatore Carrera for an extra plate appearance (joker #4).
  --- Now batting: Salvatore Carrera ---
  [14 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Salvatore Carrera runs → line out.
    Salvatore Carrera is out.
  --- Now batting: Aidan Hughes ---
  [15 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [15 outs | 2-0 | 1B, 2B] FOUL
    Foul ball. Count: 2-1.
  [15 outs | 2-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [15 outs | 2-2 | 1B, 2B] FOUL
    Foul ball. Count: 2-2.
  [15 outs | 2-2 | 1B, 2B] BALL
    Ball 3. Count: 3-2.
  [15 outs | 3-2 | 1B, 2B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [16 outs | 3-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [17 outs | 0-0 | 2B] JOKER INSERTION
    Kraków Royal Marines sends in joker Will Mainoo for an extra plate appearance (joker #5).
  --- Now batting: Will Mainoo ---
  [17 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 2B] BALL IN PLAY
    Will Mainoo runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Will Mainoo retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Crystal Pepsi.]
  [17 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Ben Hambira exits (21 BF this spell).
  [17 outs | 0-0 | 3B] JOKER INSERTION
    Kraków Royal Marines sends in joker Donal Kelly for an extra plate appearance (joker #6).
  --- Now batting: Donal Kelly ---
  [17 outs | 0-0 | 3B] BALL IN PLAY
    Donal Kelly runs → ground out.
    Donal Kelly is out.
  --- Now batting: Henrique Dali ---
  [18 outs | 0-0 | 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Henrique Dali given a free pass.
  --- Now batting: Tiernan Moloney [P] ---
  [18 outs | 0-0 | 1B, 3B] SAC BUNT
  [19 outs | 0-0 | 2B] DEFENSIVE SUB
    Sébastien Gelabale replaces Cillian Burrows at C.
  --- Now batting: Justin Richard ---
  [19 outs | 0-0 | 2B] BALL IN PLAY
    Justin Richard runs → single.
    Runner advances from 2B to 3B.
  --- Now batting: Edon Hakala ---
  [19 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 1B, 3B] BALL IN PLAY
    Edon Hakala runs → fly out.
    Edon Hakala is out.
    Runner at 3B thrown out.
  --- Now batting: Ledley Curran ---
  [21 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [21 outs | 2-0 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [21 outs | 2-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 2-1.
  [21 outs | 2-1 | 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  [22 outs | 2-1 | empty] FOUL
    Foul ball. Count: 2-2.
  [22 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [22 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [22 outs | 3-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Oliwier Peszko ---
  [23 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [23 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [23 outs | 3-0 | empty] FOUL
    Foul ball. Count: 3-1.
  [23 outs | 3-1 | empty] BALL
    WALK — Oliwier Peszko awarded 1B.
  --- Now batting: Yuri Vikhlyantseva ---
  [23 outs | 0-0 | 1B] BALL IN PLAY
    Yuri Vikhlyantseva runs → ground out.
    Yuri Vikhlyantseva is out.
    Runner advances from 1B to 2B.
  --- Now batting: Justus Tolói ---
  [24 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 2B] BALL IN PLAY
    Justus Tolói runs → double.
    Runner advances from 2B to 3B.
  [24 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Kraków Royal Marines sends in joker Salvatore Carrera for an extra plate appearance (joker #7).
  [24 outs | 0-0 | 2B, 3B] PINCH RUNNER
    Sander Holm pinch-runs for Justus Tolói at 2B.
  --- Now batting: Salvatore Carrera ---
  [24 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Salvatore Carrera takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
  [25 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Kraków Royal Marines sends in joker Will Mainoo for an extra plate appearance (joker #8).
  --- Now batting: Will Mainoo ---
  [25 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [25 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [25 outs | 1-2 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [25 outs | 1-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [26 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Kraków Royal Marines sends in joker Donal Kelly for an extra plate appearance (joker #9).
  --- Now batting: Donal Kelly ---
  [26 outs | 0-0 | 2B, 3B] DECLARATION
    >> Kraków Royal Marines DECLARES SECONDS at out 26 (5-7).

  End of bottom half — Kraków Royal Marines: 5 run(s), 7 hit(s), 27 out(s) | Run rate: 0.185

  ────────────────────────────────────────────────────────────
  SECONDS_SECOND | Kraków Royal Marines batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Aidan Hughes ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] BALL IN PLAY
    Aidan Hughes runs → single.
  --- Now batting: Henrique Dali ---
  [0 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.

  ============================================================
  GAME OVER: COPENHAGEN BASEBOLL KLUBB WIN 7–5
  ============================================================
  Final score: Copenhagen Baseboll Klubb 7, Kraków Royal Marines 5
  ============================================================
  LINE SCORE
                          1      2      R
  Copenhagen Baseboll Klubb      7      -      7
  Kraków Royal Marines      5      0      5

  ============================================================
  COPENHAGEN BASEBOLL KLUBB BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Ben Hambira             4    3    1    1    0    0    0     1    0    1    0    0     0    0
  Stephen Bardsley        4    3    1    1    0    0    0     0    1    0    0    0     0    0
  Stewart Lynn            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Farrukh Omari           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Emil Janogy             4    4    2    3    0    0    0     0    0    1    0    0     0    0
  Sébastien Gelabale      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ernan Awoniyi           4    2    0    1    0    0    0     1    2    0    0    0     0    0
  Cillian Burrows         4    4    1    1    0    0    0     3    0    0    0    0     0    0
  Krzysztof Krychowiak    1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Henrich Tóth            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mesut Schulz            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lorcan Connolly         4    4    2    1    0    0    0     0    0    0    0    0     0    0
  Jussi Mustonen          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Anton Danielsson        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jens Risa               4    2    0    0    0    0    0     0    1    1    1    0     0    0
  Finbar De Groot         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joshua Krul             4    4    0    1    0    0    0     0    0    0    0    0     0    0
  Gioele Torrecilla       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joakim Clausen          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Erik Halvorsen          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kees Kuijpers           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sidney Brennan          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Abdelatif Zorgane       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Eoin Littlejohn         3    3    0    1    0    0    0     1    0    0    0    0     0    0
  Oiva Tamminen           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cillian Shiels          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brodie Dykes            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ruddy Diaw              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jaime Mauro             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Guerschon Lewis         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jonny Smalling          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rio Baumann             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wilmer Krafth           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Petr Koubek             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Eljero Amado            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Leverton Aguilar        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dean Pickford           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Declan Larkin           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Violette Iglesias       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hélder Castillo         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kurt Mendy              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Samuel Demissie         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jonathan Wilson         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 36   30    7   10    0    0    0     6    4    3    1    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Ben Hambira            23   18    6    4    3    4    0
  Violette Iglesias      10    9    2    1    2    1    0

  ============================================================
  KRAKÓW ROYAL MARINES BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Tiernan Moloney         2    0    0    0    0    0    0     1    1    0    0    0     0    0
  Tok-chol Song           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Henrique Dali           3    2    0    1    0    0    0     0    1    1    0    0     0    0
  Oliwier Peszko          3    1    0    0    0    0    0     0    2    0    0    0     0    0
  Sander Holm             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lars Moen               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ledley Curran           3    3    0    1    1    0    0     0    0    0    0    0     0    0
  Ctibor Polák            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Olle Norberg            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Liam Guéhi              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Will Mainoo             3    3    4    2    0    0    2     3    0    1    0    0     0    0
  Donal Kelly             2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Salvatore Carrera       3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Liam Martinsen          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Edon Hakala             3    3    0    1    0    0    0     0    0    1    0    0     0    0
  Paul Nkunku             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ross Guéhi              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Patrik Voráčková        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brendan Fahey           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Justus Tolói            3    3    0    1    1    0    0     0    0    0    0    0     0    0
  Matthew Finn            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yuri Vikhlyantseva      3    3    1    0    0    0    0     0    0    0    0    0     0    0
  Elia Wijnaldum          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pierre Gustafsson       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tariku Hamid            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Justin Richard          3    3    0    1    0    0    0     0    0    1    0    0     0    0
  Ricardo Jacinto         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tom Innocent            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aleš Růžička            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Iacopo Debuchy          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ayoze Muñoz             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Florent Garnier         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Michael Fagioli         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Stanisław Stepien       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Koen Lemoine            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ruairidh MacMillan      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Leonid Cherchesov       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Niels Baena             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gerard De Bruijn        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sergey Afinogenova      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rakoto Randriamampionona    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kees Zimmermann         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Moustapha Katoto        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aidan Hughes            3    2    0    1    0    0    0     0    1    1    0    0     0    0
  Jakub Dvořák            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 34   28    5    8    2    0    2     4    5    5    0    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Tiernan Moloney         9    7    2    0    1    0    0
  Sergey Afinogenova      4    5    0    2    0    0    1
  Stanisław Stepien       7    2    2    2    2    1    0
  Koen Lemoine            4    2    3    2    1    0    0
  Florent Garnier        11   11    3    1    0    2    0

  ============================================================
  Run rate:  Copenhagen Baseboll Klubb  0.259    Kraków Royal Marines  0.185
  Second-Chance ABs:  Copenhagen Baseboll Klubb  0    Kraków Royal Marines  0
  IBB (Kraków Royal Marines): Henrique Dali; Oliwier Peszko.
  Required run rate (Kraków Royal Marines): 0.296 R/out (needed 8 runs in 27 outs)
  Seconds: Kraków Royal Marines o26 (5-7)
  Powerplays: Kraków Royal Marines — Matthew Finn NF (O7-10)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Eoin Littlejohn       Cillian Burrows            0  top
  Cillian Burrows       Jens Risa                  0  top
  Jens Risa             Ben Hambira                0  top
  Ben Hambira           Stephen Bardsley           0  top
  Stephen Bardsley      Joshua Krul                0  top
  Joshua Krul           Eoin Littlejohn            0  top
  Eoin Littlejohn       Cillian Burrows            2  top
  Cillian Burrows       Lorcan Connolly            0  top
  Lorcan Connolly       Ernan Awoniyi              0  top
  Ernan Awoniyi         Jens Risa                  0  top
  Jens Risa             Krzysztof Krychowiak       0  top
  Krzysztof Krychowiak  Ben Hambira                0  top
  Ben Hambira           Joshua Krul                0  top
  Joshua Krul           Ernan Awoniyi              2  top
  Ernan Awoniyi         Eoin Littlejohn            0  top
  Eoin Littlejohn       Jens Risa                  2  top
  Jens Risa             Joshua Krul                0  top
  Joshua Krul           Stephen Bardsley           0  top
  Stephen Bardsley      Ernan Awoniyi              1  top
  Ernan Awoniyi         Emil Janogy                0  top
  Emil Janogy           Stephen Bardsley           0  top
  Stephen Bardsley      Ben Hambira                0  top
  Ben Hambira           Jens Risa                  0  top
  Jens Risa             Ernan Awoniyi              0  top
  Ernan Awoniyi         Lorcan Connolly            0  top
  Lorcan Connolly       Cillian Burrows            0  top
  Justin Richard        Edon Hakala                0  bottom
  Edon Hakala           Ledley Curran              0  bottom
  Ledley Curran         Oliwier Peszko             0  bottom
  Oliwier Peszko        Yuri Vikhlyantseva         0  bottom
  Yuri Vikhlyantseva    Salvatore Carrera          0  bottom
  Salvatore Carrera     Justus Tolói               0  bottom
  Justus Tolói          Donal Kelly                1  bottom
  Donal Kelly           Justin Richard             1  bottom
  Justin Richard        Aidan Hughes               0  bottom
  Aidan Hughes          Tiernan Moloney            0  bottom
  Tiernan Moloney       Edon Hakala                0  bottom
  Edon Hakala           Ledley Curran              0  bottom
  Ledley Curran         Oliwier Peszko             0  bottom
  Oliwier Peszko        Salvatore Carrera          0  bottom
  Salvatore Carrera     Justus Tolói               0  bottom
  Justus Tolói          Aidan Hughes               0  bottom
  Aidan Hughes          Donal Kelly                2  bottom
  Donal Kelly           Tiernan Moloney            1  bottom
  Tiernan Moloney       Henrique Dali              0  bottom
  Henrique Dali         Edon Hakala                0  bottom
  Edon Hakala           Justin Richard             0  bottom
  Justin Richard        Ledley Curran              0  bottom
  Ledley Curran         Yuri Vikhlyantseva         0  bottom
  Yuri Vikhlyantseva    Salvatore Carrera          0  bottom
  Salvatore Carrera     Will Mainoo                0  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 51  |  Avg runs/partnership: 0.24
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Tiernan Moloney       top            1    9    7     0     2     1     0     0
  Sergey Afinogenova    top           11    4    5     2     0     0     0     1
  Stanisław Stepien     top           15    7    2     2     2     2     1     0
  Koen Lemoine          top           22    4    2     2     3     1     0     0
  Florent Garnier       top           26   11   11     1     3     0     2     0
  Ben Hambira           bottom         1   21   17     4     5     3     3     0
  Violette Iglesias     bottom        22   10    9     1     2     2     1     0
  Ben Hambira           seconds_second  1    2    1     0     1     0     1     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 8


pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Dubai Air Force batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Sagar Lamichhane ---
  [0 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [0 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [0 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [0 outs | 2-2 | empty] BALL IN PLAY
    Sagar Lamichhane runs → single.
  --- Now batting: Youssef Bennani ---
  [0 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [0 outs | 3-0 | 1B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [0 outs | 3-1 | 1B] FOUL
    Foul ball. Count: 3-2.
  [0 outs | 3-2 | 1B] FOUL
    Foul ball. Count: 3-2.
  [0 outs | 3-2 | 1B] BALL
    WALK — Youssef Bennani awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Bassam Sharif ---
  [0 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Bassam Sharif runs → ground out.
    Bassam Sharif is out.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Ruturaj Khot ---
  [1 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [1 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [1 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [1 outs | 1-2 | 2B] BALL IN PLAY
    Ruturaj Khot runs → fly out.
    Ruturaj Khot is out.
  --- Now batting: Haoran Yang ---
  [2 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [2 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [2 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [2 outs | 2-2 | 2B] BALL IN PLAY
    Haoran Yang runs → fly out.
    Haoran Yang is out.
  --- Now batting: Fadi Al-Saluli ---
  [3 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 2B] HIT BY PITCH
    HBP — Fadi Al-Saluli awarded 1B.
  --- Now batting: Naveen Mohmand ---
  [3 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [3 outs | 0-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Mahmoud Sabry ---
  [4 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Mahmoud Sabry runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [4 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Dubai Air Force sends in joker Umar Latif for an extra plate appearance (joker #1).
  --- Now batting: Umar Latif ---
  [4 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Umar Latif takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner at 1B thrown out.
  [5 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [5 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [5 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [5 outs | 0-2 | 3B] BALL
    Ball 1. Count: 1-2.
  [5 outs | 1-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [6 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Ayoub Belhaj exits (9 BF this spell).
  [6 outs | 0-0 | 3B] JOKER INSERTION
    Dubai Air Force sends in joker Kerem Al-Ghannam for an extra plate appearance (joker #2).
  --- Now batting: Kerem Al-Ghannam ---
  [6 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [6 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [6 outs | 1-1 | 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    1 run(s) score.
  [6 outs | 1-1 | empty] CALLED STRIKE
    Strike (called). Count: 1-2.
  [6 outs | 1-2 | empty] BALL IN PLAY
    Kerem Al-Ghannam runs → fly out.
    ROBBED! Mohun Sharma runs it down — a sure extra-base hit erased!
    Kerem Al-Ghannam is out.
  [7 outs | 0-0 | empty] JOKER INSERTION
    Dubai Air Force sends in joker Baghdad Al-Saadi for an extra plate appearance (joker #3).
  --- Now batting: Baghdad Al-Saadi ---
  [7 outs | 0-0 | empty] SAC BUNT
  [8 outs | 0-0 | empty] BALL IN PLAY
    Baghdad Al-Saadi runs → ground out.
    Baghdad Al-Saadi is out.
  --- Now batting: Sagar Lamichhane ---
  [9 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [9 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [9 outs | 3-0 | empty] BALL
    WALK — Sagar Lamichhane awarded 1B.
  --- Now batting: Youssef Bennani ---
  [9 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [9 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [9 outs | 1-1 | 1B] BALL IN PLAY
    Youssef Bennani runs → single.
    Runner advances from 1B to 3B.
  [9 outs | 0-0 | 1B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Bassam Sharif ---
  [10 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [10 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [10 outs | 0-2 | 3B] BALL IN PLAY
    Bassam Sharif runs → double.
    Runner scores from 3B.
  --- Now batting: Ruturaj Khot ---
  [10 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [10 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [10 outs | 0-2 | 2B] BALL IN PLAY
    Ruturaj Khot runs → single.
    Runner advances from 2B to 3B.
  --- Now batting: Haoran Yang ---
  [10 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Haoran Yang runs → line out.
    Haoran Yang is out.
  --- Now batting: Fadi Al-Saluli ---
  [11 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [11 outs | 0-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [11 outs | 0-2 | 1B, 3B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  [12 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [12 outs | 0-2 | 3B] BALL IN PLAY
    Fadi Al-Saluli runs → single.
  --- Now batting: Naveen Mohmand ---
  [12 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [12 outs | 2-0 | 1B, 3B] BALL
    Ball 3. Count: 3-0.
  [12 outs | 3-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [12 outs | 3-1 | 1B, 3B] BALL
    WALK — Naveen Mohmand awarded 1B.
    Runner advances from 1B to 2B.
  [12 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Shardul Soni pinch-runs for Naveen Mohmand at 1B.
  --- Now batting: Mahmoud Sabry ---
  [12 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Mahmoud Sabry runs → line out.
    Mahmoud Sabry is out.
  [13 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Dubai Air Force sends in joker Umar Latif for an extra plate appearance (joker #4).
  --- Now batting: Umar Latif ---
  [13 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [13 outs | 2-1 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [13 outs | 3-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [13 outs | 3-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [13 outs | 3-2 | 1B, 2B, 3B] BALL IN PLAY
    Umar Latif runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [13 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Dubai Air Force sends in joker Kerem Al-Ghannam for an extra plate appearance (joker #5).
  --- Now batting: Kerem Al-Ghannam ---
  [13 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Kerem Al-Ghannam runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [13 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Aditya Sharma exits (12 BF this spell).
  [13 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Dubai Air Force sends in joker Baghdad Al-Saadi for an extra plate appearance (joker #6).
  --- Now batting: Baghdad Al-Saadi ---
  [13 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 1B, 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  [13 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [13 outs | 3-0 | 2B, 3B] BALL
    WALK — Baghdad Al-Saadi awarded 1B.
  --- Now batting: Víctor Rojas [P] ---
  [13 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 1B, 2B, 3B] BALL IN PLAY
    Víctor Rojas runs → fly out.
    Víctor Rojas is out.
  --- Now batting: Sagar Lamichhane ---
  [14 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [14 outs | 2-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 2-1.
  [14 outs | 2-1 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [14 outs | 3-1 | 1B, 2B, 3B] BALL IN PLAY
    Sagar Lamichhane runs → fly out.
    Sagar Lamichhane is out.
  --- Now batting: Youssef Bennani ---
  [15 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Youssef Bennani runs → fly out.
    Youssef Bennani is out.
  --- Now batting: Bassam Sharif ---
  [16 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [16 outs | 2-0 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [16 outs | 3-0 | 1B, 2B, 3B] BALL
    WALK — Bassam Sharif awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Ruturaj Khot ---
  [16 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Ruturaj Khot runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Haoran Yang ---
  [16 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Haoran Yang runs → line out.
    Haoran Yang is out.
  --- Now batting: Fadi Al-Saluli ---
  [17 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Fadi Al-Saluli runs → ground out.
    Fadi Al-Saluli is out.
    Runner at 3B thrown out.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [19 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Mohd Shah replaces Goutam Chakraborty at 2B.
  --- Now batting: Shardul Soni ---
  [19 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [19 outs | 0-2 | 2B, 3B] BALL IN PLAY
    Shardul Soni runs → double.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Mahmoud Sabry ---
  [19 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Mahmoud Sabry runs → double play.
    Mahmoud Sabry is out.
    Runner at 2B thrown out.
  [21 outs | 0-0 | 3B] JOKER INSERTION
    Dubai Air Force sends in joker Umar Latif for an extra plate appearance (joker #7).
  --- Now batting: Umar Latif ---
  [21 outs | 0-0 | 3B] BALL IN PLAY
    Umar Latif runs → ground out.
    Umar Latif is out.
  [22 outs | 0-0 | 3B] JOKER INSERTION
    Dubai Air Force sends in joker Kerem Al-Ghannam for an extra plate appearance (joker #8).
  --- Now batting: Kerem Al-Ghannam ---
  [22 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 3B] BALL IN PLAY
    Kerem Al-Ghannam runs → fly out.
    ROBBED! Mehmet Hamrobekov runs it down — a sure extra-base hit erased!
    Kerem Al-Ghannam is out.
  [23 outs | 0-0 | 3B] JOKER INSERTION
    Dubai Air Force sends in joker Baghdad Al-Saadi for an extra plate appearance (joker #9).
  --- Now batting: Baghdad Al-Saadi ---
  [23 outs | 0-0 | 3B] BALL IN PLAY
    Baghdad Al-Saadi runs → fielder's choice.
    Runner at 3B thrown out.
  [24 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Sarfaraz Naqvi exits (13 BF this spell).
  --- Now batting: Víctor Rojas [P] ---
  [24 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 1B] BALL IN PLAY
    Víctor Rojas runs → double play.
    Víctor Rojas is out.
    Runner at 1B thrown out.
  --- Now batting: Sagar Lamichhane ---
  [26 outs | 0-0 | empty] BALL IN PLAY
    Sagar Lamichhane runs → single.
  --- Now batting: Youssef Bennani ---
  [26 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [26 outs | 0-1 | 1B] BALL IN PLAY
    Youssef Bennani runs → ground out.
    Youssef Bennani is out.
    Runner advances from 1B to 2B.

  End of top half — Dubai Air Force: 10 run(s), 12 hit(s), 27 out(s) | Run rate: 0.370
  ============================================================
  HALFTIME
    Dubai Air Force: 10 run(s)
    Esfahan Imperials need 11 run(s) to win
    Required run rate: 0.407 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Esfahan Imperials batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Khalid Zafar ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | empty] CALLED STRIKE
    Strike (called). Count: 2-1.
  [0 outs | 2-1 | empty] BALL IN PLAY
    Khalid Zafar runs → double.
  --- Now batting: Kin Teoh ---
  [0 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [0 outs | 3-0 | 2B] BALL IN PLAY
    Kin Teoh runs → ground out.
    Kin Teoh is out.
    Runner at 2B thrown out.
  --- Now batting: Talgat Al-Aghbari ---
  [2 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [2 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [2 outs | 3-0 | empty] BALL
    WALK — Talgat Al-Aghbari awarded 1B.
  --- Now batting: Niroshan Jayasuriya ---
  [2 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [2 outs | 0-1 | 1B] BALL IN PLAY
    Niroshan Jayasuriya runs → fielder's choice.
    Runner at 1B thrown out.
  [3 outs | 0-0 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  --- Now batting: Vihaan Khanna ---
  [3 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 2B] BALL IN PLAY
    Vihaan Khanna runs → ground out.
    Vihaan Khanna is out.
    Runner advances from 2B to 3B.
  [4 outs | 0-0 | 3B] JOKER INSERTION
    Esfahan Imperials sends in joker Mohun Sharma for an extra plate appearance (joker #1).
  --- Now batting: Mohun Sharma ---
  [4 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | 3B] BALL IN PLAY
    Mohun Sharma runs → fielder's choice.
    Runner at 3B thrown out.
  [5 outs | 0-0 | 1B] JOKER INSERTION
    Esfahan Imperials sends in joker Tahir Butt for an extra plate appearance (joker #2).
  --- Now batting: Tahir Butt ---
  [5 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [5 outs | 1-0 | 2B] BALL IN PLAY
    Tahir Butt runs → double.
    Runner at 2B thrown out.
  [6 outs | 0-0 | 2B] JOKER INSERTION
    Esfahan Imperials sends in joker Berat Savaş for an extra plate appearance (joker #3).
  --- Now batting: Berat Savaş ---
  [6 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [6 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [6 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [6 outs | 2-1 | 2B] BALL
    Ball 3. Count: 3-1.
  [6 outs | 3-1 | 2B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [6 outs | 3-2 | 2B] FOUL
    Foul ball. Count: 3-2.
  [6 outs | 3-2 | 2B] FOUL
    Foul ball. Count: 3-2.
  [6 outs | 3-2 | 2B] BALL
    WALK — Berat Savaş awarded 1B.
  --- Now batting: Mohd Shah ---
  [6 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [6 outs | 1-1 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [6 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [6 outs | 2-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [6 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [6 outs | 3-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Zeeshan Bhatti ---
  [7 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [7 outs | 0-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [7 outs | 0-2 | 1B, 3B] BALL
    Ball 1. Count: 1-2.
  [7 outs | 1-2 | 1B, 3B] BALL IN PLAY
    Zeeshan Bhatti runs → single.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Elkan Wahyudi ---
  [7 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [7 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [7 outs | 0-2 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Ayoub Belhaj [P] ---
  [8 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 1B, 2B] FOUL
    Foul ball. Count: 1-2.
  [8 outs | 1-2 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [8 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [8 outs | 2-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Khalid Zafar ---
  [9 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Khalid Zafar takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
  --- Now batting: Kin Teoh ---
  [10 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [10 outs | 1-1 | 2B, 3B] BALL IN PLAY
    Kin Teoh runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
  [10 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Víctor Rojas exits (14 BF this spell).
  --- Now batting: Talgat Al-Aghbari ---
  [10 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [10 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [10 outs | 2-1 | 2B] BALL IN PLAY
    Talgat Al-Aghbari runs → fly out.
    Talgat Al-Aghbari is out.
  --- Now batting: Niroshan Jayasuriya ---
  [11 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [11 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Vihaan Khanna ---
  [12 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 3B] FOUL
    Foul ball. Count: 1-1.
  [12 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [12 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [12 outs | 3-1 | 3B] FOUL
    Foul ball. Count: 3-2.
  [12 outs | 3-2 | 3B] BALL
    WALK — Vihaan Khanna awarded 1B.
  [12 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Esfahan Imperials sends in joker Mohun Sharma for an extra plate appearance (joker #4).
  --- Now batting: Mohun Sharma ---
  [12 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Mohun Sharma takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
  [12 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [12 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [12 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [12 outs | 1-2 | 2B] BALL IN PLAY
    Mohun Sharma runs → fly out.
    Mohun Sharma is out.
  [13 outs | 0-0 | 2B] JOKER INSERTION
    Esfahan Imperials sends in joker Tahir Butt for an extra plate appearance (joker #5).
  --- Now batting: Tahir Butt ---
  [13 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Tahir Butt given a free pass.
  [13 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Esfahan Imperials sends in joker Berat Savaş for an extra plate appearance (joker #6).
  --- Now batting: Berat Savaş ---
  [13 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Berat Savaş runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  [13 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Norman Zainal exits (6 BF this spell).
  --- Now batting: Mohd Shah ---
  [13 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | 2B] FOUL
    Foul ball. Count: 2-1.
  [13 outs | 2-1 | 2B] BALL IN PLAY
    Mohd Shah runs → ground out.
    Mohd Shah is out.
    Runner at 2B thrown out.
  --- Now batting: Zeeshan Bhatti ---
  [15 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [15 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | empty] BALL IN PLAY
    Zeeshan Bhatti runs → ground out.
    Zeeshan Bhatti is out.
  --- Now batting: Elkan Wahyudi ---
  [16 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | empty] BALL IN PLAY
    Elkan Wahyudi runs → single.
  --- Now batting: Ayoub Belhaj [P] ---
  [16 outs | 0-0 | 1B] SAC BUNT
  [17 outs | 0-0 | 2B] JOKER INSERTION
    Esfahan Imperials sends in joker Mohun Sharma for an extra plate appearance (joker #7).
  --- Now batting: Mohun Sharma ---
  [17 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 2B] FOUL
    Foul ball. Count: 1-1.
  [17 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [17 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [17 outs | 2-2 | 2B] BALL IN PLAY
    Mohun Sharma runs → double.
    Runner scores from 2B.
  [17 outs | 0-0 | 2B] JOKER INSERTION
    Esfahan Imperials sends in joker Tahir Butt for an extra plate appearance (joker #8).
  --- Now batting: Tahir Butt ---
  [17 outs | 0-0 | 2B] BALL IN PLAY
    Tahir Butt runs → single.
    Runner advances from 2B to 3B.
  [17 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Esfahan Imperials sends in joker Berat Savaş for an extra plate appearance (joker #9).
  [17 outs | 0-0 | 1B, 3B] PINCH HITTER
    Wael Yehia pinch-hits for Berat Savaş.
  --- Now batting: Berat Savaş ---
  [17 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [17 outs | 1-1 | 1B, 3B] BALL IN PLAY
    Berat Savaş runs → double.
    Runner scores from 3B.
    Runner scores from 1B.
  [17 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Samar Kumar exits (6 BF this spell).
  [17 outs | 0-0 | 2B] DEFENSIVE SUB
    Inzamam Chishti replaces Shardul Soni at SS.
  --- Now batting: Wael Yehia ---
  [17 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [17 outs | 2-0 | 2B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [17 outs | 2-1 | 2B] BALL
    Ball 3. Count: 3-1.
  [17 outs | 3-1 | 2B] BALL
    WALK — Wael Yehia awarded 1B.
  [17 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Mido Hamdi replaces Haoran Yang at CF.
  --- Now batting: Kin Teoh ---
  [17 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Kin Teoh runs → line out.
    Kin Teoh is out.
  [18 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Fareed Janat pinch-runs for Wael Yehia at 1B.
  --- Now batting: Talgat Al-Aghbari ---
  [18 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Talgat Al-Aghbari runs → double.
    Runner scores from 2B.
    Runner scores from 1B.

  End of bottom half — Esfahan Imperials: 11 run(s), 11 hit(s), 18 out(s) | Run rate: 0.611

  ============================================================
  GAME OVER: ESFAHAN IMPERIALS WIN 11–10
  ============================================================
  Final score: Esfahan Imperials 11, Dubai Air Force 10
  ============================================================
  LINE SCORE
                          1      R
  Dubai Air Force        10     10
  Esfahan Imperials      11     11

  ============================================================
  DUBAI AIR FORCE BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Víctor Rojas            2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Haoran Yang             3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Oday Ghram              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shardul Soni            1    1    1    1    1    0    0     1    0    0    0    0     0    0
  Rishabh Tandon          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bassam Sharif           3    2    2    1    1    0    0     3    1    0    0    0     0    0
  Wafadar Karim           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Imran Shafiq            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Naveen Mohmand          2    1    0    0    0    0    0     0    1    1    0    0     0    0
  Umar Latif              3    3    1    2    0    0    0     2    0    1    0    1     1    0
  Baghdad Al-Saadi        4    3    0    0    0    0    0     0    1    0    0    0     0    0
  Kerem Al-Ghannam        3    3    1    1    0    0    0     1    0    0    0    0     0    0
  Phani Pai               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ruturaj Khot            3    3    0    2    0    0    0     1    0    0    0    0     0    0
  Mahmoud Sabry           3    3    0    1    0    0    0     0    0    0    0    0     0    0
  Fadi Al-Saluli          3    2    2    1    0    0    0     0    0    0    1    0     0    0
  Ahmed Rashid            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sai Chaudhary           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rachid Bouazizi         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mido Hamdi              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Inzamam Chishti         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tarek Hakimi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Halicharan Kahlon       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Youssef Bennani         4    3    1    1    0    0    0     0    1    0    0    0     0    0
  Sagar Lamichhane        4    3    2    2    0    0    0     0    1    0    0    0     0    0
  Himanshu Randhawa       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ashish Kotak            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Janith Vaas             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mansoor Saifi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Fareed Orakzai          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aarav Chaudhary         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ravichandran Kulkarni    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pratik Dave             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hariharan Reddy         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zeeshan Babar           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Norman Zainal           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Samar Kumar             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rahim Ahmad             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mohamadou Salleh        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Babar Munir             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mizan Islam             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sreesanth Natarajan     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Akash Cheema            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 38   32   10   12    2    0    0     8    5    2    1    1     1    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Víctor Rojas           14   10    4    3    2    3    0
  Norman Zainal           6    3    2    3    2    1    0
  Samar Kumar             6    4    4    3    0    0    0
  Himanshu Randhawa       3    1    1    2    1    0    0

  ============================================================
  ESFAHAN IMPERIALS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Ayoub Belhaj            2    1    0    0    0    0    0     0    0    1    0    0     0    0
  Stephen Sharma          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kin Teoh                3    3    1    1    1    0    0     2    0    0    0    0     0    0
  Umar Awan               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zeeshan Bhatti          2    2    1    1    0    0    0     1    0    0    0    0     0    0
  Wael Yehia              1    0    0    0    0    0    0     0    1    0    0    0     0    0
  Sandesh Mann            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Khalid Zafar            2    2    0    1    1    0    0     0    0    0    0    0     0    0
  Berat Savaş             3    2    2    2    2    0    0     4    1    0    0    0     0    0
  Tahir Butt              3    2    3    2    1    0    0     0    1    0    0    0     0    0
  Mohun Sharma            3    3    1    2    1    0    0     2    0    0    0    1     1    0
  Vihaan Khanna           2    1    1    0    0    0    0     0    1    0    0    0     0    0
  Fareed Janat            0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Zahir Hassan            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Metecan Al-Shaikh       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Udanta Brar             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Krishnan Sivaraman      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Towhid Karim            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mehmet Hamrobekov       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jubair Hossain          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Elkan Wahyudi           2    2    1    1    0    0    0     0    0    1    0    0     0    0
  Goutam Chakraborty      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ajit Joshi              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Talgat Al-Aghbari       3    2    0    1    1    0    0     2    1    0    0    0     0    0
  Niroshan Jayasuriya     2    2    0    0    0    0    0     0    0    1    0    0     0    0
  Riddhi Dutta            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sunil Pokharel          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Arnab Majumdar          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hamza Niazi             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tarun Mittal            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mehul Parikh            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sharif Bhuiyan          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yash Mishra             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ramiz Amani             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aditya Sharma           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sarfaraz Naqvi          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Catur Nugroho           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sarthak Cheema          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shoaib Bashir           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hadi Permadi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shadab Ahmed            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Najib Ibrahimi          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Naser Latifi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mohd Shah               2    2    0    0    0    0    0     0    0    1    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 30   24   11   11    7    0    0    11    5    4    0    1     1    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Ayoub Belhaj            9    6    3    2    1    2    1
  Aditya Sharma          12    7    6    4    2    0    0
  Sarfaraz Naqvi         13   11    2    4    2    0    0
  Hamza Niazi             3    3    1    0    0    0    0

  ============================================================
  Run rate:  Dubai Air Force  0.370    Esfahan Imperials  0.407
  Second-Chance ABs:  Dubai Air Force  1    Esfahan Imperials  1
  IBB (Esfahan Imperials): Tahir Butt.
  Required run rate (Esfahan Imperials): 0.407 R/out (needed 11 runs in 27 outs)
  Powerplays: Esfahan Imperials — Mehmet Hamrobekov NF (O14-17, 1 PO), Dubai Air Force — Mido Hamdi NF (O14-17)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Bassam Sharif         Ruturaj Khot               1  top
  Ruturaj Khot          Haoran Yang                0  top
  Haoran Yang           Naveen Mohmand             0  top
  Naveen Mohmand        Mahmoud Sabry              1  top
  Mahmoud Sabry         Umar Latif                 0  top
  Umar Latif            Kerem Al-Ghannam           1  top
  Kerem Al-Ghannam      Baghdad Al-Saadi           0  top
  Baghdad Al-Saadi      Baghdad Al-Saadi           0  top
  Baghdad Al-Saadi      Youssef Bennani            0  top
  Youssef Bennani       Haoran Yang                1  top
  Haoran Yang           Ruturaj Khot               0  top
  Ruturaj Khot          Mahmoud Sabry              0  top
  Mahmoud Sabry         Víctor Rojas               3  top
  Víctor Rojas          Sagar Lamichhane           0  top
  Sagar Lamichhane      Youssef Bennani            0  top
  Youssef Bennani       Haoran Yang                2  top
  Haoran Yang           Baghdad Al-Saadi           0  top
  Baghdad Al-Saadi      Fadi Al-Saluli             0  top
  Fadi Al-Saluli        Shardul Soni               1  top
  Shardul Soni          Mahmoud Sabry              0  top
  Mahmoud Sabry         Umar Latif                 0  top
  Umar Latif            Kerem Al-Ghannam           0  top
  Kerem Al-Ghannam      Ruturaj Khot               0  top
  Ruturaj Khot          Baghdad Al-Saadi           0  top
  Baghdad Al-Saadi      Víctor Rojas               0  top
  Víctor Rojas          Youssef Bennani            0  top
  Khalid Zafar          Kin Teoh                   0  bottom
  Kin Teoh              Talgat Al-Aghbari          0  bottom
  Talgat Al-Aghbari     Vihaan Khanna              0  bottom
  Vihaan Khanna         Niroshan Jayasuriya        0  bottom
  Niroshan Jayasuriya   Mohun Sharma               0  bottom
  Mohun Sharma          Mohd Shah                  0  bottom
  Mohd Shah             Elkan Wahyudi              1  bottom
  Elkan Wahyudi         Ayoub Belhaj               0  bottom
  Ayoub Belhaj          Khalid Zafar               0  bottom
  Khalid Zafar          Talgat Al-Aghbari          2  bottom
  Talgat Al-Aghbari     Niroshan Jayasuriya        0  bottom
  Niroshan Jayasuriya   Mohun Sharma               1  bottom
  Mohun Sharma          Berat Savaş                2  bottom
  Berat Savaş           Mohd Shah                  0  bottom
  Mohd Shah             Zeeshan Bhatti             0  bottom
  Zeeshan Bhatti        Ayoub Belhaj               0  bottom
  Ayoub Belhaj          Kin Teoh                   3  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 43  |  Avg runs/partnership: 0.44
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Ayoub Belhaj          top            1    9    6     2     3     1     2     1
  Aditya Sharma         top           10   12    7     4     6     2     0     0
  Sarfaraz Naqvi        top           23   13   11     4     2     2     0     0
  Hamza Niazi           top           36    3    3     0     1     0     0     0
  Víctor Rojas          bottom         1   14   10     3     4     2     3     0
  Norman Zainal         bottom        15    6    3     3     2     2     1     0
  Samar Kumar           bottom        21    6    4     3     4     0     0     0
  Himanshu Randhawa     bottom        28    3    1     2     1     1     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 8


pbp_text:
  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Lima Miners batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Mitty Tippmann ---
  [0 outs | 0-0 | empty] INTENTIONAL WALK
    INTENTIONAL WALK — Mitty Tippmann given a free pass.
  --- Now batting: Yoelvis Céspedes ---
  [0 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | 1B] FOUL
    Foul ball. Count: 2-1.
  [0 outs | 2-1 | 1B] BALL IN PLAY
    Yoelvis Céspedes runs → ground out.
    Yoelvis Céspedes is out.
    Runner advances from 1B to 2B.
  --- Now batting: Gastón Aldama ---
  [1 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [1 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [1 outs | 1-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [2 outs | 0-0 | 2B] JOKER INSERTION
    Lima Miners sends in joker Lucas Armando for an extra plate appearance (joker #1).
  [2 outs | 0-0 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  --- Now batting: Lucas Armando ---
  [2 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [2 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [2 outs | 1-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Eriq Carmona ---
  [3 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [3 outs | 0-1 | 3B] BALL IN PLAY
    Eriq Carmona runs → double.
    Runner scores from 3B.
  --- Now batting: Jayvin Sewing ---
  [3 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [3 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [3 outs | 2-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Sebastian Stark ---
  [4 outs | 0-0 | 2B] BALL IN PLAY
    Sebastian Stark runs → double.
    Runner scores from 2B.
  [4 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Mark Beach exits (7 BF this spell).
  --- Now batting: Jaquan Fretz ---
  [4 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [4 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [4 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [5 outs | 0-0 | 2B] JOKER INSERTION
    Lima Miners sends in joker Mário Ortiz for an extra plate appearance (joker #2).
  --- Now batting: Mário Ortiz ---
  [5 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [5 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [5 outs | 3-0 | 2B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [5 outs | 3-1 | 2B] BALL IN PLAY
    Mário Ortiz runs → line out.
    Mário Ortiz is out.
  --- Now batting: Caleb Sheehy ---
  [6 outs | 0-0 | 2B] BALL IN PLAY
    Caleb Sheehy runs → ground out.
    Caleb Sheehy is out.
    Runner advances from 2B to 3B.
  --- Now batting: Aaron Piette [P] ---
  [7 outs | 0-0 | 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Aaron Piette given a free pass.
  --- Now batting: Mitty Tippmann ---
  [7 outs | 0-0 | 1B, 3B] SAC BUNT
  --- Now batting: Yoelvis Céspedes ---
  [8 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [8 outs | 2-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [8 outs | 2-1 | 1B, 3B] FOUL
    Foul ball. Count: 2-2.
  [8 outs | 2-2 | 1B, 3B] BALL IN PLAY
    Yoelvis Céspedes runs → double.
    Runner scores from 3B.
    Runner scores from 1B.
  --- Now batting: Gastón Aldama ---
  [8 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [8 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [8 outs | 1-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Eriq Carmona ---
  [9 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 2B] BALL IN PLAY
    Eriq Carmona runs → double.
    Runner scores from 2B.
  --- Now batting: Jayvin Sewing ---
  [9 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 2B] HIT BY PITCH
    HBP — Jayvin Sewing awarded 1B.
  --- Now batting: Sebastian Stark ---
  [9 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Sebastian Stark runs → fly out.
    Sebastian Stark is out.
  --- Now batting: Jaquan Fretz ---
  [10 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [10 outs | 2-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [10 outs | 2-1 | 1B, 2B] BALL
    Ball 3. Count: 3-1.
  [10 outs | 3-1 | 1B, 2B] BALL
    WALK — Jaquan Fretz awarded 1B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Caleb Sheehy ---
  [10 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [10 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [10 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [10 outs | 2-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [10 outs | 2-2 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-2.
  [10 outs | 3-2 | 1B, 2B, 3B] BALL
    WALK — Caleb Sheehy awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [10 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Matthew Doherty exits (11 BF this spell).
  [10 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Lima Miners sends in joker Steve Yonas for an extra plate appearance (joker #3).
  --- Now batting: Steve Yonas ---
  [10 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [10 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Steve Yonas runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner scores from 1B.
  [10 outs | 0-0 | 2B] JOKER INSERTION
    Lima Miners sends in joker Lucas Armando for an extra plate appearance (joker #4).
  --- Now batting: Lucas Armando ---
  [10 outs | 0-0 | 2B] BALL IN PLAY
    Lucas Armando runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Lucas Armando retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Commodore.]
  --- Now batting: Aaron Piette [P] ---
  [10 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [10 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [10 outs | 1-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [10 outs | 1-2 | 3B] BALL IN PLAY
    Aaron Piette runs → single.
    Runner scores from 3B.
  --- Now batting: Mitty Tippmann ---
  [10 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [10 outs | 0-1 | 1B] BALL IN PLAY
    Mitty Tippmann runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Mitty Tippmann retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by OK Soda.]
  [10 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Kade Greene exits (4 BF this spell).
  --- Now batting: Yoelvis Céspedes ---
  [10 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 3B] BALL IN PLAY
    Yoelvis Céspedes runs → single.
    Runner scores from 3B.
  --- Now batting: Gastón Aldama ---
  [10 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [10 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [10 outs | 3-0 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  [10 outs | 3-0 | 2B] BALL
    WALK — Gastón Aldama awarded 1B.
  --- Now batting: Eriq Carmona ---
  [10 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [10 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [10 outs | 1-1 | 1B, 2B] BALL IN PLAY
    Eriq Carmona runs → triple.
    Runner scores from 2B.
    Runner scores from 1B.
  --- Now batting: Jayvin Sewing ---
  [10 outs | 0-0 | 3B] BALL IN PLAY
    Jayvin Sewing runs → single.
    Runner scores from 3B.
  --- Now batting: Sebastian Stark ---
  [10 outs | 0-0 | 1B] BALL IN PLAY
    Sebastian Stark runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Jaquan Fretz ---
  [10 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Jaquan Fretz runs → triple.
    Runner scores from 2B.
    Runner scores from 1B.
  [10 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Danilo Giraldo exits (6 BF this spell).
  --- Now batting: Caleb Sheehy ---
  [10 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [10 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [10 outs | 0-2 | 3B] BALL
    Ball 1. Count: 1-2.
  [10 outs | 1-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [11 outs | 0-0 | 3B] JOKER INSERTION
    Lima Miners sends in joker Mário Ortiz for an extra plate appearance (joker #5).
  --- Now batting: Mário Ortiz ---
  [11 outs | 0-0 | 3B] BALL IN PLAY
    Mário Ortiz runs → double.
    Runner scores from 3B.
  [11 outs | 0-0 | 2B] JOKER INSERTION
    Lima Miners sends in joker Steve Yonas for an extra plate appearance (joker #6).
  --- Now batting: Steve Yonas ---
  [11 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [11 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [11 outs | 0-2 | 2B] BALL IN PLAY
    Steve Yonas runs → line out.
    Steve Yonas is out.
  [12 outs | 0-0 | 2B] JOKER INSERTION
    Lima Miners sends in joker Lucas Armando for an extra plate appearance (joker #7).
  --- Now batting: Lucas Armando ---
  [12 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [12 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [12 outs | 0-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Aaron Piette [P] ---
  [13 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [13 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [13 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [13 outs | 2-1 | 2B] BALL
    Ball 3. Count: 3-1.
  [13 outs | 3-1 | 2B] BALL
    WALK — Aaron Piette awarded 1B.
  --- Now batting: Mitty Tippmann ---
  [13 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [13 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [13 outs | 0-2 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Yoelvis Céspedes ---
  [14 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [14 outs | 0-2 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Gastón Aldama ---
  [15 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Gastón Aldama runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  --- Now batting: Eriq Carmona ---
  [15 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 2B] BALL IN PLAY
    Eriq Carmona runs → single.
    Runner at 2B thrown out.
  --- Now batting: Jayvin Sewing ---
  [16 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [17 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [17 outs | 1-1 | empty] CALLED STRIKE
    Strike (called). Count: 1-2.
  [17 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [17 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sebastian Stark ---
  [18 outs | 0-0 | empty] BALL IN PLAY
    Sebastian Stark runs → double.
  --- Now batting: Jaquan Fretz ---
  [18 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [18 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [18 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [19 outs | 0-0 | 2B] DEFENSIVE SUB
    Riley Griffith replaces Joaquín Alarcón at C.
  --- Now batting: Caleb Sheehy ---
  [19 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 2B] BALL IN PLAY
    Caleb Sheehy runs → ground out.
    Caleb Sheehy is out.
    Runner advances from 2B to 3B.
  [20 outs | 0-0 | 3B] JOKER INSERTION
    Lima Miners sends in joker Mário Ortiz for an extra plate appearance (joker #8).
  --- Now batting: Mário Ortiz ---
  [20 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [20 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Aaron Piette [P] ---
  [21 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [21 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Mitty Tippmann ---
  [22 outs | 0-0 | 3B] BALL IN PLAY
    Mitty Tippmann runs → single.
    Runner scores from 3B.
  --- Now batting: Yoelvis Céspedes ---
  [22 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [22 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [22 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [22 outs | 1-2 | 1B] FOUL
    Foul ball. Count: 1-2.
  [22 outs | 1-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [23 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Ernest Craig exits (17 BF this spell).
  --- Now batting: Gastón Aldama ---
  [23 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [23 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | 1B] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | 1B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Eriq Carmona ---
  [24 outs | 0-0 | 1B] BALL IN PLAY
    Eriq Carmona runs → fly out.
    Eriq Carmona is out.
  --- Now batting: Jayvin Sewing ---
  [25 outs | 0-0 | 1B] BALL IN PLAY
    Jayvin Sewing runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Sebastian Stark ---
  [25 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [25 outs | 2-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [25 outs | 2-1 | 1B, 2B] BALL
    Ball 3. Count: 3-1.
  [25 outs | 3-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 3-2.
  [25 outs | 3-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Jaquan Fretz ---
  [26 outs | 0-0 | 1B, 2B] DECLARATION
    >> Lima Miners DECLARES SECONDS at out 26 (24-0).

  End of bottom half — Lima Miners: 24 run(s), 19 hit(s), 27 out(s) | Run rate: 0.889
  ============================================================
  HALFTIME
    Hermosillo Mariners: 0 run(s)
    Lima Miners need 1 run(s) to win
    Required run rate: 0.037 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  TOP HALF | Hermosillo Mariners batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Edward Holly ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Juan Devens ---
  [1 outs | 0-0 | empty] BALL IN PLAY
    Juan Devens runs → single.
  --- Now batting: Straight Scherman ---
  [1 outs | 0-0 | 1B] BALL IN PLAY
    Straight Scherman runs → double.
    Runner scores from 1B.
  --- Now batting: Quentin Naeve ---
  [1 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [1 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [1 outs | 0-2 | 2B] BALL IN PLAY
    Quentin Naeve runs → double.
    Runner scores from 2B.
  [1 outs | 0-0 | 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  --- Now batting: Patrick Rybakov ---
  [2 outs | 0-0 | empty] BALL IN PLAY
    Patrick Rybakov runs → HOME RUN.
    Batter scores (HR).
    [Walk-Back — Patrick Rybakov retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Burma-Shave.]
  --- Now batting: Joseph Waterman ---
  [2 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [2 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [2 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Ted Speltz ---
  [3 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [3 outs | 2-0 | 3B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [3 outs | 2-1 | 3B] CALLED STRIKE
    Strike (called). Count: 2-2.
  [3 outs | 2-2 | 3B] FOUL
    Foul ball. Count: 2-2.
  [3 outs | 2-2 | 3B] FOUL
    Foul ball. Count: 2-2.
  [3 outs | 2-2 | 3B] BALL IN PLAY
    Ted Speltz runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Ted Speltz retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Saturn.]
  [3 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Aaron Piette exits (7 BF this spell).
  --- Now batting: Riley Griffith ---
  [3 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [3 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [3 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [3 outs | 3-1 | 3B] BALL IN PLAY
    Riley Griffith runs → fly out.
    Riley Griffith is out.
    Runner at 3B thrown out.
  [5 outs | 0-0 | empty] JOKER INSERTION
    Hermosillo Mariners sends in joker Junior Cruz for an extra plate appearance (joker #1).
  --- Now batting: Junior Cruz ---
  [5 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | empty] BALL IN PLAY
    Junior Cruz runs → double.
  [5 outs | 0-0 | 2B] JOKER INSERTION
    Hermosillo Mariners sends in joker Oliver Warner for an extra plate appearance (joker #2).
  --- Now batting: Oliver Warner ---
  [5 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [5 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [5 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [5 outs | 2-2 | 2B] FOUL
    Foul ball. Count: 2-2.
  [5 outs | 2-2 | 2B] FOUL
    Foul ball. Count: 2-2.
  [5 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [5 outs | 3-2 | 2B] BALL
    WALK — Oliver Warner awarded 1B.
  [5 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Hermosillo Mariners sends in joker Alexei Céspedes for an extra plate appearance (joker #3).
  --- Now batting: Alexei Céspedes ---
  [5 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [5 outs | 0-2 | 1B, 2B] BALL IN PLAY
    Alexei Céspedes runs → HOME RUN.
    Runner scores.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Alexei Céspedes retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Coleco.]
  --- Now batting: Mark Beach [P] ---
  [5 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [5 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [5 outs | 1-1 | 3B] BALL IN PLAY
    Mark Beach runs → error.
    Runner scores from 3B.
  --- Now batting: Edward Holly ---
  [5 outs | 0-0 | 1B] BALL IN PLAY
    Edward Holly runs → double.
    Runner scores from 1B.
  [5 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Kolby Corontzes exits (6 BF this spell).
  --- Now batting: Juan Devens ---
  [5 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [5 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [5 outs | 1-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Straight Scherman ---
  [6 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [6 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [6 outs | 0-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Quentin Naeve ---
  [7 outs | 0-0 | 2B] BALL IN PLAY
    Quentin Naeve runs → fly out.
    ROBBED! Caleb Sheehy runs it down — a sure extra-base hit erased!
    Quentin Naeve is out.
  --- Now batting: Patrick Rybakov ---
  [8 outs | 0-0 | 2B] BALL IN PLAY
    Patrick Rybakov runs → single.
    Runner scores from 2B.
  --- Now batting: Joseph Waterman ---
  [8 outs | 0-0 | 1B] BALL IN PLAY
    Joseph Waterman runs → double.
    Runner scores from 1B.
  --- Now batting: Ted Speltz ---
  [8 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 2B] BALL IN PLAY
    Ted Speltz runs → single.
    Runner scores from 2B.
  --- Now batting: Riley Griffith ---
  [8 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B] BALL IN PLAY
    Riley Griffith runs → line out.
    Riley Griffith is out.
  --- Now batting: Mark Beach [P] ---
  [9 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Edward Holly ---
  [10 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [10 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [10 outs | 1-2 | 1B] BALL IN PLAY
    Edward Holly runs → triple.
    Runner scores from 1B.
  --- Now batting: Juan Devens ---
  [10 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 3B] FOUL
    Foul ball. Count: 1-1.
  [10 outs | 1-1 | 3B] BALL IN PLAY
    Juan Devens runs → double.
    Runner scores from 3B.
  [10 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Ammar Connelly exits (9 BF this spell).
  --- Now batting: Straight Scherman ---
  [10 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [10 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [10 outs | 2-1 | 2B] FOUL
    Foul ball. Count: 2-2.
  [10 outs | 2-2 | 2B] BALL IN PLAY
    Straight Scherman runs → ground out.
    Straight Scherman is out.
    Runner at 2B thrown out.
  --- Now batting: Quentin Naeve ---
  [12 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [12 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [12 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [12 outs | 1-2 | empty] BALL IN PLAY
    Quentin Naeve runs → double.
  --- Now batting: Patrick Rybakov ---
  [12 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [12 outs | 0-2 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  [12 outs | 0-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Joseph Waterman ---
  [13 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 3B] BALL IN PLAY
    Joseph Waterman runs → fly out.
    Joseph Waterman is out.
    Runner at 3B thrown out.
  --- Now batting: Ted Speltz ---
  [15 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [15 outs | 1-1 | empty] BALL IN PLAY
    Ted Speltz runs → ground out.
    Ted Speltz is out.
  --- Now batting: Riley Griffith ---
  [16 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [16 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [16 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [17 outs | 0-0 | empty] JOKER INSERTION
    Hermosillo Mariners sends in joker Junior Cruz for an extra plate appearance (joker #4).
  --- Now batting: Junior Cruz ---
  [17 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [17 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [17 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [17 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [17 outs | 0-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [18 outs | 0-0 | empty] JOKER INSERTION
    Hermosillo Mariners sends in joker Oliver Warner for an extra plate appearance (joker #5).
  --- Now batting: Oliver Warner ---
  [18 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [18 outs | 2-0 | empty] FOUL
    Foul ball. Count: 2-1.
  [18 outs | 2-1 | empty] FOUL
    Foul ball. Count: 2-2.
  [18 outs | 2-2 | empty] BALL IN PLAY
    Oliver Warner runs → fly out.
    ROBBED! Howard Caner runs it down — a sure extra-base hit erased!
    Oliver Warner is out.
  [19 outs | 0-0 | empty] JOKER INSERTION
    Hermosillo Mariners sends in joker Alexei Céspedes for an extra plate appearance (joker #6).
  [19 outs | 0-0 | empty] DEFENSIVE SUB
    Collin Rohan replaces Caleb Sheehy at 2B.
  --- Now batting: Alexei Céspedes ---
  [19 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [19 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [19 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [19 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [19 outs | 3-2 | empty] BALL
    WALK — Alexei Céspedes awarded 1B.
  --- Now batting: Mark Beach [P] ---
  [19 outs | 0-0 | 1B] BALL IN PLAY
    Mark Beach runs → line out.
    Mark Beach is out.
  --- Now batting: Edward Holly ---
  [20 outs | 0-0 | 1B] BALL IN PLAY
    Edward Holly runs → single.
    Runner at 1B thrown out.
  --- Now batting: Juan Devens ---
  [21 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [21 outs | 2-0 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [22 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [22 outs | 3-0 | empty] FOUL
    Foul ball. Count: 3-1.
  [22 outs | 3-1 | empty] BALL
    WALK — Juan Devens awarded 1B.
  --- Now batting: Straight Scherman ---
  [22 outs | 0-0 | 1B] BALL IN PLAY
    Straight Scherman runs → single.
    Runner advances from 1B to 3B.
  --- Now batting: Quentin Naeve ---
  [22 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B, 3B] BALL IN PLAY
    Quentin Naeve runs → HOME RUN.
    Runner scores.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Quentin Naeve retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by OK Soda.]
  [22 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Stone Wildey exits (14 BF this spell).
  --- Now batting: Patrick Rybakov ---
  [22 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [22 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [22 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [22 outs | 0-2 | 3B] BALL
    Ball 1. Count: 1-2.
  [22 outs | 1-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Joseph Waterman ---
  [23 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 3B] BALL IN PLAY
    Joseph Waterman runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Joseph Waterman retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Enron.]
  --- Now batting: Ted Speltz ---
  [23 outs | 0-0 | 3B] BALL IN PLAY
    Ted Speltz runs → single.
    Runner scores from 3B.
  [23 outs | 0-0 | 1B] PINCH HITTER
    Shannon Atteck pinch-hits for Riley Griffith.
  [23 outs | 0-0 | 1B] JOKER INSERTION
    Hermosillo Mariners sends in joker Junior Cruz for an extra plate appearance (joker #7).
  [23 outs | 0-0 | 1B] PINCH RUNNER
    Chris Ramsey pinch-runs for Ted Speltz at 1B.
  --- Now batting: Junior Cruz ---
  [23 outs | 0-0 | 1B] BALL IN PLAY
    Junior Cruz runs → double.
    Runner scores from 1B.
  [23 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Learner Koury exits (4 BF this spell).
  [23 outs | 0-0 | 2B] JOKER INSERTION
    Hermosillo Mariners sends in joker Oliver Warner for an extra plate appearance (joker #8).
  --- Now batting: Oliver Warner ---
  [23 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Oliver Warner given a free pass.
  [23 outs | 0-0 | 1B, 2B] PINCH HITTER
    William Earn pinch-hits for Shannon Atteck.
  [23 outs | 0-0 | 1B, 2B] PINCH HITTER
    Lavon Forman pinch-hits for William Earn.
  [23 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Hermosillo Mariners sends in joker Alexei Céspedes for an extra plate appearance (joker #9).
  --- Now batting: Alexei Céspedes ---
  [23 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [23 outs | 2-0 | 1B, 2B] HIT BY PITCH
    HBP — Alexei Céspedes awarded 1B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [23 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Elwood Myers pinch-hits for Lavon Forman.
  [23 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Lourdes Olivera pinch-hits for Elwood Myers.
  [23 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Rusney Hernández pinch-hits for Lourdes Olivera.
  [23 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Yuli Pestano pinch-hits for Rusney Hernández.
  [23 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Lamar Beers pinch-hits for Yuli Pestano.
  --- Now batting: Lamar Beers ---
  [23 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [23 outs | 2-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 2-1.
  [23 outs | 2-1 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [23 outs | 3-1 | 1B, 2B, 3B] BALL IN PLAY
    Lamar Beers runs → line out.
    Lamar Beers is out.
  --- Now batting: Mark Beach [P] ---
  [24 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Mark Beach takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner at 3B thrown out.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Edward Holly ---
  [26 outs | 0-0 | 2B, 3B] DECLARATION
    >> Hermosillo Mariners DECLARES SECONDS at out 26 (22-24).

  End of top half — Hermosillo Mariners: 22 run(s), 20 hit(s), 27 out(s) | Run rate: 0.815

  ────────────────────────────────────────────────────────────
  SECONDS_FIRST | Lima Miners batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Jaquan Fretz ---
  [0 outs | 0-0 | empty] BALL IN PLAY
    Jaquan Fretz runs → single.
  --- Now batting: Collin Rohan ---
  [0 outs | 0-0 | 1B] BALL IN PLAY
    Collin Rohan runs → fly out.
    Collin Rohan is out.

  ────────────────────────────────────────────────────────────
  SECONDS_SECOND | Hermosillo Mariners batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Edward Holly ---
  [0 outs | 0-0 | empty] BALL IN PLAY
    Edward Holly runs → single.
  --- Now batting: Juan Devens ---
  [0 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B] BALL IN PLAY
    Juan Devens runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Straight Scherman ---
  [0 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Straight Scherman runs → ground out.
    Straight Scherman is out.

  ============================================================
  GAME OVER: LIMA MINERS WIN 24–22
  ============================================================
  Final score: Lima Miners 24, Hermosillo Mariners 22
  ============================================================
  LINE SCORE
                          1      2      R
  Hermosillo Mariners     22      0     22
  Lima Miners            24      0     24

  ============================================================
  HERMOSILLO MARINERS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Mark Beach              4    4    2    0    0    0    0     1    0    0    0    0     0    0
  Joseph Waterman         4    4    3    2    1    0    1     3    0    1    0    0     0    0
  William Earn            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Edward Holly            5    5    2    4    1    1    0     2    0    1    0    0     0    0
  Yuli Pestano            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shannon Atteck          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Deonarine Persaud       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Juan Devens             5    4    2    3    1    0    0     1    1    1    0    0     0    0
  Chris Ramsey            0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Junior Cruz             3    3    1    2    2    0    0     1    0    1    0    0     0    0
  Oliver Warner           3    1    1    0    0    0    0     0    2    0    0    0     0    0
  Alexei Céspedes         3    1    2    1    0    0    1     3    1    0    1    0     0    0
  Lavon Forman            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Straight Scherman       5    5    2    2    1    0    0     1    0    0    0    0     0    0
  Bergin Etta             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Elwood Myers            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Edrick Mascherano       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ted Speltz              4    4    1    3    0    0    1     4    0    0    0    0     0    0
  Brandon Hemraj          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Riley Griffith          3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Lourdes Olivera         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lamar Beers             1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Joaquín Alarcón         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chase Stoll             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Patrick Rybakov         4    4    3    2    0    0    1     2    0    2    0    0     0    0
  Quentin Naeve           4    4    2    3    2    0    1     4    0    0    0    0     0    0
  Makai Barros            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rod Link                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tally Cory              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hugo Nash               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chad Hemphill           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ernest Craig            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Danilo Giraldo          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jack Zamarripa          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dennis Balfour          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Francisco Góndola       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kade Greene             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alexei Puig             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yannic Kalicharan       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Matthew Doherty         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Janiran Berhalter       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rykar Bell-Haynes       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rusney Hernández        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vikram Latchman         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yosvani Tomás           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 48   43   22   22    8    1    5    22    4    7    1    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Mark Beach              9    5    3    2    1    2    0
  Matthew Doherty        11    6    2    4    3    1    1
  Kade Greene             4    0    4    8    0    0    0
  Danilo Giraldo          6    0    5    6    1    0    0
  Ernest Craig           17   13    5    4    1    8    0
  Joseph Waterman         4    3    1    0    0    1    0

  ============================================================
  LIMA MINERS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Aaron Piette            4    2    3    1    0    0    0     1    2    1    0    0     0    0
  Yoelvis Céspedes        5    5    2    2    1    0    0     3    0    2    0    0     0    0
  Jayvin Sewing           5    4    2    2    0    0    0     1    0    1    1    0     0    0
  Brad Fagan              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Collin Rohan            1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Sebastian Stark         5    5    3    3    2    0    0     1    0    1    0    0     0    0
  Yuli Morejón            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Eriq Carmona            5    5    3    4    2    1    0     4    0    0    0    0     0    0
  Mitty Tippmann          5    4    3    2    0    0    1     3    1    1    0    0     0    0
  Lucas Armando           3    3    2    1    0    0    1     2    0    1    0    0     0    0
  Mário Ortiz             3    3    1    1    1    0    0     1    0    1    0    0     0    0
  Steve Yonas             2    2    1    1    1    0    0     3    0    0    0    0     0    0
  Kevin Walsh             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zach Feilhaber          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Caleb Sheehy            4    3    1    0    0    0    0     1    1    1    0    0     0    0
  Jameson Holmes-Holt     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Germán Wayar            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Titus Grabb             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jaquan Fretz            5    4    2    2    0    1    0     2    1    2    0    0     0    0
  Iose Dunn               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alexios Keenan          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dwight Kerns            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dayán Sánchez           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cecil Eliuk             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gastón Aldama           5    4    1    1    1    0    0     2    1    1    0    0     0    0
  Joaquín Reina           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kadin Meister           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Fiske Wyatt             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pedro Féliz             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Collin Coates           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bjorn Alloo             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Stone Wildey            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ladislav Reece          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zaydrius Tracy          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ammar Connelly          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vivek Permaul           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kolby Corontzes         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Learner Koury           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Eliot Edmond            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Franklin Rabasco        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rodmond Enquist         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bill Okla               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Howard Caner            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sandy Gambill           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vivek Maharaj           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 52   45   24   20    8    2    2    24    6   12    1    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Aaron Piette           10    4    7    5    0    2    0
  Kolby Corontzes         6    2    3    5    1    0    0
  Ammar Connelly          9    5    5    5    0    1    0
  Stone Wildey           14   12    4    3    2    3    0
  Learner Koury           4    1    3    4    0    1    0
  Pedro Féliz             4    3    0    0    1    0    1

  ============================================================
  Run rate:  Hermosillo Mariners  0.815    Lima Miners  0.889
  Second-Chance ABs:  Hermosillo Mariners  0    Lima Miners  0
  IBB (Hermosillo Mariners): Oliver Warner.
  IBB (Lima Miners): Aaron Piette; Mitty Tippmann.
  Required run rate (Lima Miners): 0.037 R/out (needed 1 runs in 27 outs)
  Seconds: Hermosillo Mariners o26 (22-24), Lima Miners o26 (24-0)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Yoelvis Céspedes      Gastón Aldama              0  bottom
  Gastón Aldama         Lucas Armando              0  bottom
  Lucas Armando         Jayvin Sewing              1  bottom
  Jayvin Sewing         Jaquan Fretz               1  bottom
  Jaquan Fretz          Mário Ortiz                0  bottom
  Mário Ortiz           Caleb Sheehy               0  bottom
  Caleb Sheehy          Mitty Tippmann             0  bottom
  Mitty Tippmann        Gastón Aldama              2  bottom
  Gastón Aldama         Sebastian Stark            1  bottom
  Sebastian Stark       Caleb Sheehy              15  bottom
  Caleb Sheehy          Steve Yonas                1  bottom
  Steve Yonas           Lucas Armando              0  bottom
  Lucas Armando         Mitty Tippmann             0  bottom
  Mitty Tippmann        Yoelvis Céspedes           0  bottom
  Yoelvis Céspedes      Gastón Aldama              2  bottom
  Gastón Aldama         Eriq Carmona               0  bottom
  Eriq Carmona          Jayvin Sewing              0  bottom
  Jayvin Sewing         Jaquan Fretz               0  bottom
  Jaquan Fretz          Caleb Sheehy               0  bottom
  Caleb Sheehy          Mário Ortiz                0  bottom
  Mário Ortiz           Aaron Piette               0  bottom
  Aaron Piette          Yoelvis Céspedes           1  bottom
  Yoelvis Céspedes      Gastón Aldama              0  bottom
  Gastón Aldama         Eriq Carmona               0  bottom
  Eriq Carmona          Sebastian Stark            0  bottom
  Edward Holly          Quentin Naeve              2  top
  Quentin Naeve         Joseph Waterman            1  top
  Joseph Waterman       Ted Speltz                 2  top
  Ted Speltz            Riley Griffith             0  top
  Riley Griffith        Juan Devens                5  top
  Juan Devens           Straight Scherman          0  top
  Straight Scherman     Quentin Naeve              0  top
  Quentin Naeve         Riley Griffith             3  top
  Riley Griffith        Mark Beach                 0  top
  Mark Beach            Juan Devens                2  top
  Juan Devens           Straight Scherman          0  top
  Straight Scherman     Patrick Rybakov            0  top
  Patrick Rybakov       Quentin Naeve              0  top
  Quentin Naeve         Joseph Waterman            0  top
  Joseph Waterman       Ted Speltz                 0  top
  Ted Speltz            Riley Griffith             0  top
  Riley Griffith        Junior Cruz                0  top
  Junior Cruz           Oliver Warner              0  top
  Oliver Warner         Mark Beach                 0  top
  Mark Beach            Alexei Céspedes            0  top
  Alexei Céspedes       Edward Holly               0  top
  Edward Holly          Patrick Rybakov            3  top
  Patrick Rybakov       Lamar Beers                4  top
  Lamar Beers           Junior Cruz                0  top
  Junior Cruz           Mark Beach                 0  top
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 50  |  Avg runs/partnership: 0.92
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Mark Beach            bottom         1    7    4     2     2     1     2     0
  Matthew Doherty       bottom         8   11    6     4     2     3     1     1
  Kade Greene           bottom        20    4    0     8     4     0     0     0
  Danilo Giraldo        bottom        24    6    0     6     5     1     0     0
  Ernest Craig          bottom        30   17   13     4     5     1     8     0
  Joseph Waterman       bottom        47    4    3     0     1     0     1     0
  Aaron Piette          top            1    7    3     5     5     0     2     0
  Kolby Corontzes       top            8    6    2     5     3     1     0     0
  Ammar Connelly        top           14    9    5     5     5     0     1     0
  Stone Wildey          top           24   14   12     3     4     2     3     0
  Learner Koury         top           38    4    1     4     3     0     1     0
  Pedro Féliz           top           42    4    3     0     0     1     0     1
  Mark Beach            seconds_first  1    2    1     0     1     0     0     0
  Aaron Piette          seconds_second  1    3    1     0     2     0     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 14


pbp_text:
  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Lloyd Aereo Boliviano Mavericks batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Everett Koury ---
  [0 outs | 0-0 | empty] BALL IN PLAY
    Everett Koury runs → double.
  --- Now batting: Raz Ahn ---
  [0 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | 2B] BALL IN PLAY
    Raz Ahn runs → ground out.
    Raz Ahn is out.
  --- Now batting: Brian Wear ---
  [1 outs | 0-0 | 2B] BALL IN PLAY
    Brian Wear runs → error.
    Runner advances from 2B to 3B.
  [1 outs | 0-0 | 1B, 3B] PINCH RUNNER
    George Drake pinch-runs for Brian Wear at 1B.
  --- Now batting: Avery Pregnon ---
  [1 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Avery Pregnon runs → single.
    Runner advances from 1B to 2B.
  [1 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Norris Rosen pinch-runs for Avery Pregnon at 1B.
  --- Now batting: Suhander Borré ---
  [1 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Suhander Borré takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Tyler Bartlett ---
  [2 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Tyler Bartlett runs → ground out.
    Tyler Bartlett is out.
  --- Now batting: William Juinio ---
  [3 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [3 outs | 1-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [3 outs | 1-2 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [3 outs | 1-2 | 2B, 3B] BALL IN PLAY
    William Juinio runs → line out.
    William Juinio is out.
  --- Now batting: Raisel Castillo ---
  [4 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Raisel Castillo runs → ground out.
    Raisel Castillo is out.
  [5 outs | 0-0 | 2B, 3B] PINCH HITTER
    Mark Zinke pinch-hits for Jack Rotch.
  [5 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Lloyd Aereo Boliviano Mavericks sends in joker Gabriel Dever for an extra plate appearance (joker #1).
  --- Now batting: Gabriel Dever ---
  [5 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [5 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [5 outs | 0-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [6 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Lloyd Aereo Boliviano Mavericks sends in joker Hunter Alderman for an extra plate appearance (joker #2).
  [6 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Norge Valdés replaces Duván Colón at LF.
  --- Now batting: Hunter Alderman ---
  [6 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [6 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [6 outs | 0-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [7 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Lloyd Aereo Boliviano Mavericks sends in joker Keylor Tena for an extra plate appearance (joker #3).
  [7 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Tavoy Orogbo replaces Dayán Solano at RF.
  --- Now batting: Keylor Tena ---
  [7 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Keylor Tena takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
  [8 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Mike Kia replaces Telasco Salamán at SS.
  --- Now batting: Mark Zinke ---
  [8 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 2B, 3B] BALL IN PLAY
    Mark Zinke runs → ground out.
    Mark Zinke is out.
  --- Now batting: Everett Koury ---
  [9 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Everett Koury given a free pass.
  [9 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Lloyd Aereo Boliviano Mavericks sends in joker Gabriel Dever for an extra plate appearance (joker #4).
  [9 outs | 0-0 | 1B, 2B, 3B] DEFENSIVE SUB
    Robert Kingi replaces Sandy Gutiérrez at 2B.
  --- Now batting: Gabriel Dever ---
  [9 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Gabriel Dever takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner at 3B thrown out.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  [10 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [10 outs | 0-2 | 3B] BALL
    Ball 1. Count: 1-2.
  [10 outs | 1-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [11 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Aidan Baughman exits (14 BF this spell).
  [11 outs | 0-0 | 3B] DEFENSIVE SUB
    Aramis Valdez replaces Aroldis Robert at 3B.
  --- Now batting: Raz Ahn ---
  [11 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [11 outs | 0-1 | 3B] BALL IN PLAY
    Raz Ahn runs → line out.
    Raz Ahn is out.
  [12 outs | 0-0 | 3B] JOKER INSERTION
    Lloyd Aereo Boliviano Mavericks sends in joker Hunter Alderman for an extra plate appearance (joker #5).
  --- Now batting: Hunter Alderman ---
  [12 outs | 0-0 | 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Hunter Alderman given a free pass.
  [12 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Lloyd Aereo Boliviano Mavericks sends in joker Keylor Tena for an extra plate appearance (joker #6).
  [12 outs | 0-0 | 1B, 3B] PINCH HITTER
    Steve Weymuller pinch-hits for Keylor Tena.
  [12 outs | 0-0 | 1B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Keylor Tena ---
  [13 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [13 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [13 outs | 1-2 | 3B] BALL
    Ball 2. Count: 2-2.
  [13 outs | 2-2 | 3B] BALL IN PLAY
    Keylor Tena runs → single.
  [13 outs | 0-0 | 1B, 3B] DEFENSIVE SUB
    Jordan Kacmarek replaces Rob Hoffmann at CF.
  --- Now batting: Steve Weymuller ---
  [13 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [14 outs | 0-0 | 1B, 3B] PINCH HITTER
    Andy Horton pinch-hits for Norris Rosen.
  [14 outs | 0-0 | 1B, 3B] PINCH HITTER
    Xavier Moreno pinch-hits for Andy Horton.
  [14 outs | 0-0 | 1B, 3B] PINCH HITTER
    Frances Washington pinch-hits for Xavier Moreno.
  [14 outs | 0-0 | 1B, 3B] PINCH HITTER
    Ángel Núñez pinch-hits for Frances Washington.
  [14 outs | 0-0 | 1B, 3B] DEFENSIVE SUB
    Jaystin Lenhardt replaces Raymond Nicholson at 1B.
  --- Now batting: Ángel Núñez ---
  [14 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [14 outs | 2-0 | 1B, 3B] BALL
    Ball 3. Count: 3-0.
  [14 outs | 3-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 3-1.
  [14 outs | 3-1 | 1B, 3B] BALL
    WALK — Ángel Núñez awarded 1B.
    Runner advances from 1B to 2B.
  [14 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Derek Mims pinch-hits for Suhander Borré.
  [14 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Clemente Pemberton pinch-hits for Derek Mims.
  [14 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Zae Klimp pinch-hits for Clemente Pemberton.
  [14 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Dontrell Zavala pinch-runs for Everett Koury at 3B.
  --- Now batting: Zae Klimp ---
  [14 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [14 outs | 1-1 | 1B, 2B, 3B] BALL IN PLAY
    Zae Klimp runs → fly out.
    Zae Klimp is out.
    Runner scores from 3B.
  --- Now batting: Tyler Bartlett ---
  [15 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Tyler Bartlett runs → double.
    Runner advances from 2B to 3B.
    Runner scores from 1B.
  [15 outs | 0-0 | 2B, 3B] PINCH RUNNER
    Alfred Morrill pinch-runs for Tyler Bartlett at 2B.
  --- Now batting: William Juinio ---
  [15 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [15 outs | 2-0 | 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [15 outs | 3-0 | 2B, 3B] BALL IN PLAY
    William Juinio runs → ground out.
    William Juinio is out.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [16 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Cree Pedulla exits (8 BF this spell).
  --- Now batting: Raisel Castillo ---
  [16 outs | 0-0 | 3B] BALL IN PLAY
    Raisel Castillo runs → single.
    Runner scores from 3B.
  --- Now batting: Mark Zinke ---
  [16 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [16 outs | 2-0 | 1B] FOUL
    Foul ball. Count: 2-1.
  [16 outs | 2-1 | 1B] FOUL
    Foul ball. Count: 2-2.
  [16 outs | 2-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [17 outs | 0-0 | 1B] JOKER INSERTION
    Lloyd Aereo Boliviano Mavericks sends in joker Gabriel Dever for an extra plate appearance (joker #7).
  [17 outs | 0-0 | 1B] DEFENSIVE SWAP
    Daniel Omosigho comes in for Gabriel Dever (defensive swap).
  --- Now batting: Gabriel Dever ---
  [17 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [17 outs | 1-1 | 1B] BALL IN PLAY
    Gabriel Dever runs → single.
    Runner at 1B thrown out.
  [18 outs | 0-0 | 1B] JOKER INSERTION
    Lloyd Aereo Boliviano Mavericks sends in joker Hunter Alderman for an extra plate appearance (joker #8).
  --- Now batting: Hunter Alderman ---
  [18 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 1B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [18 outs | 1-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [18 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [18 outs | 2-2 | 1B] BALL IN PLAY
    Hunter Alderman runs → fielder's choice.
    Runner at 1B thrown out.
  [19 outs | 0-0 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  --- Now batting: Daniel Omosigho ---
  [19 outs | 0-0 | 2B] BALL IN PLAY
    Daniel Omosigho runs → double play.
    Daniel Omosigho is out.
    Runner at 2B thrown out.
  --- Now batting: Raz Ahn ---
  [21 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [21 outs | 0-1 | empty] BALL IN PLAY
    Raz Ahn runs → ground out.
    Raz Ahn is out.
  --- Now batting: Steve Weymuller ---
  [22 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [22 outs | 0-1 | empty] BALL IN PLAY
    Steve Weymuller runs → fly out.
    Steve Weymuller is out.
  [23 outs | 0-0 | empty] JOKER INSERTION
    Lloyd Aereo Boliviano Mavericks sends in joker Keylor Tena for an extra plate appearance (joker #9).
  --- Now batting: Keylor Tena ---
  [23 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [23 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [23 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [23 outs | 2-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [23 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [23 outs | 2-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [24 outs | 0-0 | empty] PHASE TRANSITION
    Lloyd Aereo Boliviano Mavericks switches to its defensive lineup: Wyatt Nocco in for Alfred Morrill.
  --- Now batting: Ángel Núñez ---
  [24 outs | 0-0 | empty] BALL IN PLAY
    Ángel Núñez runs → double.
  --- Now batting: Zae Klimp ---
  [24 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [24 outs | 1-1 | 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  [25 outs | 1-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [25 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [25 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [25 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [25 outs | 2-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [26 outs | 0-0 | empty] DEFENSIVE SUB
    Jai Connelly replaces Norge Valdés at 2B.
  --- Now batting: Wyatt Nocco ---
  [26 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [26 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [26 outs | 2-0 | empty] BALL IN PLAY
    Wyatt Nocco runs → single.
  [26 outs | 0-0 | 1B] PINCH RUNNER
    Woody Linton pinch-runs for Wyatt Nocco at 1B.
  --- Now batting: William Juinio ---
  [26 outs | 0-0 | 1B] BALL IN PLAY
    William Juinio runs → single.
    Runner at 1B thrown out.

  End of bottom half — Lloyd Aereo Boliviano Mavericks: 6 run(s), 10 hit(s), 27 out(s) | Run rate: 0.222
  ============================================================
  HALFTIME
    Guadalajara BC: 0 run(s)
    Lloyd Aereo Boliviano Mavericks need 1 run(s) to win
    Required run rate: 0.037 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  TOP HALF | Guadalajara BC batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Jordan Kacmarek ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [0 outs | 0-2 | empty] BALL IN PLAY
    Jordan Kacmarek runs → fielder's choice.
  --- Now batting: Sunil Phulchand ---
  [0 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [0 outs | 1-1 | 1B] BALL IN PLAY
    Sunil Phulchand runs → double play.
    Sunil Phulchand is out.
    Runner at 1B thrown out.
  --- Now batting: Jai Connelly ---
  [2 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [2 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [2 outs | 1-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  [3 outs | 0-0 | empty] JOKER INSERTION
    Guadalajara BC sends in joker Jim Denson for an extra plate appearance (joker #1).
  --- Now batting: Jim Denson ---
  [3 outs | 0-0 | empty] SAC BUNT
  [4 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [4 outs | 1-1 | empty] BALL IN PLAY
    Jim Denson runs → single.
  --- Now batting: Aramis Valdez ---
  [4 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [4 outs | 2-1 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [5 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [5 outs | 3-1 | empty] BALL
    WALK — Aramis Valdez awarded 1B.
  --- Now batting: Mike Kia ---
  [5 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 1B] BALL IN PLAY
    Mike Kia runs → double play.
    Mike Kia is out.
    Runner at 1B thrown out.
  [7 outs | 0-0 | empty] JOKER INSERTION
    Guadalajara BC sends in joker Preston Singh for an extra plate appearance (joker #2).
  --- Now batting: Preston Singh ---
  [7 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [7 outs | 0-1 | empty] BALL IN PLAY
    Preston Singh runs → single.
  [7 outs | 0-0 | 1B] JOKER INSERTION
    Guadalajara BC sends in joker Clay Burrer for an extra plate appearance (joker #3).
  [7 outs | 0-0 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  --- Now batting: Clay Burrer ---
  [7 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [7 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [7 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [7 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [8 outs | 0-0 | 2B] PINCH HITTER
    Andy Snively pinch-hits for Robert Kingi.
  --- Now batting: Andy Snively ---
  [8 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Andy Snively given a free pass.
  [8 outs | 0-0 | 1B, 2B] PINCH HITTER
    Brandon Haywood pinch-hits for Tavoy Orogbo.
  [8 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Ryler Blackstock pinch-runs for Andy Snively at 1B.
  --- Now batting: Brandon Haywood ---
  [8 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [8 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [8 outs | 2-1 | 1B, 2B] BALL
    Ball 3. Count: 3-1.
  [8 outs | 3-1 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [8 outs | 3-1 | 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [8 outs | 3-2 | 2B, 3B] BALL IN PLAY
    Brandon Haywood runs → single.
    Runner scores from 3B.
    Runner scores from 2B.
  --- Now batting: Aidan Baughman [P] ---
  [8 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [8 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [8 outs | 1-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [9 outs | 0-0 | 1B] JOKER INSERTION
    Guadalajara BC sends in joker Jim Denson for an extra plate appearance (joker #4).
  --- Now batting: Jim Denson ---
  [9 outs | 0-0 | 1B] SAC BUNT
  [10 outs | 0-0 | 2B] BALL IN PLAY
    Jim Denson runs → ground out.
    Jim Denson is out.
  [11 outs | 0-0 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  --- Now batting: Sunil Phulchand ---
  [11 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [11 outs | 1-1 | 3B] BALL IN PLAY
    Sunil Phulchand runs → fly out.
    Sunil Phulchand is out.
  --- Now batting: Jai Connelly ---
  [12 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [12 outs | 0-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [13 outs | 0-0 | 3B] JOKER INSERTION
    Guadalajara BC sends in joker Preston Singh for an extra plate appearance (joker #5).
  --- Now batting: Preston Singh ---
  [13 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 3B] BALL IN PLAY
    Preston Singh takes a SECOND CHANCE at the plate.
    Second chance — fresh 0-0 count.
    Runner at 3B thrown out.
  [14 outs | 1-1 | empty] BALL IN PLAY
    Preston Singh runs → ground out.
    Preston Singh is out.
  [15 outs | 0-0 | empty] JOKER INSERTION
    Guadalajara BC sends in joker Clay Burrer for an extra plate appearance (joker #6).
  --- Now batting: Clay Burrer ---
  [15 outs | 0-0 | empty] BALL IN PLAY
    Clay Burrer runs → single.
  [15 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Jack Rotch exits (16 BF this spell).
  [15 outs | 0-0 | 1B] PINCH HITTER
    Hal Lane pinch-hits for Jaystin Lenhardt.
  --- Now batting: Hal Lane ---
  [15 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [15 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [15 outs | 2-1 | 1B] BALL IN PLAY
    Hal Lane runs → double.
    Runner advances from 1B to 3B.
  --- Now batting: Aramis Valdez ---
  [15 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Aramis Valdez given a free pass.
  [15 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Alejandro Pacho pinch-runs for Hal Lane at 2B.
  --- Now batting: Mike Kia ---
  [15 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [15 outs | 0-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [15 outs | 0-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Ryler Blackstock ---
  [16 outs | 0-0 | 1B, 2B, 3B] SAC BUNT
  --- Now batting: Brandon Haywood ---
  [17 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Brandon Haywood runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [17 outs | 0-0 | 1B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Evan Abaza exits (4 BF this spell).
  [17 outs | 0-0 | 1B, 3B] DEFENSIVE SUB
    Kadin Sylla replaces Steve Weymuller at 2B.
  --- Now batting: Aidan Baughman [P] ---
  [17 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [17 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [17 outs | 0-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [18 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Guadalajara BC sends in joker Jim Denson for an extra plate appearance (joker #7).
  --- Now batting: Jim Denson ---
  [18 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [18 outs | 1-1 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [18 outs | 1-2 | 1B, 3B] BALL
    Ball 2. Count: 2-2.
  [18 outs | 2-2 | 1B, 3B] FOUL
    Foul ball. Count: 2-2.
  [18 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [18 outs | 3-2 | 1B, 3B] BALL
    WALK — Jim Denson awarded 1B.
    Runner advances from 1B to 2B.
  [18 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Guadalajara BC sends in joker Preston Singh for an extra plate appearance (joker #8).
  --- Now batting: Preston Singh ---
  [18 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [18 outs | 0-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [18 outs | 0-2 | 1B, 2B, 3B] BALL IN PLAY
    Preston Singh runs → error.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  [19 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Guadalajara BC sends in joker Clay Burrer for an extra plate appearance (joker #9).
  --- Now batting: Clay Burrer ---
  [19 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Clay Burrer runs → fly out.
    Clay Burrer is out.
    Runner scores from 3B.
  --- Now batting: Jordan Kacmarek ---
  [20 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Jordan Kacmarek runs → line out.
    ROBBED! William Juinio lays out for the diving grab — a hit turned into an out!
    Jordan Kacmarek is out.
  --- Now batting: Sunil Phulchand ---
  [21 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [21 outs | 0-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [21 outs | 0-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Jai Connelly ---
  [22 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B, 2B] FOUL
    Foul ball. Count: 1-1.
  [22 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [22 outs | 2-1 | 1B, 2B] BALL
    Ball 3. Count: 3-1.
  [22 outs | 3-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [22 outs | 3-2 | 1B, 2B] BALL IN PLAY
    Jai Connelly runs → double.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  [22 outs | 0-0 | 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Ernest Rowland exits (7 BF this spell).
  --- Now batting: Alejandro Pacho ---
  [22 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [22 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Alejandro Pacho runs → double play.
    Alejandro Pacho is out.
    Runner at 2B thrown out.
  --- Now batting: Aramis Valdez ---
  [24 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [24 outs | 1-1 | 3B] BALL IN PLAY
    Aramis Valdez runs → error.
  --- Now batting: Mike Kia ---
  [24 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Mike Kia runs → fly out.
    ROBBED! Everett Koury runs it down — a sure extra-base hit erased!
    Mike Kia is out.
  --- Now batting: Ryler Blackstock ---
  [25 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [25 outs | 1-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [25 outs | 1-2 | 1B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.

  End of top half — Guadalajara BC: 7 run(s), 7 hit(s), 25 out(s) | Run rate: 0.280

  ============================================================
  GAME OVER: GUADALAJARA BC WIN 7–6
  ============================================================
  Final score: Guadalajara BC 7, Lloyd Aereo Boliviano Mavericks 6
  ============================================================
  LINE SCORE
                          1      R
  Guadalajara BC          7      7
  Lloyd Aereo Boliviano Mavericks      6      6

  ============================================================
  GUADALAJARA BC BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Aidan Baughman          2    2    0    0    0    0    0     0    0    2    0    0     0    0
  Hal Lane                1    1    0    1    1    0    0     0    0    0    0    0     0    0
  Andy Snively            1    0    0    0    0    0    0     0    1    0    0    0     0    0
  Norge Valdés            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tavoy Orogbo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aroldis Robert          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jaystin Lenhardt        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aramis Valdez           3    1    1    0    0    0    0     0    2    0    0    0     0    0
  Mike Kia                3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Clay Burrer             3    3    1    1    0    0    0     1    0    1    0    0     0    0
  Jim Denson              5    4    1    1    0    0    0     0    1    0    0    0     0    0
  Preston Singh           3    3    2    1    0    0    0     0    0    0    0    1     0    0
  Rob Hoffmann            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Raymond Nicholson       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sandy Gutiérrez         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sunil Phulchand         3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Robert Kingi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Duván Colón             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dayán Solano            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jordan Kacmarek         2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Telasco Salamán         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jai Connelly            3    3    0    1    1    0    0     1    0    1    0    0     0    0
  Brandon Haywood         2    2    0    2    0    0    0     3    0    0    0    0     0    0
  Theodore McCree         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jeyland Fabra           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Toddrick Herbstreit     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Thomas Lauck            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cree Pedulla            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lester Féliz            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Stephen Mastor          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pramod Luckie           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ashton Querrey          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lucas Senda             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joaquin Cumana          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yulieski Moncada        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ramon Escobar           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tanook Kumar            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Michael Longo           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pedro Ayarza            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alejandro Pacho         1    1    1    0    0    0    0     0    0    0    0    0     0    0
  Ryler Blackstock        1    0    1    0    0    0    0     1    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 33   28    7    7    2    0    0     6    4    6    0    1     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Aidan Baughman         14   11    3    2    1    3    0
  Cree Pedulla            8    5    2    3    2    1    0
  Toddrick Herbstreit    12   11    5    1    0    3    0

  ============================================================
  LLOYD AEREO BOLIVIANO MAVERICKS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Jack Rotch              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Everett Koury           2    1    1    1    1    0    0     0    1    0    0    0     0    0
  Ángel Núñez             2    1    1    1    1    0    0     0    1    0    0    0     0    0
  Steve Weymuller         2    2    0    0    0    0    0     0    0    1    0    0     0    0
  Tyler Bartlett          2    2    0    1    1    0    0     1    0    0    0    0     0    0
  Suhander Borré          1    1    0    0    0    0    0     1    0    0    0    0     0    0
  Derek Mims              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Raz Ahn                 3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Andy Horton             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gabriel Dever           3    3    0    2    0    0    0     1    0    2    0    1     1    0
  Hunter Alderman         3    2    0    0    0    0    0     0    1    1    0    0     0    0
  Keylor Tena             3    3    1    1    0    0    0     0    0    1    0    0     0    0
  Raisel Castillo         2    2    0    1    0    0    0     1    0    0    0    0     0    0
  Brian Wear              1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Zae Klimp               2    2    0    0    0    0    0     1    0    1    0    0     0    0
  Norris Rosen            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  William Juinio          3    3    0    1    0    0    0     1    0    0    0    0     0    0
  Frances Washington      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kadin Sylla             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Clemente Pemberton      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alfred Morrill          0    0    1    0    0    0    0     0    0    0    0    0     0    0
  George Drake            0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Xavier Moreno           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dontrell Zavala         0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Avery Pregnon           1    1    0    1    0    0    0     0    0    0    0    0     0    0
  Mark Zinke              2    2    0    0    0    0    0     0    0    1    0    0     0    0
  Collin Roeske           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sammy Tutvin            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Evan Abaza              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rick Hidrogo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sebastian Maradona      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Welby Barth             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ernest Rowland          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cary Iuli               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ben Wolfenden           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Karoy Hobson            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brendan Pledger         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wander Tatís            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Raymond Dibert          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zxavian Mincey          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alijah Hall             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Carlos de Lannoy        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daniel Omosigho         1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Woody Linton            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wyatt Nocco             1    1    0    1    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 34   31    6   10    3    0    0     6    3    7    0    1     1    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Jack Rotch             16   15    4    2    2    3    0
  Evan Abaza              4    2    2    2    1    1    0
  Ernest Rowland          7    5    1    2    1    2    0
  Sebastian Maradona      3    3    0    1    0    0    0

  ============================================================
  Run rate:  Guadalajara BC  0.259    Lloyd Aereo Boliviano Mavericks  0.222
  Second-Chance ABs:  Guadalajara BC  1    Lloyd Aereo Boliviano Mavericks  1
  IBB (Guadalajara BC): Andy Snively; Aramis Valdez.
  IBB (Lloyd Aereo Boliviano Mavericks): Everett Koury; Hunter Alderman.
  Required run rate (Lloyd Aereo Boliviano Mavericks): 0.037 R/out (needed 1 runs in 27 outs)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Raz Ahn               Suhander Borré             1  bottom
  Suhander Borré        Tyler Bartlett             0  bottom
  Tyler Bartlett        William Juinio             0  bottom
  William Juinio        Raisel Castillo            0  bottom
  Raisel Castillo       Gabriel Dever              0  bottom
  Gabriel Dever         Hunter Alderman            0  bottom
  Hunter Alderman       Keylor Tena                0  bottom
  Keylor Tena           Mark Zinke                 0  bottom
  Mark Zinke            Everett Koury              1  bottom
  Everett Koury         Gabriel Dever              0  bottom
  Gabriel Dever         Raz Ahn                    0  bottom
  Raz Ahn               Hunter Alderman            0  bottom
  Hunter Alderman       Steve Weymuller            0  bottom
  Steve Weymuller       Zae Klimp                  1  bottom
  Zae Klimp             William Juinio             2  bottom
  William Juinio        Mark Zinke                 1  bottom
  Mark Zinke            Raisel Castillo            0  bottom
  Raisel Castillo       Gabriel Dever              0  bottom
  Gabriel Dever         Hunter Alderman            0  bottom
  Hunter Alderman       Daniel Omosigho            0  bottom
  Daniel Omosigho       Raz Ahn                    0  bottom
  Raz Ahn               Steve Weymuller            0  bottom
  Steve Weymuller       Keylor Tena                0  bottom
  Keylor Tena           Ángel Núñez                0  bottom
  Ángel Núñez           Zae Klimp                  0  bottom
  Zae Klimp             Woody Linton               0  bottom
  Jordan Kacmarek       Sunil Phulchand            0  top
  Sunil Phulchand       Jai Connelly               0  top
  Jai Connelly          Jim Denson                 0  top
  Jim Denson            Jim Denson                 0  top
  Jim Denson            Aramis Valdez              0  top
  Aramis Valdez         Mike Kia                   0  top
  Mike Kia              Clay Burrer                0  top
  Clay Burrer           Aidan Baughman             2  top
  Aidan Baughman        Jim Denson                 0  top
  Jim Denson            Jim Denson                 0  top
  Jim Denson            Sunil Phulchand            0  top
  Sunil Phulchand       Jai Connelly               0  top
  Jai Connelly          Brandon Haywood            0  top
  Brandon Haywood       Preston Singh              0  top
  Preston Singh         Mike Kia                   0  top
  Mike Kia              Ryler Blackstock           1  top
  Ryler Blackstock      Aidan Baughman             1  top
  Aidan Baughman        Brandon Haywood            0  top
  Brandon Haywood       Clay Burrer                1  top
  Clay Burrer           Jordan Kacmarek            0  top
  Jordan Kacmarek       Sunil Phulchand            0  top
  Sunil Phulchand       Jai Connelly               1  top
  Jai Connelly          Alejandro Pacho            0  top
  Alejandro Pacho       Mike Kia                   0  top
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 50  |  Avg runs/partnership: 0.24
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Aidan Baughman        bottom         1   14   11     2     3     1     3     0
  Cree Pedulla          bottom        15    8    5     3     2     2     1     0
  Toddrick Herbstreit   bottom        23   12   11     1     5     0     3     0
  Jack Rotch            top            1   16   15     2     4     2     3     0
  Evan Abaza            top           19    4    2     2     2     1     1     0
  Ernest Rowland        top           24    7    5     2     1     1     2     0
  Sebastian Maradona    top           31    3    3     1     0     0     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 7


pbp_text:
  ────────────────────────────────────────────────────────────
  BOTTOM HALF | San Cristóbal Jaguars batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Sang-min Baek ---
  [0 outs | 0-0 | empty] BALL IN PLAY
    Sang-min Baek runs → fly out.
    Sang-min Baek is out.
  --- Now batting: Kaichi Morimoto ---
  [1 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | empty] BALL IN PLAY
    Kaichi Morimoto runs → ground out.
    Kaichi Morimoto is out.
  --- Now batting: Tzu-wei Hsu ---
  [2 outs | 0-0 | empty] BALL IN PLAY
    Tzu-wei Hsu runs → ground out.
    Tzu-wei Hsu is out.
  --- Now batting: Masatada Dechmitr ---
  [3 outs | 0-0 | empty] BALL IN PLAY
    Masatada Dechmitr runs → double.
  [3 outs | 0-0 | 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  --- Now batting: Won-il Wang ---
  [4 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | empty] BALL IN PLAY
    Won-il Wang runs → single.
  --- Now batting: Nyamsuren Khovd ---
  [4 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [4 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [4 outs | 3-0 | 1B] BALL IN PLAY
    Nyamsuren Khovd runs → double.
    Runner scores from 1B.
  --- Now batting: Junzo Miyake ---
  [4 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [4 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | 2B] BALL IN PLAY
    Junzo Miyake runs → fly out.
    Junzo Miyake is out.
  --- Now batting: Yerkhumuk Ganbaatar ---
  [5 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [5 outs | 1-1 | 2B] BALL IN PLAY
    Yerkhumuk Ganbaatar runs → double.
    Runner scores from 2B.
  [5 outs | 0-0 | 2B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Darwin Ballancin for an extra plate appearance (joker #1).
  --- Now batting: Darwin Ballancin ---
  [5 outs | 0-0 | 2B] BALL IN PLAY
    Darwin Ballancin runs → fielder's choice.
    Runner at 2B thrown out.
  [6 outs | 0-0 | 1B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Rob Perlotte for an extra plate appearance (joker #2).
  --- Now batting: Rob Perlotte ---
  [6 outs | 0-0 | 1B] BALL IN PLAY
    Rob Perlotte runs → ground out.
    Rob Perlotte is out.
    Runner advances from 1B to 2B.
  [7 outs | 0-0 | 2B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Nyamdavaa Sukhbaatar for an extra plate appearance (joker #3).
  --- Now batting: Nyamdavaa Sukhbaatar ---
  [7 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [7 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [7 outs | 3-0 | 2B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [7 outs | 3-1 | 2B] BALL
    WALK — Nyamdavaa Sukhbaatar awarded 1B.
  --- Now batting: Elijah Edlefsen [P] ---
  [7 outs | 0-0 | 1B, 2B] SAC BUNT
  --- Now batting: Sang-min Baek ---
  [8 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [8 outs | 1-2 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [8 outs | 1-2 | 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Kaichi Morimoto ---
  [9 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [9 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [9 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [9 outs | 0-2 | 2B, 3B] BALL IN PLAY
    Kaichi Morimoto runs → ground out.
    Kaichi Morimoto is out.
    Runner scores from 3B.
    Runner at 2B thrown out.
  --- Now batting: Tzu-wei Hsu ---
  [12 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | empty] BALL IN PLAY
    Tzu-wei Hsu runs → fly out.
    ROBBED! Mario Vosters runs it down — a sure extra-base hit erased!
    Tzu-wei Hsu is out.
  --- Now batting: Masatada Dechmitr ---
  [13 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | empty] FOUL
    Foul ball. Count: 2-1.
  [13 outs | 2-1 | empty] FOUL
    Foul ball. Count: 2-2.
  [13 outs | 2-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Won-il Wang ---
  [14 outs | 0-0 | empty] BALL IN PLAY
    Won-il Wang runs → error.
  --- Now batting: Nyamsuren Khovd ---
  [14 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [15 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | empty] BALL IN PLAY
    Nyamsuren Khovd runs → HOME RUN.
    Batter scores (HR).
    [Walk-Back — Nyamsuren Khovd retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Coleco.]
  [15 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Hyok-jin Ryu exits (17 BF this spell).
  --- Now batting: Junzo Miyake ---
  [15 outs | 0-0 | 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Junzo Miyake given a free pass.
  [15 outs | 0-0 | 1B, 3B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Darwin Ballancin for an extra plate appearance (joker #4).
  --- Now batting: Darwin Ballancin ---
  [15 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [15 outs | 1-2 | 1B, 3B] BALL
    Ball 2. Count: 2-2.
  [15 outs | 2-2 | 1B, 3B] BALL IN PLAY
    Darwin Ballancin runs → fly out.
    Darwin Ballancin is out.
    Runner scores from 3B.
  --- Now batting: Yerkhumuk Ganbaatar ---
  [16 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  [16 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [16 outs | 1-1 | 2B] BALL IN PLAY
    Yerkhumuk Ganbaatar runs → single.
    Runner advances from 2B to 3B.
  --- Now batting: Elijah Edlefsen [P] ---
  [16 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [16 outs | 1-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [16 outs | 1-2 | 1B, 3B] BALL IN PLAY
    Elijah Edlefsen runs → single.
    Runner advances from 1B to 2B.
  [16 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Đỗ Anh pinch-runs for Yerkhumuk Ganbaatar at 2B.
  --- Now batting: Sang-min Baek ---
  [16 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [16 outs | 1-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [16 outs | 1-2 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [16 outs | 2-2 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-2.
  [16 outs | 3-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [16 outs | 3-2 | 1B, 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  [17 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Cheng-hao Yu pinch-hits for Kaichi Morimoto.
  [17 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Cris Beard pinch-runs for Elijah Edlefsen at 1B.
  --- Now batting: Cheng-hao Yu ---
  [17 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [17 outs | 2-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [17 outs | 2-1 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [17 outs | 3-1 | 1B, 2B, 3B] BALL
    WALK — Cheng-hao Yu awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Tzu-wei Hsu ---
  [17 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Tzu-wei Hsu takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner at 3B thrown out.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  [18 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [18 outs | 0-2 | 3B] BALL
    Ball 1. Count: 1-2.
  [18 outs | 1-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [19 outs | 0-0 | 3B] DEFENSIVE SUB
    Rio Ota replaces Chol-il Ryu at C.
  --- Now batting: Masatada Dechmitr ---
  [19 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [19 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [19 outs | 0-2 | 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Won-il Wang ---
  [20 outs | 0-0 | 3B] BALL IN PLAY
    Won-il Wang runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Won-il Wang retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Borders Books.]
  --- Now batting: Nyamsuren Khovd ---
  [20 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [20 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [20 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [20 outs | 3-1 | 3B] FOUL
    Foul ball. Count: 3-2.
  [20 outs | 3-2 | 3B] BALL IN PLAY
    Nyamsuren Khovd runs → single.
  --- Now batting: Junzo Miyake ---
  [20 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [20 outs | 1-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [20 outs | 1-2 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [20 outs | 1-2 | 1B, 3B] BALL
    Ball 2. Count: 2-2.
  [20 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [20 outs | 3-2 | 1B, 3B] BALL IN PLAY
    Junzo Miyake runs → HOME RUN.
    Runner scores.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Junzo Miyake retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by OK Soda.]
  [20 outs | 0-0 | 3B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Rob Perlotte for an extra plate appearance (joker #5).
  --- Now batting: Rob Perlotte ---
  [20 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | 3B] BALL IN PLAY
    Rob Perlotte runs → ground out.
    Rob Perlotte is out.
    Runner scores from 3B.
  --- Now batting: Đỗ Anh ---
  [21 outs | 0-0 | empty] BALL IN PLAY
    Đỗ Anh runs → fly out.
    ROBBED! Ashton Slaterov runs it down — a sure extra-base hit erased!
    Đỗ Anh is out.
  --- Now batting: Cris Beard ---
  [22 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [22 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [22 outs | 1-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Sang-min Baek ---
  [23 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [23 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [23 outs | 3-0 | empty] BALL
    WALK — Sang-min Baek awarded 1B.
  --- Now batting: Cheng-hao Yu ---
  [23 outs | 0-0 | 1B] BALL IN PLAY
    Cheng-hao Yu runs → single.
    Runner advances from 1B to 3B.
  [23 outs | 0-0 | 1B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Dani Beachumov exits (16 BF this spell).
  --- Now batting: Tzu-wei Hsu ---
  [23 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [23 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [23 outs | 0-2 | 1B, 3B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  [24 outs | 0-2 | 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Masatada Dechmitr ---
  [25 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    1 run(s) score.
  [25 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [25 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [25 outs | 2-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [25 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [25 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [25 outs | 3-2 | empty] BALL
    WALK — Masatada Dechmitr awarded 1B.
  --- Now batting: Won-il Wang ---
  [25 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [25 outs | 0-1 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [25 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [25 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [25 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [25 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [25 outs | 1-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Nyamsuren Khovd ---
  [26 outs | 0-0 | 2B] BALL IN PLAY
    Nyamsuren Khovd runs → single.
    Runner advances from 2B to 3B.
  --- Now batting: Junzo Miyake ---
  [26 outs | 0-0 | 1B, 3B] DECLARATION
    >> San Cristóbal Jaguars DECLARES SECONDS at out 26 (13-0).

  End of bottom half — San Cristóbal Jaguars: 13 run(s), 13 hit(s), 27 out(s) | Run rate: 0.481
  ============================================================
  HALFTIME
    Olgii Foundrymen: 0 run(s)
    San Cristóbal Jaguars need 1 run(s) to win
    Required run rate: 0.037 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  TOP HALF | Olgii Foundrymen batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Leon Cowell ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [0 outs | 0-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Carlo Acosta ---
  [1 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [1 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [1 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [1 outs | 1-2 | empty] BALL IN PLAY
    Carlo Acosta runs → single.
  --- Now batting: Rio Ota ---
  [1 outs | 0-0 | 1B] HIT BY PITCH
    HBP — Rio Ota awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Naranbaatar Batsuren ---
  [1 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Naranbaatar Batsuren runs → ground out.
    Naranbaatar Batsuren is out.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  [3 outs | 0-0 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  --- Now batting: Ario Tjahyadi ---
  [3 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [3 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [4 outs | 0-0 | 3B] JOKER INSERTION
    Olgii Foundrymen sends in joker Yusof Mustafa for an extra plate appearance (joker #1).
  --- Now batting: Yusof Mustafa ---
  [4 outs | 0-0 | 3B] BALL IN PLAY
    Yusof Mustafa runs → single.
    Runner scores from 3B.
  [4 outs | 0-0 | 1B] JOKER INSERTION
    Olgii Foundrymen sends in joker Alexander Washington for an extra plate appearance (joker #2).
  --- Now batting: Alexander Washington ---
  [4 outs | 0-0 | 1B] BALL IN PLAY
    Alexander Washington runs → double.
    Runner advances from 1B to 3B.
  [4 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Olgii Foundrymen sends in joker Bayanmunkh Tsogtbaatar for an extra plate appearance (joker #3).
  --- Now batting: Bayanmunkh Tsogtbaatar ---
  [4 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [4 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [4 outs | 0-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Jun-seok Pi ---
  [5 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [5 outs | 1-1 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [5 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [5 outs | 2-2 | 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 2B!
  [6 outs | 2-2 | 3B] BALL IN PLAY
    Jun-seok Pi runs → fly out.
    Jun-seok Pi is out.
    Runner scores from 3B.
  --- Now batting: Po-hsuan Huang ---
  [7 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [7 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [7 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [7 outs | 1-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Jun-ho Seon ---
  [8 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | empty] HIT BY PITCH
    HBP — Jun-ho Seon awarded 1B.
  --- Now batting: Hyok-jin Ryu [P] ---
  [8 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Leon Cowell ---
  [9 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [9 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [9 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [9 outs | 2-1 | 1B] BALL IN PLAY
    Leon Cowell runs → double.
    Runner scores from 1B.
  --- Now batting: Carlo Acosta ---
  [9 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [9 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [9 outs | 3-0 | 2B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [9 outs | 3-1 | 2B] FOUL
    Foul ball. Count: 3-2.
  [9 outs | 3-2 | 2B] BALL
    WALK — Carlo Acosta awarded 1B.
  --- Now batting: Rio Ota ---
  [9 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Rio Ota runs → double.
    Runner scores from 2B.
    Runner at 1B thrown out.
  --- Now batting: Naranbaatar Batsuren ---
  [10 outs | 0-0 | 2B] BALL IN PLAY
    Naranbaatar Batsuren runs → single.
    Runner scores from 2B.
  --- Now batting: Ario Tjahyadi ---
  [10 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [10 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [10 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [10 outs | 1-2 | 1B] FOUL OUT
    Foul ball. Count: 0-0.
  [11 outs | 0-0 | 1B] JOKER INSERTION
    Olgii Foundrymen sends in joker Yusof Mustafa for an extra plate appearance (joker #4).
  --- Now batting: Yusof Mustafa ---
  [11 outs | 0-0 | 1B] BALL IN PLAY
    Yusof Mustafa runs → line out.
    Yusof Mustafa is out.
  [12 outs | 0-0 | 1B] JOKER INSERTION
    Olgii Foundrymen sends in joker Alexander Washington for an extra plate appearance (joker #5).
  --- Now batting: Alexander Washington ---
  [12 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 1B] BALL IN PLAY
    Alexander Washington runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Alexander Washington retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Coleco.]
  [12 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Elijah Edlefsen exits (18 BF this spell).
  --- Now batting: Jun-seok Pi ---
  [12 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [12 outs | 0-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [12 outs | 0-2 | 3B] BALL IN PLAY
    Jun-seok Pi runs → ground out.
    Jun-seok Pi is out.
    Runner at 3B thrown out.
  --- Now batting: Po-hsuan Huang ---
  [14 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [14 outs | 2-0 | empty] BALL IN PLAY
    Po-hsuan Huang runs → fly out.
    Po-hsuan Huang is out.
  --- Now batting: Jun-ho Seon ---
  [15 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | empty] BALL IN PLAY
    Jun-ho Seon runs → triple.
  [15 outs | 0-0 | 3B] JOKER INSERTION
    Olgii Foundrymen sends in joker Bayanmunkh Tsogtbaatar for an extra plate appearance (joker #6).
  --- Now batting: Bayanmunkh Tsogtbaatar ---
  [15 outs | 0-0 | 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Bayanmunkh Tsogtbaatar given a free pass.
  --- Now batting: Hyok-jin Ryu [P] ---
  [15 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [15 outs | 0-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [15 outs | 0-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Leon Cowell ---
  [16 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Leon Cowell runs → ground out.
    Leon Cowell is out.
    Runner at 1B thrown out.
  --- Now batting: Carlo Acosta ---
  [18 outs | 0-0 | 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Carlo Acosta given a free pass.
  --- Now batting: Rio Ota ---
  [18 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Rio Ota runs → single.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Naranbaatar Batsuren ---
  [18 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Naranbaatar Batsuren runs → ground out.
    Naranbaatar Batsuren is out.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Ario Tjahyadi ---
  [19 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Ario Tjahyadi given a free pass.
  [19 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Olgii Foundrymen sends in joker Yusof Mustafa for an extra plate appearance (joker #7).
  [19 outs | 0-0 | 1B, 2B, 3B] DEFENSIVE SUB
    Izaac Sillov replaces Won-il Wang at 3B.
  --- Now batting: Yusof Mustafa ---
  [19 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [19 outs | 0-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [19 outs | 0-2 | 1B, 2B, 3B] BALL IN PLAY
    Yusof Mustafa runs → single.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  [19 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Olgii Foundrymen sends in joker Alexander Washington for an extra plate appearance (joker #8).
  --- Now batting: Alexander Washington ---
  [19 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Alexander Washington runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  [19 outs | 0-0 | 2B] JOKER INSERTION
    Olgii Foundrymen sends in joker Bayanmunkh Tsogtbaatar for an extra plate appearance (joker #9).
  --- Now batting: Bayanmunkh Tsogtbaatar ---
  [19 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Bayanmunkh Tsogtbaatar given a free pass.
  [19 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Haru Ishihara replaces Cris Beard at CF.
  --- Now batting: Jun-seok Pi ---
  [19 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [19 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [19 outs | 2-1 | 1B, 2B] FOUL
    Foul ball. Count: 2-2.
  [19 outs | 2-2 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [20 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Teodoro Angeles replaces Sang-min Baek at 2B.
  --- Now batting: Po-hsuan Huang ---
  [20 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [20 outs | 2-0 | 1B, 2B] BALL
    Ball 3. Count: 3-0.
  [20 outs | 3-0 | 1B, 2B] BALL IN PLAY
    Po-hsuan Huang runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Jun-ho Seon ---
  [20 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B, 2B, 3B] BALL IN PLAY
    Jun-ho Seon runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [20 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Gōtoku Kagawa exits (16 BF this spell).
  [20 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Sabri bin Mohammad pinch-hits for Hyok-jin Ryu.
  [20 outs | 0-0 | 1B, 2B, 3B] DEFENSIVE SUB
    Jae-hyun Byun replaces Nyamsuren Khovd at CF.
  --- Now batting: Sabri bin Mohammad ---
  [20 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [20 outs | 0-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | 1B, 2B, 3B] BALL IN PLAY
    Sabri bin Mohammad runs → fly out.
    Sabri bin Mohammad is out.
    Runner at 3B thrown out.
  [22 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Eiji Minami replaces Tzu-wei Hsu at LF.
  --- Now batting: Leon Cowell ---
  [22 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [22 outs | 0-1 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [22 outs | 0-1 | 1B, 3B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [22 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Leon Cowell runs → line out.
    Leon Cowell is out.
  --- Now batting: Carlo Acosta ---
  [23 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Carlo Acosta given a free pass.
  [23 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Seung-woo Heo pinch-runs for Carlo Acosta at 1B.
  --- Now batting: Rio Ota ---
  [23 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B, 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  [23 outs | 1-0 | 2B, 3B] FOUL
    Foul ball. Count: 1-1.
  [23 outs | 1-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [23 outs | 1-2 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | 2B, 3B] BALL IN PLAY
    Rio Ota runs → fielder's choice.
    Runner at 3B thrown out.
    Runner advances from 2B to 3B.
  --- Now batting: Naranbaatar Batsuren ---
  [24 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [24 outs | 0-1 | 1B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  [24 outs | 0-1 | 2B] BALL IN PLAY
    Naranbaatar Batsuren runs → fly out.
    Naranbaatar Batsuren is out.
  --- Now batting: Ario Tjahyadi ---
  [25 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [25 outs | 1-1 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [25 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [25 outs | 2-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [25 outs | 2-2 | 3B] FOUL
    Foul ball. Count: 2-2.
  [25 outs | 2-2 | 3B] FOUL
    Foul ball. Count: 2-2.
  [25 outs | 2-2 | 3B] BALL
    Ball 3. Count: 3-2.
  [25 outs | 3-2 | 3B] BALL IN PLAY
    Ario Tjahyadi runs → single.
    Runner scores from 3B.
  [25 outs | 0-0 | 1B] JOKER INSERTION
    Olgii Foundrymen sends in joker Yusof Mustafa for an extra plate appearance (joker #10).
  --- Now batting: Yusof Mustafa ---
  [25 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [25 outs | 0-2 | 1B] BALL IN PLAY
    Yusof Mustafa runs → single.
    Runner advances from 1B to 2B.
  [25 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Olgii Foundrymen sends in joker Alexander Washington for an extra plate appearance (joker #11).
  --- Now batting: Alexander Washington ---
  [25 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [25 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [25 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [25 outs | 2-1 | 1B, 2B] BALL IN PLAY
    Alexander Washington runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  [25 outs | 0-0 | 2B] JOKER INSERTION
    Olgii Foundrymen sends in joker Bayanmunkh Tsogtbaatar for an extra plate appearance (joker #12).
  --- Now batting: Bayanmunkh Tsogtbaatar ---
  [25 outs | 0-0 | 2B] BALL IN PLAY
    Bayanmunkh Tsogtbaatar runs → double.
    Runner scores from 2B.
  --- Now batting: Jun-seok Pi ---
  [25 outs | 0-0 | 2B] BALL IN PLAY
    Jun-seok Pi runs → error.
    Runner scores from 2B.
  [25 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Enkhjargal Orkhon exits (10 BF this spell).
  --- Now batting: Po-hsuan Huang ---
  [25 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [25 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [25 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [25 outs | 1-2 | 1B] FOUL
    Foul ball. Count: 1-2.
  [25 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [25 outs | 2-2 | 1B] BALL IN PLAY
    Po-hsuan Huang runs → single.
    Runner advances from 1B to 3B.
  --- Now batting: Jun-ho Seon ---
  [25 outs | 0-0 | 1B, 3B] DECLARATION
    >> Olgii Foundrymen DECLARES SECONDS at out 25 (20-13).

  End of top half — Olgii Foundrymen: 20 run(s), 18 hit(s), 27 out(s) | Run rate: 0.741

  ────────────────────────────────────────────────────────────
  SECONDS_FIRST | San Cristóbal Jaguars batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Junzo Miyake ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [0 outs | 1-1 | empty] BALL IN PLAY
    Junzo Miyake runs → fly out.
    ROBBED! Sabri bin Mohammad runs it down — a sure extra-base hit erased!
    Junzo Miyake is out.

  ============================================================
  GAME OVER: OLGII FOUNDRYMEN WIN 20–13
  ============================================================
  Final score: Olgii Foundrymen 20, San Cristóbal Jaguars 13
  ============================================================
  LINE SCORE
                          1      2      R
  Olgii Foundrymen       20      -     20
  San Cristóbal Jaguars     13      0     13

  ============================================================
  OLGII FOUNDRYMEN BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Hyok-jin Ryu            2    2    0    0    0    0    0     0    0    1    0    0     0    0
  Tsung-han Su            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Seung-woo Heo           0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Jun-ho Seon             3    2    2    2    0    1    0     1    0    0    1    0     0    0
  Naranbaatar Batsuren    4    4    1    1    0    0    0     1    0    0    0    0     0    0
  Carlo Acosta            4    1    1    1    0    0    0     0    3    0    0    0     0    0
  Leon Cowell             4    4    1    1    1    0    0     1    0    1    0    0     0    0
  Jun-seok Pi             4    4    0    0    0    0    0     2    0    1    0    0     0    0
  Alexander Washington    4    4    3    4    3    0    1     6    0    0    0    0     0    0
  Yusof Mustafa           4    4    3    3    0    0    0     3    0    0    0    0     0    0
  Bayanmunkh Tsogtbaatar    4    2    1    1    1    0    0     1    2    1    0    0     0    0
  Mario Vosters           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rio Ota                 4    3    4    2    1    0    0     2    0    0    1    0     0    0
  Ashton Slaterov         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ario Tjahyadi           4    3    2    1    0    0    0     1    1    1    0    0     0    0
  Chun-hsiang Chan        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kohei Nakanishi         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tsogtbayar Nasanjargal    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yu-hsiang Lo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hui Fu                  0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Geon-woo Koo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chol-il Ryu             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tae-hyun Na             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Po-hsuan Huang          4    4    1    2    0    0    0     0    0    1    0    0     0    0
  Sabri bin Mohammad      1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Yasutaka Ueno           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ji-ho Gu                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jae-yong Bae            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Paulo Halim             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Woo-hyun Yoon           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Damdinsuren Selenge     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Afiq bin Yusof          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hung-wen Huang          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bryan McGahee           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dean Barker             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Salleh Kamal            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daiki Hiejima           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kento Fukushima         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dani Beachumov          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kohei Morii             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kwang-soo Jeong         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Junjun De Guzman        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ao Hirata               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Somphone Douangchak     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 46   38   20   18    6    1    1    18    6    6    2    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Hyok-jin Ryu           18   16    5    3    1    1    0
  Dani Beachumov         16    8    7    9    3    1    0
  Jae-yong Bae            4    3    1    1    1    0    0

  ============================================================
  SAN CRISTÓBAL JAGUARS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Elijah Edlefsen         2    1    0    1    0    0    0     0    0    0    0    0     0    0
  Nyamsuren Khovd         4    4    4    4    1    0    1     2    0    0    0    0     0    0
  Kaichi Morimoto         2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Sang-min Baek           4    3    1    0    0    0    0     0    1    0    0    0     0    0
  Mantle Brakerov         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cheng-hao Yu            2    1    1    1    0    0    0     1    1    0    0    0     0    0
  Đỗ Anh                  1    1    1    0    0    0    0     0    0    0    0    0     0    0
  Junzo Miyake            4    3    3    1    0    0    1     3    1    0    0    0     0    0
  Haru Ishihara           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Darwin Ballancin        2    2    0    0    0    0    0     1    0    0    0    0     0    0
  Nyamdavaa Sukhbaatar    1    0    0    0    0    0    0     0    1    0    0    0     0    0
  Rob Perlotte            2    2    0    0    0    0    0     1    0    0    0    0     0    0
  Teodoro Angeles         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Eiji Minami             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yerkhumuk Ganbaatar     2    2    0    2    1    0    0     1    0    0    0    0     0    0
  Izaac Sillov            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sang-ho Choi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Woo-hyun Ban            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Makara Svay             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Đạt Luân                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Won-il Wang             4    4    3    2    0    0    1     2    0    0    0    0     0    0
  Cris Beard              1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Masatada Dechmitr       4    3    0    1    1    0    0     0    1    1    0    0     0    0
  Tzu-wei Hsu             4    4    0    1    1    0    0     1    0    1    0    1     1    0
  In-il Pak               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Enkhjargal Orkhon       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yukinari Ueno           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  In-chol Ham             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chang-su Pak            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tzu-wei Tsao            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gōtoku Kagawa           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yasuhito Fujimoto       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Enkhbayar Olkhonud      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Takahiro Urabe          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kenichi Motoi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tatsuma Nishiya         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Herbert Faried          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jaime Sasaki            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shinji Nakagawa         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Seigo Nakamura          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kosuke Muto             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kei Kuramitsu           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jae-hyun Byun           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 39   33   13   13    4    0    3    12    5    2    0    1     1    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Elijah Edlefsen        18   12    7    7    1    4    2
  Gōtoku Kagawa          16    8    6    6    4    2    0
  Enkhjargal Orkhon      10    5    4    7    1    0    0
  In-il Pak               1    0    1    0    0    0    0

  ============================================================
  Run rate:  Olgii Foundrymen  0.741    San Cristóbal Jaguars  0.481
  Second-Chance ABs:  Olgii Foundrymen  0    San Cristóbal Jaguars  1
  IBB (Olgii Foundrymen): Carlo Acosta (2); Bayanmunkh Tsogtbaatar (2); Ario Tjahyadi.
  IBB (San Cristóbal Jaguars): Junzo Miyake.
  Required run rate (San Cristóbal Jaguars): 0.037 R/out (needed 1 runs in 27 outs)
  Seconds: Olgii Foundrymen o25 (20-13), San Cristóbal Jaguars o26 (13-0)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Sang-min Baek         Kaichi Morimoto            0  bottom
  Kaichi Morimoto       Tzu-wei Hsu                0  bottom
  Tzu-wei Hsu           Masatada Dechmitr          0  bottom
  Masatada Dechmitr     Junzo Miyake               1  bottom
  Junzo Miyake          Yerkhumuk Ganbaatar        1  bottom
  Yerkhumuk Ganbaatar   Rob Perlotte               0  bottom
  Rob Perlotte          Elijah Edlefsen            0  bottom
  Elijah Edlefsen       Sang-min Baek              0  bottom
  Sang-min Baek         Nyamdavaa Sukhbaatar       0  bottom
  Nyamdavaa Sukhbaatar  Darwin Ballancin           0  bottom
  Darwin Ballancin      Kaichi Morimoto            0  bottom
  Kaichi Morimoto       Tzu-wei Hsu                0  bottom
  Tzu-wei Hsu           Masatada Dechmitr          0  bottom
  Masatada Dechmitr     Won-il Wang                0  bottom
  Won-il Wang           Darwin Ballancin           2  bottom
  Darwin Ballancin      Sang-min Baek              0  bottom
  Sang-min Baek         Đỗ Anh                     2  bottom
  Đỗ Anh                Tzu-wei Hsu                0  bottom
  Tzu-wei Hsu           Masatada Dechmitr          0  bottom
  Masatada Dechmitr     Rob Perlotte               6  bottom
  Rob Perlotte          Đỗ Anh                     0  bottom
  Đỗ Anh                Cris Beard                 0  bottom
  Cris Beard            Cheng-hao Yu               0  bottom
  Cheng-hao Yu          Tzu-wei Hsu                0  bottom
  Tzu-wei Hsu           Won-il Wang                1  bottom
  Leon Cowell           Carlo Acosta               0  top
  Carlo Acosta          Naranbaatar Batsuren       0  top
  Naranbaatar Batsuren  Ario Tjahyadi              0  top
  Ario Tjahyadi         Bayanmunkh Tsogtbaatar     1  top
  Bayanmunkh TsogtbaatarAlexander Washington       0  top
  Alexander Washington  Jun-seok Pi                1  top
  Jun-seok Pi           Po-hsuan Huang             0  top
  Po-hsuan Huang        Hyok-jin Ryu               0  top
  Hyok-jin Ryu          Carlo Acosta               2  top
  Carlo Acosta          Ario Tjahyadi              1  top
  Ario Tjahyadi         Yusof Mustafa              0  top
  Yusof Mustafa         Alexander Washington       2  top
  Alexander Washington  Jun-seok Pi                0  top
  Jun-seok Pi           Po-hsuan Huang             0  top
  Po-hsuan Huang        Hyok-jin Ryu               0  top
  Hyok-jin Ryu          Bayanmunkh Tsogtbaatar     0  top
  Bayanmunkh TsogtbaatarLeon Cowell                0  top
  Leon Cowell           Naranbaatar Batsuren       1  top
  Naranbaatar Batsuren  Jun-seok Pi                4  top
  Jun-seok Pi           Bayanmunkh Tsogtbaatar     1  top
  Bayanmunkh TsogtbaatarSabri bin Mohammad         0  top
  Sabri bin Mohammad    Leon Cowell                0  top
  Leon Cowell           Jun-ho Seon                1  top
  Jun-ho Seon           Naranbaatar Batsuren       1  top
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 49  |  Avg runs/partnership: 0.57
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Hyok-jin Ryu          bottom         1   17   15     3     5     1     1     0
  Dani Beachumov        bottom        19   16    8     9     7     3     1     0
  Jae-yong Bae          bottom        35    4    3     1     1     1     0     0
  Elijah Edlefsen       top            1   18   12     7     7     1     4     2
  Gōtoku Kagawa         top           20   16    8     6     6     4     2     0
  Enkhjargal Orkhon     top           36   10    5     7     4     1     0     0
  In-il Pak             top           46    1    0     0     1     0     0     0
  Hyok-jin Ryu          seconds_first  1    1    1     0     0     0     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 8


pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Tubmangrad Foundry batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Jon Scroggins ---
  [0 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [0 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [0 outs | 3-1 | empty] BALL
    WALK — Jon Scroggins awarded 1B.
  [0 outs | 0-0 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  --- Now batting: Alex Betova ---
  [0 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | 2B] BALL IN PLAY
    Alex Betova runs → single.
    Runner scores from 2B.
  --- Now batting: Hemant Banerjee ---
  [0 outs | 0-0 | 1B] BALL IN PLAY
    Hemant Banerjee runs → double.
    Runner scores from 1B.
  --- Now batting: Kemar Robinson ---
  [0 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [0 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | 2B] BALL IN PLAY
    Kemar Robinson runs → single.
    Runner advances from 2B to 3B.
  [0 outs | 0-0 | 1B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Tonderai Dube exits (4 BF this spell).
  --- Now batting: Maksim Kovaleva ---
  [0 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Maksim Kovaleva runs → ground out.
    Maksim Kovaleva is out.
    Runner advances from 1B to 2B.
  --- Now batting: Pranav Chatterjee ---
  [1 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [1 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [1 outs | 0-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sandy Jones ---
  [2 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [2 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Sandy Jones runs → ground out.
    Sandy Jones is out.
    Runner at 3B thrown out.
    Runner advances from 2B to 3B.
  --- Now batting: Basil McCarn ---
  [4 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [4 outs | 2-0 | 3B] BALL IN PLAY
    Basil McCarn runs → double.
    Runner scores from 3B.
  --- Now batting: Kellen Kirkov [P] ---
  [4 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Kellen Kirkov given a free pass.
  --- Now batting: Jon Scroggins ---
  [4 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [4 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [4 outs | 2-0 | 1B, 3B] FOUL
    Foul ball. Count: 2-1.
  [4 outs | 2-1 | 1B, 3B] FOUL
    Foul ball. Count: 2-2.
  [4 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [4 outs | 3-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Alex Betova ---
  [5 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [5 outs | 2-0 | 1B, 3B] BALL IN PLAY
    Alex Betova runs → fly out.
    Alex Betova is out.
    Runner at 3B thrown out.
  --- Now batting: Hemant Banerjee ---
  [7 outs | 0-0 | 1B] BALL IN PLAY
    Hemant Banerjee runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Kemar Robinson ---
  [7 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [7 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [7 outs | 0-2 | 1B, 2B] HIT BY PITCH
    HBP — Kemar Robinson awarded 1B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Maksim Kovaleva ---
  [7 outs | 0-0 | 1B, 2B, 3B] SAC BUNT
  --- Now batting: Pranav Chatterjee ---
  [7 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [7 outs | 1-1 | 1B, 2B, 3B] BALL IN PLAY
    Pranav Chatterjee takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner at 1B thrown out.
  [8 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [8 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [8 outs | 3-2 | empty] BALL
    WALK — Pranav Chatterjee awarded 1B.
  [8 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Ernst Markram exits (10 BF this spell).
  --- Now batting: Sandy Jones ---
  [8 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [8 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [8 outs | 3-0 | 1B] BALL
    WALK — Sandy Jones awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Basil McCarn ---
  [8 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [8 outs | 2-1 | 1B, 2B] BALL
    Ball 3. Count: 3-1.
  [8 outs | 3-1 | 1B, 2B] BALL
    WALK — Basil McCarn awarded 1B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Kellen Kirkov [P] ---
  [8 outs | 0-0 | 1B, 2B, 3B] SAC BUNT
    Cricket order flips (joker-free trip) — Kellen Kirkov now leads off.
  [9 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Samson Kunkelov for an extra plate appearance (joker #1).
  --- Now batting: Samson Kunkelov ---
  [9 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Samson Kunkelov runs → single.
    Runner scores from 3B.
    Runner scores from 2B.
  [9 outs | 0-0 | 1B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Wes Ngo for an extra plate appearance (joker #2).
  --- Now batting: Wes Ngo ---
  [9 outs | 0-0 | 1B] BALL IN PLAY
    Wes Ngo runs → double.
    Runner scores from 1B.
  [9 outs | 0-0 | 2B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Jabari Blocher for an extra plate appearance (joker #3).
  --- Now batting: Jabari Blocher ---
  [9 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 2B] BALL IN PLAY
    Jabari Blocher runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Jabari Blocher retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Montgomery Ward.]
  [9 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Paul Boucher exits (5 BF this spell).
  --- Now batting: Kellen Kirkov [P] ---
  [9 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 3B] BALL IN PLAY
    Kellen Kirkov runs → ground out.
    Kellen Kirkov is out.
    Runner at 3B thrown out.
  --- Now batting: Basil McCarn ---
  [11 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [11 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [11 outs | 2-1 | empty] FOUL
    Foul ball. Count: 2-2.
  [11 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [11 outs | 3-2 | empty] BALL
    WALK — Basil McCarn awarded 1B.
  --- Now batting: Sandy Jones ---
  [11 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [11 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [11 outs | 0-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Pranav Chatterjee ---
  [12 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [12 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [12 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [12 outs | 1-2 | 1B] BALL IN PLAY
    Pranav Chatterjee runs → single.
    Runner at 1B thrown out.
  --- Now batting: Maksim Kovaleva ---
  [13 outs | 0-0 | 1B] BALL IN PLAY
    Maksim Kovaleva runs → triple.
    Runner scores from 1B.
  --- Now batting: Kemar Robinson ---
  [13 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [13 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [13 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [13 outs | 1-2 | 3B] BALL IN PLAY
    Kemar Robinson runs → fly out.
    Kemar Robinson is out.
    Runner scores from 3B.
  --- Now batting: Hemant Banerjee ---
  [14 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [14 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [14 outs | 0-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Alex Betova ---
  [15 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [15 outs | 0-1 | empty] BALL IN PLAY
    Alex Betova runs → single.
  --- Now batting: Jon Scroggins ---
  [15 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [15 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [15 outs | 0-2 | 1B] BALL IN PLAY
    Jon Scroggins runs → double.
    Runner scores from 1B.
  [15 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Adil Cherif exits (9 BF this spell).
  [15 outs | 0-0 | 2B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Samson Kunkelov for an extra plate appearance (joker #4).
  --- Now batting: Samson Kunkelov ---
  [15 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 2B] BALL IN PLAY
    Samson Kunkelov runs → single.
    Runner at 2B thrown out.
  [16 outs | 0-0 | 1B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Wes Ngo for an extra plate appearance (joker #5).
  --- Now batting: Wes Ngo ---
  [16 outs | 0-0 | 1B] BALL IN PLAY
    Wes Ngo runs → single.
    Runner at 1B thrown out.
  [17 outs | 0-0 | 1B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Jabari Blocher for an extra plate appearance (joker #6).
  --- Now batting: Jabari Blocher ---
  [17 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [17 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [17 outs | 3-0 | 1B] BALL
    WALK — Jabari Blocher awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Kellen Kirkov [P] ---
  [17 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [17 outs | 1-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [17 outs | 1-2 | 1B, 2B] BALL
    Ball 2. Count: 2-2.
  [17 outs | 2-2 | 1B, 2B] FOUL
    Foul ball. Count: 2-2.
  [17 outs | 2-2 | 1B, 2B] BALL
    Ball 3. Count: 3-2.
  [17 outs | 3-2 | 1B, 2B] BALL IN PLAY
    Kellen Kirkov runs → single.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Basil McCarn ---
  [17 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [17 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [17 outs | 2-1 | 1B, 2B] FOUL
    Foul ball. Count: 2-2.
  [17 outs | 2-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sandy Jones ---
  [18 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Sandy Jones runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  [18 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Laros Henry exits (6 BF this spell).
  --- Now batting: Pranav Chatterjee ---
  [18 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [18 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [18 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [18 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [19 outs | 0-0 | 2B] DEFENSIVE SUB
    Pa Camara replaces Ashwin Golui at C.
  --- Now batting: Maksim Kovaleva ---
  [19 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [19 outs | 1-1 | 2B] BALL IN PLAY
    Maksim Kovaleva runs → ground out.
    Maksim Kovaleva is out.
    Runner advances from 2B to 3B.
  --- Now batting: Kemar Robinson ---
  [20 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [20 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [20 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [20 outs | 1-2 | 3B] FOUL
    Foul ball. Count: 1-2.
  [20 outs | 1-2 | 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    1 run(s) score.
  [20 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [20 outs | 2-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Hemant Banerjee ---
  [21 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [21 outs | 2-0 | empty] CALLED STRIKE
    Strike (called). Count: 2-1.
  [21 outs | 2-1 | empty] BALL IN PLAY
    Hemant Banerjee runs → double.
  --- Now batting: Alex Betova ---
  [21 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [21 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [21 outs | 1-2 | 2B] BALL IN PLAY
    Alex Betova runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Alex Betova retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Washington Mutual.]
  --- Now batting: Jon Scroggins ---
  [21 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | 3B] BALL IN PLAY
    Jon Scroggins runs → fly out.
    Jon Scroggins is out.
    Runner at 3B thrown out.
  [23 outs | 0-0 | empty] JOKER INSERTION
    Tubmangrad Foundry sends in joker Samson Kunkelov for an extra plate appearance (joker #7).
  --- Now batting: Samson Kunkelov ---
  [23 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [23 outs | 0-1 | empty] BALL IN PLAY
    Samson Kunkelov runs → error.
  [23 outs | 0-0 | 1B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Wes Ngo for an extra plate appearance (joker #8).
  --- Now batting: Wes Ngo ---
  [23 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [23 outs | 0-1 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [23 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [23 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [23 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [23 outs | 2-2 | 2B] BALL IN PLAY
    Wes Ngo runs → double.
    Runner scores from 2B.
  [23 outs | 0-0 | 2B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Jabari Blocher for an extra plate appearance (joker #9).
  --- Now batting: Jabari Blocher ---
  [23 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [23 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [23 outs | 0-2 | 2B] BALL IN PLAY
    Jabari Blocher runs → double.
    Runner scores from 2B.
  [23 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Jaco Janse van Rensburg exits (9 BF this spell).
  --- Now batting: Kellen Kirkov [P] ---
  [23 outs | 0-0 | 2B] BALL IN PLAY
    Kellen Kirkov runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Kellen Kirkov retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by TaB.]
  --- Now batting: Basil McCarn ---
  [23 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [23 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sandy Jones ---
  [24 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [24 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [24 outs | 0-2 | 3B] BALL
    Ball 1. Count: 1-2.
  [24 outs | 1-2 | 3B] FOUL
    Foul ball. Count: 1-2.
  [24 outs | 1-2 | 3B] BALL IN PLAY
    Sandy Jones runs → error.
    Runner at 3B thrown out.
  --- Now batting: Pranav Chatterjee ---
  [25 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [25 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [25 outs | 3-0 | 1B] FOUL
    Foul ball. Count: 3-1.
  [25 outs | 3-1 | 1B] BALL
    WALK — Pranav Chatterjee awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Maksim Kovaleva ---
  [25 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [25 outs | 2-0 | 1B, 2B] BALL IN PLAY
    Maksim Kovaleva runs → ground out.
    Maksim Kovaleva is out.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Kemar Robinson ---
  [26 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [26 outs | 0-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [26 outs | 0-2 | 2B, 3B] BALL IN PLAY
    Kemar Robinson runs → single.
    Runner scores from 3B.
    Runner scores from 2B.
  --- Now batting: Hemant Banerjee ---
  [26 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [26 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [26 outs | 0-2 | 1B] BALL IN PLAY
    Hemant Banerjee runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Hemant Banerjee retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Commodore.]
  [26 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Sean Klusener exits (7 BF this spell).
  --- Now batting: Alex Betova ---
  [26 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [26 outs | 1-0 | 3B] FOUL
    Foul ball. Count: 1-1.
  [26 outs | 1-1 | 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    1 run(s) score.
  [26 outs | 1-1 | empty] CALLED STRIKE
    Strike (called). Count: 1-2.
  [26 outs | 1-2 | empty] BALL IN PLAY
    Alex Betova runs → fly out.
    ROBBED! Feno Ranivoson runs it down — a sure extra-base hit erased!
    Alex Betova is out.

  End of top half — Tubmangrad Foundry: 30 run(s), 25 hit(s), 27 out(s) | Run rate: 1.111
  ============================================================
  HALFTIME
    Tubmangrad Foundry: 30 run(s)
    Oslo Hawks need 31 run(s) to win
    Required run rate: 1.148 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Oslo Hawks batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Nélson Bango ---
  [0 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [0 outs | 0-2 | empty] HIT BY PITCH
    HBP — Nélson Bango awarded 1B.
  --- Now batting: Feno Ranivoson ---
  [0 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Quentin François ---
  [1 outs | 0-0 | 1B] BALL IN PLAY
    Quentin François runs → fly out.
    Quentin François is out.
  --- Now batting: Pa Camara ---
  [2 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [2 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [2 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [2 outs | 2-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [3 outs | 0-0 | 1B] JOKER INSERTION
    Oslo Hawks sends in joker Glofate Okolie for an extra plate appearance (joker #1).
  --- Now batting: Glofate Okolie ---
  [3 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 1B] BALL IN PLAY
    Glofate Okolie runs → single.
    Runner advances from 1B to 2B.
  [3 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Oslo Hawks sends in joker Ricardo Mahlangu for an extra plate appearance (joker #2).
  --- Now batting: Ricardo Mahlangu ---
  [3 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 1B, 2B] BALL IN PLAY
    Ricardo Mahlangu runs → fly out.
    Ricardo Mahlangu is out.
  [4 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Oslo Hawks sends in joker Nakibou Mugisha for an extra plate appearance (joker #3).
  --- Now batting: Nakibou Mugisha ---
  [4 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Nakibou Mugisha runs → ground out.
    Nakibou Mugisha is out.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Tonderai Dube [P] ---
  [5 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [5 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Njoroge Mwaniki ---
  [6 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [6 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [6 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [6 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Amir Modiba ---
  [7 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [7 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [7 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [7 outs | 2-2 | 2B] BALL IN PLAY
    Amir Modiba runs → fly out.
    Amir Modiba is out.
  --- Now batting: Noé Dieng ---
  [8 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [8 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Bayo Ceesay ---
  [9 outs | 0-0 | 2B] HIT BY PITCH
    HBP — Bayo Ceesay awarded 1B.
  [9 outs | 0-0 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Nélson Bango ---
  [9 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [9 outs | 1-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [9 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [9 outs | 2-2 | 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [9 outs | 2-2 | 2B, 3B] BALL
    Ball 3. Count: 3-2.
  [9 outs | 3-2 | 2B, 3B] BALL IN PLAY
    Nélson Bango runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Feno Ranivoson ---
  [9 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [9 outs | 0-2 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [9 outs | 0-2 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Quentin François ---
  [10 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [10 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [10 outs | 1-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [10 outs | 1-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Pa Camara ---
  [11 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Pa Camara runs → single.
    Runner scores from 3B.
    Runner advances from 1B to 3B.
  [11 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Oslo Hawks sends in joker Glofate Okolie for an extra plate appearance (joker #4).
  --- Now batting: Glofate Okolie ---
  [11 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Glofate Okolie runs → fly out.
    Glofate Okolie is out.
  [12 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Oslo Hawks sends in joker Ricardo Mahlangu for an extra plate appearance (joker #5).
  --- Now batting: Ricardo Mahlangu ---
  [12 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 1B, 3B] FOUL
    Foul ball. Count: 1-1.
  [12 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [12 outs | 2-1 | 1B, 3B] FOUL
    Foul ball. Count: 2-2.
  [12 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [12 outs | 3-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [13 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Oslo Hawks sends in joker Nakibou Mugisha for an extra plate appearance (joker #6).
  --- Now batting: Nakibou Mugisha ---
  [13 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Nakibou Mugisha takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner at 3B thrown out.
    Runner advances from 1B to 2B.
  [14 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [14 outs | 0-2 | 2B] BALL IN PLAY
    Nakibou Mugisha runs → single.
    Runner advances from 2B to 3B.
  --- Now batting: Tonderai Dube [P] ---
  [14 outs | 0-0 | 1B, 3B] SAC BUNT
  --- Now batting: Njoroge Mwaniki ---
  [15 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [15 outs | 2-0 | 1B, 3B] BALL
    Ball 3. Count: 3-0.
  [15 outs | 3-0 | 1B, 3B] BALL IN PLAY
    Njoroge Mwaniki runs → line out.
    Njoroge Mwaniki is out.
  --- Now batting: Amir Modiba ---
  [16 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [16 outs | 2-0 | 1B, 3B] BALL
    Ball 3. Count: 3-0.
  [16 outs | 3-0 | 1B, 3B] BALL
    WALK — Amir Modiba awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Noé Dieng ---
  [16 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B, 2B, 3B] BALL IN PLAY
    Noé Dieng runs → fielder's choice.
    Runner at 3B thrown out.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Bayo Ceesay ---
  [17 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Bayo Ceesay runs → fly out.
    Bayo Ceesay is out.
  --- Now batting: Nélson Bango ---
  [18 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Nélson Bango runs → line out.
    ROBBED! Coen DeSimonin lays out for the diving grab — a hit turned into an out!
    Nélson Bango is out.
  [19 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Noel Ferguson-Reynoldsov replaces Basil McCarn at 1B.
  --- Now batting: Feno Ranivoson ---
  [19 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [19 outs | 0-1 | 1B, 2B] BALL IN PLAY
    Feno Ranivoson runs → single.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Quentin François ---
  [19 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [19 outs | 0-2 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [19 outs | 0-2 | 1B, 2B] BALL IN PLAY
    Quentin François runs → fly out.
    Quentin François is out.
  --- Now batting: Pa Camara ---
  [20 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Pa Camara runs → double play.
    Pa Camara is out.
    Runner at 1B thrown out.
  [22 outs | 0-0 | 2B] JOKER INSERTION
    Oslo Hawks sends in joker Glofate Okolie for an extra plate appearance (joker #7).
  [22 outs | 0-0 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  --- Now batting: Glofate Okolie ---
  [22 outs | 0-0 | 3B] BALL IN PLAY
    Glofate Okolie takes a SECOND CHANCE at the plate.
    Second chance — fresh 0-0 count.
  [22 outs | 0-1 | 3B] BALL IN PLAY
    Glofate Okolie runs → single.
  [22 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Oslo Hawks sends in joker Ricardo Mahlangu for an extra plate appearance (joker #8).
  --- Now batting: Ricardo Mahlangu ---
  [22 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Ricardo Mahlangu takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner advances from 1B to 2B.
  [22 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [22 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [22 outs | 1-2 | 2B, 3B] BALL IN PLAY
    Ricardo Mahlangu runs → error.
    Runner at 2B thrown out.
  [23 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Oslo Hawks sends in joker Nakibou Mugisha for an extra plate appearance (joker #9).
  --- Now batting: Nakibou Mugisha ---
  [23 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B, 3B] BALL IN PLAY
    Nakibou Mugisha takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner advances from 1B to 2B.
  --- Now batting: Tonderai Dube [P] ---
  [24 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [24 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [24 outs | 0-2 | 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  [25 outs | 0-0 | 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Kellen Kirkov exits (31 BF this spell).
  --- Now batting: Njoroge Mwaniki ---
  [25 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [25 outs | 0-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Amir Modiba ---
  [26 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [26 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [26 outs | 1-1 | 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [26 outs | 2-1 | 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [26 outs | 3-1 | 2B, 3B] BALL IN PLAY
    Amir Modiba runs → double.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Noé Dieng ---
  [26 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [26 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [26 outs | 1-1 | 2B, 3B] BALL IN PLAY
    Noé Dieng takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [26 outs | 1-2 | 3B] FOUL
    Foul ball. Count: 1-2.
  [26 outs | 1-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.

  End of bottom half — Oslo Hawks: 7 run(s), 10 hit(s), 27 out(s) | Run rate: 0.259

  ============================================================
  GAME OVER: TUBMANGRAD FOUNDRY WIN 30–7
  ============================================================
  Final score: Tubmangrad Foundry 30, Oslo Hawks 7
  ============================================================
  LINE SCORE
                          1      R
  Tubmangrad Foundry     30     30
  Oslo Hawks              7      7

  ============================================================
  TUBMANGRAD FOUNDRY BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Kellen Kirkov           5    3    3    2    0    0    1     4    1    0    0    0     0    0
  Geoff Mondeville        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joel Dawin              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Orien Friedler          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yacoub Otayf            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alex Betova             5    5    3    3    0    0    1     3    0    0    0    0     0    0
  Deandre Rastall         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kobe Gin                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kemar Robinson          5    4    3    2    0    0    0     3    0    0    1    0     0    0
  Wes Ngo                 3    3    3    3    2    0    0     2    0    0    0    0     0    0
  Samson Kunkelov         3    3    2    2    0    0    0     2    0    0    0    0     0    0
  Jabari Blocher          3    2    3    2    1    0    1     3    1    0    0    0     0    0
  Maksim Kovaleva         5    5    1    2    0    1    0     2    0    0    0    0     0    0
  Shaq Moore              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Coen DeSimonin          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Noel Ferguson-Reynoldsov    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jurrien Kruah           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Basil McCarn            5    3    1    1    1    0    0     1    2    2    0    0     0    0
  Cliff Goosbin           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lamar Bartkowicz        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lloyd Bracewellov       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Scott Allen             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Davion Wiesnerov        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bruce Woeller           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jon Scroggins           4    3    1    1    1    0    0     1    1    1    0    0     0    0
  Hemant Banerjee         5    5    4    4    2    0    1     3    0    0    0    0     0    0
  Percy Pachecin          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gaurav Rai              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Elijah Washingtonov     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Armistead Mitchellov    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Taylor Patrick          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Won-jun Chu             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ford Andrada            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lenoir Parker           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Deiton Bruckler         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Genki Shibata           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Basil Kessinger         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kaheem Schell           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Makell Washington       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brian Thompson          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Karen Bobrov            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lake Dabekov            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pranav Chatterjee       5    3    3    2    1    0    0     2    2    2    0    1     2    0
  Sandy Jones             5    4    3    1    1    0    0     2    1    1    0    0     0    0
  Reese Martin            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 53   43   30   25    9    1    4    28    8    6    1    1     2    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Kellen Kirkov          31   25    8    5    1    8    2
  Brian Thompson          3    2    2    2    0    2    0

  ============================================================
  OSLO HAWKS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Tonderai Dube           3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Jhye Green              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bayo Ceesay             2    1    1    0    0    0    0     0    0    0    1    0     0    0
  Noé Dieng               3    3    1    1    0    0    0     2    0    2    0    1     1    0
  Anja Ranivoson          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mehdi Amrabat           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ashwin Golui            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Amir Modiba             3    2    1    1    1    0    0     1    1    0    0    0     0    0
  Siboniso Madlala        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Glofate Okolie          3    3    1    2    0    0    0     0    0    0    0    1     0    0
  Nakibou Mugisha         3    3    0    2    0    0    0     1    0    0    0    1     0    1
  Ricardo Mahlangu        3    3    1    1    0    0    0     0    0    1    0    1     0    0
  Seko Uzoho              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Olímpio Biyana          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nisre Eguavoen          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Luol Desabre            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Quentin François        3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Adil Haddad             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Samir Mansouri          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Njoroge Mwaniki         3    3    0    0    0    0    0     0    0    2    0    0     0    0
  Hélio Konan             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sean Klusener           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pa Camara               3    3    1    1    0    0    0     1    0    1    0    0     0    0
  Beni Pogba              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nélson Bango            3    2    1    1    0    0    0     1    0    0    1    0     0    0
  Feno Ranivoson          3    3    0    1    0    0    0     1    0    2    0    0     0    0
  Jaco Janse van Rensburg    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Moses Ahamada           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Laros Henry             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vusumuzi Mkhize         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ernst Markram           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Paul Boucher            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nabil Taarabt           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Leon Häcken             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brahim Hamdi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Thulani Sibanyoni       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Thabani Mokoena         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Adil Cherif             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sayed Salah             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Stefan Linde            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Thabang Ngculu          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ifeanyi Soumah          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dwight Colley           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Beni Bango              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brown Afolabi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 35   32    7   10    1    0    0     7    1   10    2    4     1    1

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Tonderai Dube           4    0    3    2    1    0    0
  Ernst Markram          10    8    3    4    2    2    1
  Paul Boucher            5    1    3    6    2    0    0
  Adil Cherif             9    6    4    3    1    1    0
  Laros Henry             6    3    4    3    1    1    0
  Jaco Janse van Rensburg    9    5    4    5    0    1    0
  Sean Klusener           7    3    3    6    1    1    0
  Dwight Colley           1    1    0    1    0    0    0

  ============================================================
  Run rate:  Tubmangrad Foundry  1.111    Oslo Hawks  0.259
  Second-Chance ABs:  Tubmangrad Foundry  1    Oslo Hawks  4
  IBB (Tubmangrad Foundry): Kellen Kirkov.
  Required run rate (Oslo Hawks): 1.148 R/out (needed 31 runs in 27 outs)
  Powerplays: None
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Maksim Kovaleva       Pranav Chatterjee          2  top
  Pranav Chatterjee     Hemant Banerjee            0  top
  Hemant Banerjee       Sandy Jones                0  top
  Sandy Jones           Jon Scroggins              1  top
  Jon Scroggins         Basil McCarn               0  top
  Basil McCarn          Alex Betova                0  top
  Alex Betova           Maksim Kovaleva            3  top
  Maksim Kovaleva       Kellen Kirkov              1  top
  Kellen Kirkov         Jabari Blocher             5  top
  Jabari Blocher        Kellen Kirkov              0  top
  Kellen Kirkov         Sandy Jones                0  top
  Sandy Jones           Basil McCarn               0  top
  Basil McCarn          Kemar Robinson             2  top
  Kemar Robinson        Hemant Banerjee            0  top
  Hemant Banerjee       Jon Scroggins              1  top
  Jon Scroggins         Samson Kunkelov            0  top
  Samson Kunkelov       Basil McCarn               1  top
  Basil McCarn          Pranav Chatterjee          2  top
  Pranav Chatterjee     Maksim Kovaleva            0  top
  Maksim Kovaleva       Kemar Robinson             1  top
  Kemar Robinson        Alex Betova                2  top
  Alex Betova           Jon Scroggins              0  top
  Jon Scroggins         Basil McCarn               4  top
  Basil McCarn          Kellen Kirkov              0  top
  Kellen Kirkov         Maksim Kovaleva            0  top
  Maksim Kovaleva       Alex Betova                5  top
  Feno Ranivoson        Quentin François           0  bottom
  Quentin François      Pa Camara                  0  bottom
  Pa Camara             Ricardo Mahlangu           0  bottom
  Ricardo Mahlangu      Nakibou Mugisha            1  bottom
  Nakibou Mugisha       Tonderai Dube              0  bottom
  Tonderai Dube         Njoroge Mwaniki            0  bottom
  Njoroge Mwaniki       Amir Modiba                0  bottom
  Amir Modiba           Noé Dieng                  0  bottom
  Noé Dieng             Feno Ranivoson             1  bottom
  Feno Ranivoson        Quentin François           0  bottom
  Quentin François      Glofate Okolie             1  bottom
  Glofate Okolie        Ricardo Mahlangu           0  bottom
  Ricardo Mahlangu      Nélson Bango               0  bottom
  Nélson Bango          Tonderai Dube              0  bottom
  Tonderai Dube         Njoroge Mwaniki            0  bottom
  Njoroge Mwaniki       Pa Camara                  1  bottom
  Pa Camara             Bayo Ceesay                0  bottom
  Bayo Ceesay           Nélson Bango               0  bottom
  Nélson Bango          Quentin François           1  bottom
  Quentin François      Feno Ranivoson             0  bottom
  Feno Ranivoson        Pa Camara                  0  bottom
  Pa Camara             Glofate Okolie             0  bottom
  Glofate Okolie        Nakibou Mugisha            0  bottom
  Nakibou Mugisha       Tonderai Dube              0  bottom
  Tonderai Dube         Njoroge Mwaniki            0  bottom
  Njoroge Mwaniki       Noé Dieng                  2  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 52  |  Avg runs/partnership: 0.71
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Tonderai Dube         top            1    4    0     2     3     1     0     0
  Ernst Markram         top            5   10    8     4     3     2     2     1
  Paul Boucher          top           16    5    1     6     3     2     0     0
  Adil Cherif           top           22    9    6     3     4     1     1     0
  Laros Henry           top           31    6    3     3     4     1     1     0
  Jaco Janse van Rensburgtop           37    9    5     5     4     0     1     0
  Sean Klusener         top           46    7    3     6     3     1     1     0
  Dwight Colley         top           53    1    1     1     0     0     0     0
  Kellen Kirkov         bottom         1   31   25     5     8     1     8     2
  Brian Thompson        bottom        33    3    2     2     2     0     2     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 10


