XML 108 R95.htm IDEA: XBRL DOCUMENT v3.10.0.1
Note 20 - Quarterly Financial Data (Unaudited) - Summary of Quarterly Financial Data (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2018
Sep. 30, 2018
Jun. 30, 2018
Mar. 31, 2018
Dec. 31, 2017
Sep. 30, 2017
Jun. 30, 2017
Mar. 31, 2017
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2016
Revenue $ 153,497 $ 159,975 $ 139,761 $ 129,150 $ 129,430 $ 128,939 $ 112,198 $ 100,362 $ 582,382 $ 470,929 $ 388,665
Cost of revenue 68,904 70,957 62,197 57,655 58,269 58,083 50,773 45,520 259,714 212,646 177,792
Gross profit 84,593 89,018 77,564 71,495 71,161 70,856 61,425 54,842 322,668 258,283 210,873
Research and development 22,735 25,630 23,481 21,609 21,730 21,442 20,292 18,894 93,455 82,359 73,643
Selling, general and administrative 28,372 29,552 28,561 27,318 24,038 25,255 25,873 22,092 113,803 97,257 83,012
Litigation expense, net 409 343 640 531 340 327 290 286      
Total operating expenses 51,516 55,525 52,682 49,458 46,108 47,024 46,455 41,272 209,180 180,859 156,426
Income from operations 33,077 33,493 24,882 22,037 25,053 23,832 14,970 13,570 113,488 77,424 54,447
Interest and other income (expense), net (393) 2,714 2,232 440 1,647 1,255 1,237 1,381 4,994 5,520 2,817
Income before income taxes 32,684 36,207 27,114 22,477 26,700 25,087 16,207 14,951 118,482 82,944 57,264
Income tax provision 5,046 4,639 2,908 621 14,629 1,445 1,193 474 13,214 17,741 4,544
Net income $ 27,638 $ 31,568 $ 24,206 $ 21,856 $ 12,071 $ 23,642 $ 15,014 $ 14,477 $ 105,268 $ 65,203 $ 52,720
Earnings per share, basic (in dollars per share) $ 0.65 $ 0.75 $ 0.57 $ 0.52 $ 0.29 $ 0.57 $ 0.36 $ 0.35 $ 2.49 $ 1.58 $ 1.30
Earnings per share, diluted (in dollars per share) $ 0.61 $ 0.71 $ 0.55 $ 0.49 $ 0.27 $ 0.54 $ 0.35 $ 0.33 $ 2.36 $ 1.50 $ 1.26
Weighted-average shares outstanding, basic (in shares) 42,467 42,362 42,237 41,922 41,574 41,458 41,323 41,047      
Weighted-average shares outstanding, diluted (in shares) 45,058 44,669 44,400 44,282 44,610 43,486 43,397 43,268 44,602 43,578 41,915