| Schedule of Computation of Basic and Diluted Net Income Per Share |
The following table presents the calculation of basic and diluted net income per share (in thousands, except share and per share information):
| | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended June 30, | | Six Months Ended June 30, | | 2026 | | 2025 | | 2026 | | 2025 | Net income | $ | 5,061 | | | $ | 7,006 | | | $ | 7,840 | | | $ | 11,384 | | | Weighted-average shares outstanding: | | | | | | | | | Basic | 81,002,338 | | | 76,797,385 | | | 80,577,105 | | | 76,254,119 | | Dilutive effect of outstanding options, RSUs, warrants, or other securities | 4,592,123 | | | 7,678,663 | | | 5,197,814 | | | 7,726,576 | | | Diluted | 85,594,461 | | | 84,476,048 | | | 85,774,919 | | | 83,980,695 | | Net income per share: | | | | | | | | Basic | $ | 0.06 | | | $ | 0.09 | | | $ | 0.10 | | | $ | 0.15 | | | Diluted | $ | 0.06 | | | $ | 0.08 | | | $ | 0.09 | | | $ | 0.14 | |
|
| Schedule of Antidilutive Common Shares Excluded from Computation |
Certain potential shares of common stock were excluded from the diluted net income per share calculation as their inclusion would have been antidilutive. Excluded shares are as follows: | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended June 30, | | Six Months Ended June 30, | | 2026 | | 2025 | | 2026 | | 2025 | | | | | | | | | | | | | | | | | | | | | | | | | | Issuances upon vesting of restricted stock units | 1,035,198 | | | 24,150 | | | 887,164 | | | 28,814 | | | Issuances upon conversion of convertible notes | — | | | 5,236,448 | | | — | | | 5,236,448 | | | Total | 1,035,198 | | | 5,260,598 | | | 887,164 | | | 5,265,262 | |
|