XML 20 R11.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Earnings Per Share | 3 Months Ended
--- | ---
Dec. 31, 2023
Earnings Per Share |
Earnings Per Share | 5. Earnings Per Share ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three Months Ended December 31, | ​
​ |  | 2023 |  | 2022 |
Numerator: | ​ | ​ | ​ | ​ | ​ | ​ | ​
Net income | ​ | $ | 1,057,350 | ​ | $ | 698,651 | ​
Denominator: | ​ | ​ | ​ | ​ | ​ | ​ | ​
Basic weighted average shares | ​ |  | 17,451,362 | ​ |  | 17,316,766 | ​
Dilutive effect of share-based awards | ​ |  | 23,544 | ​ |  | 9,411 | ​
Diluted weighted average shares | ​ |  | 17,474,906 | ​ |  | 17,326,177 | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Net income per common share: | ​ | ​ | ​ | ​ | ​ | ​ | ​
Basic | ​ | $ | 0.06 | ​ | $ | 0.04 | ​
Diluted | ​ | $ | 0.06 | ​ | $ | 0.04 | ​
​ Net income per share is calculated pursuant to ASC Topic 260, “Earnings per Share” (“ASC Topic 260”). Basic earnings per share (“EPS”) excludes potentially dilutive securities and is computed by dividing net income by the weighted average number of common shares outstanding for the period. Diluted EPS is computed assuming the conversion or exercise of all dilutive securities such as employee stock options and restricted stock units (“RSUs”). The number of incremental shares from the assumed exercise of stock options and RSUs is calculated by using the treasury stock method. As of December 31, 2023 and 2022, there were 224,374 and 0 options to purchase common stock outstanding, respectively, and 101,968 and 7,886 shares subject to vesting of restricted stock units outstanding, respectively. The average outstanding diluted shares calculation excludes options with an exercise price that exceeds the average market price of shares during the period. For the three-month periods ended December 31, 2023 and 2022, respectively, 213,409 and 0 diluted weighted-average shares outstanding were excluded from the computation of diluted EPS because the effect would be anti-dilutive.

X
- References No definition available. + Details
Name: | us-gaap_EarningsPerShareAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure for earnings per share. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org//260/tableOfContent Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration