v3.26.1
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Cash flows from operating activities:    
Net income (loss) $ 2,683 $ (18,121)
Adjustments to reconcile net income (loss) to cash flows from operations:    
Stock-based compensation 6,184 14,805
Depreciation and amortization 6,776 4,845
Loss on disposal of fixed assets 52 0
Provision for inventory obsolescence 42 0
Amortization of debt issuance costs 17 35
Deferred income taxes 4 27
Provision for (recovery from) doubtful accounts 1 (20)
Changes in operating assets and liabilities:    
Accounts receivable (1,001) 86
Inventories (1,942) (1,079)
Prepaid expenses, deferred program expenses, other current assets and other assets 4,445 (1,933)
Accounts payable (2,158) 9,540
Accrued compensation and benefits (208) 601
Contract liabilities 5,746 6,114
Accrued liabilities and other liabilities (3,152) (1,844)
Net cash provided by operating activities 17,489 13,056
Cash flows from investing activities:    
Capitalized software development costs (4,102) (4,401)
Purchases of property and equipment (391) (257)
Net cash used in investing activities (4,493) (4,658)
Cash flows from financing activities:    
Payment of tax withholding related to net share settlement of equity awards (7,626) (1,062)
Repurchases of common stock (6,889) (4,002)
Payments under finance lease obligations (992) (914)
Payments for debt issuance costs (21) 0
Net cash used in financing activities (15,528) (5,978)
Net change in cash, cash equivalents, and restricted cash (2,532) 2,420
Cash, cash equivalents, and restricted cash, beginning of period 53,320 54,717
Cash, cash equivalents, and restricted cash, end of period $ 50,788 $ 57,137