XML 58 R40.htm IDEA: XBRL DOCUMENT
v3.22.0.1

Stock-Based Compensation (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2021
Schedule of warrant activity | We typically issue warrants to purchase shares of our common stock to investors as part of a financing transaction or in connection with services rendered by placement agents and consultants. A summary of warrant activity is as follows: ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ |  | ​ |  | ​ | ​ |  | Weighted- |  | ​ | ​
​ | ​ | ​ | ​ | Weighted- | ​ | Average | ​ | ​ | ​
​ | ​ | ​ | ​ | Average | ​ | Remaining | ​ | Aggregate
​ | ​ | Number of | ​ | Exercise | ​ | Contractual | ​ | Intrinsic
​ |  | Shares |  | Price/Share |  | Term (Years) |  | Value (1)
Outstanding — December 31, 2018 |  | 2,049,534 | ​ | $ | 4.03 |  |  |  | ​ |
Issued |  | — | ​ |  | — |  |  |  | ​ |
Exercised |  | (1,027,546) | ​ |  | 3.95 |  |  |  | ​ |
Expired |  | (20,960) | ​ |  | 17.78 |  |  |  | ​ |
Outstanding — December 31, 2019 |  | 1,001,028 | ​ | ​ | 3.83 |  |  |  | ​ |
Issued |  | — | ​ |  | — |  |  |  | ​ |
Exercised |  | (963,149) | ​ |  | 3.80 |  |  |  | ​ |
Expired |  | (37,879) | ​ |  | 4.58 |  |  |  | ​ |
Outstanding — December 31, 2020 |  | — | ​ | $ | — |  | — | ​ | $ | —
Vested (exercisable) — December 31, 2020 |  | — | ​ | $ | — |  | — | ​ | $ | —
​
Schedule of fair value assumptions of stock options | During the years ended December 31, 2021, 2020 and 2019, we granted stock options at exercise prices equal to or greater than the quoted market price of our common stock on the grant date. The fair value of each option grant was estimated on the date of grant using Black-Scholes with the following assumptions: ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31, | ​
​ |  | 2021 |  | 2020 |  | 2019 | ​
Expected life (years) | ​ | 3.5 - 6.1 | ​ | 5.3 - 6.3 | ​ | 5.2 - 6.2 | ​
Risk-free interest rate |  | 0.47% - 1.18 | % | 0.31% - 1.70 | % | 1.42% - 2.57 | %
Volatility | ​ | 64.4% – 80.8 | % | 69.8% - 82.7 | % | 70.6% - 99.2 | %
Dividend yield |  | 0% | ​ | 0% | ​ | 0% | ​
​
Schedule of share-based payment awards | Total stock-based compensation expense related to our share-based payment awards is comprised of the following (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Year Ended December 31,
​ |  | 2021 |  | 2020 |  | 2019
Cost of revenues | ​ | $ | 1,620 | ​ | $ | 371 | ​ | $ | 1,479
Selling, general and administrative | ​ |  | 12,425 | ​ |  | 7,862 | ​ |  | 13,946
Engineering and development | ​ |  | 1,300 | ​ |  | 683 | ​ |  | 1,098
​ | ​ | $ | 15,345 | ​ | $ | 8,916 | ​ | $ | 16,523
Schedule of stock option activity | A summary of stock option activity is as follows: ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | Weighted- | ​ | ​ | ​
​ | ​ | ​ | ​ | Weighted- | ​ | Average | ​ | ​ | ​
​ | ​ | ​ | ​ | Average | ​ | Remaining | ​ | Aggregate
​ | ​ | Number of | ​ | Exercise | ​ | Contractual | ​ | Intrinsic
​ |  | Shares |  | Price/Share |  | Term (Years) |  | Value (1)
Outstanding — December 31, 2019 |  | 6,679,581 | ​ | $ | 7.14 |  |  |  | ​ |
Granted (weighted-average fair value of $13.21 per share) |  | 1,789,000 | ​ | ​ | 20.46 |  |  |  | ​ |
Exercised |  | (855,717) |  | ​ | 6.73 |  |  |  | ​ |
Forfeited |  | (56,475) |  | ​ | 13.39 |  |  |  | ​ |
Expired |  | (2,084) |  | ​ | 19.56 |  |  |  | ​ |
Outstanding — December 31, 2020 |  | 7,554,305 | ​ | ​ | 10.29 |  |  |  | ​ |
Granted (weighted-average fair value of $32.79 per share) | ​ | 541,353 | ​ | ​ | 56.61 | ​ |  | ​ | ​ | ​
Exercised |  | (1,037,910) |  | ​ | 8.66 |  |  |  | ​ | ​
Forfeited |  | (29,807) |  | ​ | 40.56 |  |  |  | ​ | ​
Outstanding — December 31, 2021 |  | 7,027,941 | ​ | $ | 13.97 |  | 5.8 | ​ | $ | 318,105,000
Vested (exercisable) — December 31, 2021 |  | 5,551,168 | ​ | $ | 9.38 |  | 5.3 | ​ | $ | 276,418,000
Expected to vest after December 31, 2021 (unexercisable) |  | 1,476,773 | ​ | $ | 31.19 |  | 7.7 | ​ | $ | 41,687,000
(1) | Aggregate intrinsic value represents the difference between the exercise price of the option and the closing market price of the common stock on December 31, 2021, which was $59.17 per share.
Schedule of restricted stock unit activity | A summary of our restricted stock unit activity is as follows: ​
​ | ​ | ​ | ​ | ​ | ​
​ |  | ​ |  | Weighted Average
​ | ​ | Number of Restricted | ​ | Fair Value per
​ | ​ | Stock Units | ​ | Share
Outstanding – December 31, 2020 |  | — | ​ | $ | —
Granted |  | 392,940 | ​ |  | 55.51
Forfeited |  | (19,091) | ​ |  | 55.23
Share issuance |  | — | ​ |  | —
Outstanding – December 31, 2021 |  | 373,849 | ​ | $ | 55.53
Stock Options [Member] |
Summary of stock options outstanding and exercisable | The following table summarizes information with respect to stock options outstanding and exercisable at December 31, 2021: ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | Weighted- | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | Average | ​ | Weighted- | ​ | ​ | ​ | Weighted-
​ | ​ | ​ | ​ | Remaining | ​ | Average | ​ | ​ | ​ | Average
​ | ​ | Number | ​ | Contractual | ​ | Exercise | ​ | Number | ​ | Exercise
Exercise Price |  | Outstanding |  | Life (Years) |  | Price |  | Exercisable |  | Price
$1.87 – 3.07 |  | 705,996 |  | 4.1 | ​ | $ | 2.30 |  | 705,996 | ​ | $ | 2.30
$3.19 – 3.44 |  | 730,738 |  | 3.8 | ​ | $ | 3.31 |  | 730,738 | ​ | $ | 3.31
$4.80 – 4.92 |  | 587,200 |  | 3.4 | ​ | $ | 4.80 |  | 587,200 | ​ | $ | 4.80
$5.00 – 7.67 |  | 691,907 |  | 3.6 | ​ | $ | 5.04 |  | 691,907 | ​ | $ | 5.04
$7.80 – 8.65 |  | 765,615 |  | 5.2 | ​ | $ | 8.34 |  | 765,615 | ​ | $ | 8.34
$9.29 – 12.79 |  | 994,310 |  | 7.1 | ​ | $ | 11.99 |  | 992,921 | ​ | $ | 11.99
$13.37 – 16.95 |  | 1,424,960 |  | 8.1 | ​ | $ | 16.52 |  | 680,786 | ​ | $ | 16.30
$17.36 – 73.15 |  | 1,127,215 |  | 7.5 | ​ | $ | 40.77 |  | 396,005 | ​ | $ | 31.20
​ |  | 7,027,941 |  | ​ | ​ | ​ | ​ | ​ | 5,551,168 | ​ | ​ | ​
​

X
- Definition Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (e) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(2) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (e) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (f)(2) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 50 -Section S99 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6784392&loc=d3e188667-122775 + Details
Name: | us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityTypeAxis=us-gaap_EmployeeStockOptionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |