v3.24.0.1
Revenue - Performance obligation (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Revenue      
Remaining performance obligation $ 1,878,884 $ 2,828,588 $ 2,177,268
Within one year      
Revenue      
Remaining performance obligation 302,046 418,137 351,071
1-2 years      
Revenue      
Remaining performance obligation 271,463 386,416 309,861
2-3 years      
Revenue      
Remaining performance obligation 214,028 309,326 255,791
3-4 years      
Revenue      
Remaining performance obligation 203,051 288,244 211,615
4-5 years      
Revenue      
Remaining performance obligation 184,186 276,816 190,018
After 5 years      
Revenue      
Remaining performance obligation $ 704,110 $ 1,149,649 $ 858,912