This problem is paper-only - see explanation for the canonical React solution.
A debounce drops fast-firing events and only emits after delay ms of silence. The auto-grader validates the timing decision: given an array of { value, time } events and a delay, return the array of (value, emitTime) pairs that a trailing-edge debounce would emit.
Trailing-edge rule: an event "wins" iff no other event arrives within delay ms after it. Its emit time is event.time + delay.
For the auto-grader: implement debounceEmissions(events, delay) returning [{ value, emitTime }] in order.