Summary of Significant Accounting Policies - Accrual for loss contracts (Details) - USD ($) $ in Thousands |
12 Months Ended | |
|---|---|---|
Dec. 31, 2023 |
Dec. 31, 2022 |
|
| Accrual for loss contracts | ||
| Beginning balance | $ 81,066 | $ 89,773 |
| Provision for loss accrual | 85,375 | 23,295 |
| Releases to service cost of sales | (29,713) | (35,446) |
| Increase/(decrease) to loss accrual related to customer warrants | 971 | 3,506 |
| Foreign currency translation adjustment | 154 | (62) |
| Ending balance | $ 137,853 | $ 81,066 |