2020 Form 10-K Financial Statement

#000119312520103834 Filed on April 10, 2020

View on sec.gov

Income Statement

Concept 2020 2019 Q1 2019
Revenue $133.4M $37.17M $136.7M
YoY Change -2.35% 13.67% 20.51%
Cost Of Revenue $84.69M $22.59M $82.66M
YoY Change 2.46% 12.61% 19.11%
Gross Profit $48.76M $14.58M $54.00M
YoY Change -9.71% 15.35% 22.72%
Gross Profit Margin 36.54% 39.23% 39.51%
Selling, General & Admin $38.24M $9.680M $37.47M
YoY Change 2.07% 15.24% 20.33%
% of Gross Profit 78.43% 66.39% 69.38%
Research & Development $8.084M $1.970M $7.813M
YoY Change 3.47% -6.64% 4.83%
% of Gross Profit 16.58% 13.51% 14.47%
Depreciation & Amortization $6.284M $1.520M $6.152M
YoY Change 2.15% -5.0% 54.03%
% of Gross Profit 12.89% 10.43% 11.39%
Operating Expenses $46.33M $11.65M $45.28M
YoY Change 2.31% 10.85% 17.33%
Operating Profit $2.433M $2.930M $8.720M
YoY Change -72.1% 37.56% 61.12%
Interest Expense $826.0K -$730.0K $876.0K
YoY Change -5.71% 217.39% 117.91%
% of Operating Profit 33.95% -24.91% 10.05%
Other Income/Expense, Net -$1.063M $640.0K -$1.412M
YoY Change -24.72% 3100.0% 453.73%
Pretax Income $1.370M $2.840M $7.308M
YoY Change -81.25% 47.92% 41.71%
Income Tax -$389.0K $470.0K $1.578M
% Of Pretax Income -28.39% 16.55% 21.59%
Net Earnings $1.759M $2.310M $5.730M
YoY Change -69.3% 266.67% 74.38%
Net Earnings / Revenue 1.32% 6.21% 4.19%
Basic Earnings Per Share $0.25 $0.83
Diluted Earnings Per Share $0.24 $322.2K $0.81
COMMON SHARES
Basic Shares Outstanding 7.024M 6.881M
Diluted Shares Outstanding 7.238M 7.084M

Balance Sheet

Concept 2020 2019 Q1 2019
SHORT-TERM ASSETS
Cash & Short-Term Investments $4.200M $7.500M $7.500M
YoY Change -44.0% -35.83% -35.9%
Cash & Equivalents $4.200M $7.534M $7.500M
Short-Term Investments
Other Short-Term Assets $2.100M $1.400M $1.300M
YoY Change 61.54% 7.69% 0.0%
Inventory $33.90M $30.16M $30.20M
Prepaid Expenses
Receivables $19.80M $23.49M $23.60M
Other Receivables $0.00 $0.00 $0.00
Total Short-Term Assets $60.20M $62.61M $62.60M
YoY Change -3.83% -0.54% -0.48%
LONG-TERM ASSETS
Property, Plant & Equipment $12.90M $10.38M $10.40M
YoY Change 24.04% 6.44% 6.12%
Goodwill $12.33M
YoY Change -5.19%
Intangibles
YoY Change
Long-Term Investments
YoY Change
Other Assets $5.300M $4.000M $3.200M
YoY Change 65.63% -91.94% 6.67%
Total Long-Term Assets $56.50M $56.38M $56.40M
YoY Change 0.18% -5.04% -5.05%
TOTAL ASSETS
Total Short-Term Assets $60.20M $62.61M $62.60M
Total Long-Term Assets $56.50M $56.38M $56.40M
Total Assets $116.7M $119.0M $119.0M
YoY Change -1.93% -2.72% -2.7%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $4.400M $5.956M $6.000M
YoY Change -26.67% -49.56% -49.15%
Accrued Expenses $5.300M $2.911M $6.700M
YoY Change -20.9% 20.59% 26.42%
Deferred Revenue $373.0K
YoY Change 1.63%
Short-Term Debt $6.500M $1.500M $1.500M
YoY Change 333.33%
Long-Term Debt Due $5.200M $5.208M $5.200M
YoY Change 0.0% -5.27% -5.45%
Total Short-Term Liabilities $26.80M $24.67M $24.70M
YoY Change 8.5% -4.81% -4.63%
LONG-TERM LIABILITIES
Long-Term Debt $7.700M $12.87M $12.90M
YoY Change -40.31% -27.07% -26.7%
Other Long-Term Liabilities $10.40M $1.717M $11.60M
YoY Change -10.34% -35.16% -19.44%
Total Long-Term Liabilities $18.10M $14.59M $24.50M
YoY Change -26.12% -28.13% -23.44%
TOTAL LIABILITIES
Total Short-Term Liabilities $26.80M $24.67M $24.70M
Total Long-Term Liabilities $18.10M $14.59M $24.50M
Total Liabilities $45.30M $49.21M $49.20M
YoY Change -7.93% -16.12% -16.18%
SHAREHOLDERS EQUITY
Retained Earnings $49.51M
YoY Change 8.34%
Common Stock $54.08M
YoY Change 7.05%
Preferred Stock
YoY Change
Treasury Stock (at cost) $33.00M
YoY Change 1.85%
Treasury Stock Shares $3.262M
Shareholders Equity $71.40M $69.78M $69.80M
YoY Change
Total Liabilities & Shareholders Equity $116.7M $119.0M $119.0M
YoY Change -1.93% -2.72% -2.7%

Cashflow Statement

Concept 2020 2019 Q1 2019
OPERATING ACTIVITIES
Net Income $1.759M $2.310M $5.730M
YoY Change -69.3% 266.67% 74.38%
Depreciation, Depletion And Amortization $6.284M $1.520M $6.152M
YoY Change 2.15% -5.0% 54.03%
Cash From Operating Activities $3.224M $2.490M $5.005M
YoY Change -35.58% 43.1% 34.4%
INVESTING ACTIVITIES
Capital Expenditures $2.906M -$750.0K $2.645M
YoY Change 9.87% 53.06% 20.01%
Acquisitions
YoY Change
Other Investing Activities $0.00 $0.00 $1.510M
YoY Change -100.0% -100.0% -140.81%
Cash From Investing Activities -$2.906M -$740.0K -$1.534M
YoY Change 89.44% -157.36% -92.62%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net
YoY Change
Debt Paid & Issued, Net $5.208M $5.130M
YoY Change 1.52% 519.57%
Cash From Financing Activities -3.742M -1.940M -6.111M
YoY Change -38.77% 46.97% -167.47%
NET CHANGE
Cash From Operating Activities 3.224M 2.490M 5.005M
Cash From Investing Activities -2.906M -740.0K -1.534M
Cash From Financing Activities -3.742M -1.940M -6.111M
Net Change In Cash -3.285M -190.0K -2.643M
YoY Change 24.29% -111.11% -66.63%
FREE CASH FLOW
Cash From Operating Activities $3.224M $2.490M $5.005M
Capital Expenditures $2.906M -$750.0K $2.645M
Free Cash Flow $318.0K $3.240M $2.360M
YoY Change -86.53% 45.29% 55.26%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2019Q1 alot Royalty Obligation Current
RoyaltyObligationCurrent
1875000
CY2020Q1 us-gaap Goodwill
Goodwill
12034000
CY2019Q1 us-gaap Goodwill
Goodwill
12329000
CY2020Q1 us-gaap Deferred Tax Assets Net Noncurrent
DeferredTaxAssetsNetNoncurrent
5079000
CY2019Q1 us-gaap Deferred Tax Assets Net Noncurrent
DeferredTaxAssetsNetNoncurrent
2928000
CY2020Q1 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
4249000
CY2019Q1 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
7534000
CY2020Q1 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
19784000
CY2019Q1 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
23486000
CY2020Q1 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
2193000
CY2019Q1 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
1427000
CY2020Q1 us-gaap Assets Current
AssetsCurrent
60151000
CY2019Q1 us-gaap Assets Current
AssetsCurrent
62608000
CY2020Q1 us-gaap Liabilities
Liabilities
45289000
CY2019Q1 us-gaap Liabilities
Liabilities
49208000
CY2020Q1 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
116664000
CY2019Q1 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
118983000
CY2020Q1 us-gaap Accounts Payable Current
AccountsPayableCurrent
4409000
CY2019Q1 us-gaap Accounts Payable Current
AccountsPayableCurrent
5956000
CY2020Q1 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
2700000
CY2019Q1 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
5023000
CY2020Q1 us-gaap Long Term Debt Current
LongTermDebtCurrent
5208000
CY2019Q1 us-gaap Long Term Debt Current
LongTermDebtCurrent
5208000
CY2020Q1 alot Royalty Obligation Current
RoyaltyObligationCurrent
2000000
CY2020Q1 us-gaap Lines Of Credit Current
LinesOfCreditCurrent
6500000
CY2019Q1 us-gaap Lines Of Credit Current
LinesOfCreditCurrent
1500000
CY2020Q1 alot Accrued Royalties Current Excess Royalty Payment Due
AccruedRoyaltiesCurrentExcessRoyaltyPaymentDue
773000
CY2019Q1 alot Accrued Royalties Current Excess Royalty Payment Due
AccruedRoyaltiesCurrentExcessRoyaltyPaymentDue
1265000
CY2019Q1 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
554000
CY2020Q1 us-gaap Deferred Revenue Current
DeferredRevenueCurrent
466000
CY2019Q1 us-gaap Deferred Revenue Current
DeferredRevenueCurrent
373000
CY2020Q1 us-gaap Liabilities Current
LiabilitiesCurrent
26767000
CY2019Q1 us-gaap Liabilities Current
LiabilitiesCurrent
24665000
CY2020Q1 alot Royalty Obligation Non Current
RoyaltyObligationNonCurrent
8012000
CY2019Q1 alot Royalty Obligation Non Current
RoyaltyObligationNonCurrent
9916000
CY2020Q1 us-gaap Deferred Tax Liabilities Noncurrent
DeferredTaxLiabilitiesNoncurrent
435000
CY2019Q1 us-gaap Deferred Tax Liabilities Noncurrent
DeferredTaxLiabilitiesNoncurrent
40000
CY2020Q1 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
1081000
CY2019Q1 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
1717000
CY2020Q1 us-gaap Common Stock Value
CommonStockValue
517000
CY2019Q1 us-gaap Common Stock Value
CommonStockValue
511000
CY2020Q1 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
56130000
CY2019Q1 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
53568000
CY2020Q1 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
49298000
CY2019Q1 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
49511000
CY2020Q1 us-gaap Treasury Stock Value
TreasuryStockValue
33477000
CY2019Q1 us-gaap Treasury Stock Value
TreasuryStockValue
32997000
CY2020Q1 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-1093000
CY2019Q1 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-818000
CY2020Q1 us-gaap Stockholders Equity
StockholdersEquity
71375000
CY2019Q1 us-gaap Stockholders Equity
StockholdersEquity
69775000
CY2020Q1 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
1661000
CY2020Q1 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
1279000
CY2020 us-gaap Cost Of Revenue
CostOfRevenue
84688000
CY2019 us-gaap Cost Of Revenue
CostOfRevenue
82658000
CY2018 us-gaap Cost Of Revenue
CostOfRevenue
69399000
CY2020 us-gaap Gross Profit
GrossProfit
48758000
CY2019 us-gaap Gross Profit
GrossProfit
53999000
CY2018 us-gaap Gross Profit
GrossProfit
44002000
CY2020 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
26884000
CY2019 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
26343000
CY2018 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
22234000
CY2020 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
8084000
CY2019 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
7813000
CY2018 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
7453000
CY2020 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
11357000
CY2019 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
11123000
CY2018 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
8903000
CY2020 us-gaap Operating Expenses
OperatingExpenses
46325000
CY2019 us-gaap Operating Expenses
OperatingExpenses
45279000
CY2018 us-gaap Operating Expenses
OperatingExpenses
38590000
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.25
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.83
CY2018 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.48
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.24
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.81
CY2018 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.47
CY2020 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-133000
CY2019 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-671000
CY2018 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
867000
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
122000
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
622000
CY2018 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
-1036000
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
264000
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
600000
CY2018 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
-1048000
CY2020 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
-275000
CY2019 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
-646000
CY2018 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
884000
CY2020 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
1484000
CY2019 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
5084000
CY2018 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
4170000
CY2020 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
133446000
CY2019 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
136657000
CY2018 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
113401000
CY2020Q1 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
466000
CY2019Q1 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
373000
CY2020 us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
361000
CY2019Q1 us-gaap Capitalized Contract Cost Net
CapitalizedContractCostNet
903000
CY2020Q1 us-gaap Capitalized Contract Cost Net Current
CapitalizedContractCostNetCurrent
59000
CY2020Q1 us-gaap Contract With Customer Asset Net
ContractWithCustomerAssetNet
885000
CY2020Q1 us-gaap Capitalized Contract Cost Net
CapitalizedContractCostNet
944000
CY2020Q1 us-gaap Capitalized Contract Cost Amortization Period
CapitalizedContractCostAmortizationPeriod
P6Y
CY2020Q1 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
25383000
CY2019Q1 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
29674000
CY2020Q1 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
37387000
CY2019Q1 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
37387000
CY2020Q1 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
12109000
CY2019Q1 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
7909000
CY2020Q1 alot Finitelived Intangibleassets Accumulated Foreign Currency Translation Adjustment
FinitelivedIntangibleassetsAccumulatedForeignCurrencyTranslationAdjustment
105000
CY2019Q1 alot Finitelived Intangibleassets Accumulated Foreign Currency Translation Adjustment
FinitelivedIntangibleassetsAccumulatedForeignCurrencyTranslationAdjustment
196000
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
4200000
CY2020Q1 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
4069000
CY2020Q1 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
3972000
CY2020Q1 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
3966000
CY2020Q1 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
3969000
CY2020Q1 us-gaap Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
3394000
CY2020Q1 us-gaap Inventory Raw Materials And Supplies
InventoryRawMaterialsAndSupplies
20151000
CY2019Q1 us-gaap Inventory Raw Materials And Supplies
InventoryRawMaterialsAndSupplies
17517000
CY2020Q1 us-gaap Inventory Work In Process
InventoryWorkInProcess
1408000
CY2019Q1 us-gaap Inventory Work In Process
InventoryWorkInProcess
1633000
CY2020Q1 us-gaap Inventory Finished Goods
InventoryFinishedGoods
17992000
CY2019Q1 us-gaap Inventory Finished Goods
InventoryFinishedGoods
15688000
CY2020Q1 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
5626000
CY2019Q1 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
4677000
CY2020 alot Guaranteed Minimum Royalty Payment
GuaranteedMinimumRoyaltyPayment
3500000
CY2020 us-gaap Operating Lease Payments
OperatingLeasePayments
406000
CY2020 alot Lease Expense Related Party
LeaseExpenseRelatedParty
63000
CY2019 alot Lease Expense Related Party
LeaseExpenseRelatedParty
61000
CY2020Q1 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P5Y7M6D
CY2020Q1 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.0396
CY2020 us-gaap Restricted Stock Expense
RestrictedStockExpense
1136000
CY2019 us-gaap Restricted Stock Expense
RestrictedStockExpense
1088000
CY2018 us-gaap Restricted Stock Expense
RestrictedStockExpense
1134000
CY2020 us-gaap Stock Option Plan Expense
StockOptionPlanExpense
616000
CY2019 us-gaap Stock Option Plan Expense
StockOptionPlanExpense
783000
CY2018 us-gaap Stock Option Plan Expense
StockOptionPlanExpense
437000
CY2020 alot Employee Stock Purchase Plan Expense
EmployeeStockPurchasePlanExpense
23000
CY2019 alot Employee Stock Purchase Plan Expense
EmployeeStockPurchasePlanExpense
15000
CY2018 alot Employee Stock Purchase Plan Expense
EmployeeStockPurchasePlanExpense
12000
CY2020Q1 us-gaap Other Assets Miscellaneous Noncurrent
OtherAssetsMiscellaneousNoncurrent
1088000
CY2019 us-gaap Income Tax Effects Allocated Directly To Equity Cumulative Effect Of Change In Accounting Principle
IncomeTaxEffectsAllocatedDirectlyToEquityCumulativeEffectOfChangeInAccountingPrinciple
14000
CY2020 us-gaap Adjustments To Additional Paid In Capital Share Based Compensation Stock Options Requisite Service Period Recognition
AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
1775000
CY2020 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
782000
CY2020 us-gaap Stock Issued During Period Value Restricted Stock Award Gross
StockIssuedDuringPeriodValueRestrictedStockAwardGross
-469000
CY2018 us-gaap Dividends Common Stock Cash
DividendsCommonStockCash
1944000
CY2019 us-gaap Dividends Common Stock Cash
DividendsCommonStockCash
1933000
CY2019Q1 us-gaap Other Assets Miscellaneous Noncurrent
OtherAssetsMiscellaneousNoncurrent
1064000
CY2020Q1 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
4711000
CY2019Q1 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
2911000
CY2020Q1 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2019Q1 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2020Q1 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
856000
CY2019Q1 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
521000
CY2020Q1 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
10
CY2020Q1 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
100000
CY2019Q1 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
10
CY2019Q1 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
100000
CY2020Q1 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2019Q1 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2020Q1 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.05
CY2020Q1 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
13000000
CY2019Q1 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.05
CY2019Q1 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
13000000
CY2020Q1 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
10343610
CY2019Q1 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
10218559
CY2020Q1 us-gaap Treasury Stock Shares
TreasuryStockShares
3281701
CY2019Q1 us-gaap Treasury Stock Shares
TreasuryStockShares
3261672
CY2020 us-gaap Interest Expense
InterestExpense
826000
CY2019 us-gaap Interest Expense
InterestExpense
876000
CY2018 us-gaap Interest Expense
InterestExpense
402000
CY2020 us-gaap Investment Income Net
InvestmentIncomeNet
143000
CY2019 us-gaap Investment Income Net
InvestmentIncomeNet
145000
CY2018 us-gaap Investment Income Net
InvestmentIncomeNet
168000
CY2020 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-380000
CY2019 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-681000
CY2018 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-21000
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
7024000
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
6881000
CY2018 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
6911000
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
7238000
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
7084000
CY2018 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
7015000
CY2020 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
214000
CY2019 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
203000
CY2018 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
104000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
1759000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
5730000
CY2018 us-gaap Net Income Loss
NetIncomeLoss
3286000
CY2018 us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
5000
CY2019 us-gaap Other Comprehensive Income Loss Reclassification Adjustment From Aoci For Sale Of Securities Net Of Tax
OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
-3000
CY2017Q1 us-gaap Stockholders Equity
StockholdersEquity
70537000
CY2018 us-gaap Adjustments To Additional Paid In Capital Share Based Compensation Stock Options Requisite Service Period Recognition
AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
1583000
CY2018 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
642000
CY2018 us-gaap Stock Issued During Period Value Restricted Stock Award Gross
StockIssuedDuringPeriodValueRestrictedStockAwardGross
-103000
CY2018 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
11238000
CY2018Q1 us-gaap Stockholders Equity
StockholdersEquity
63647000
CY2019 us-gaap Adjustments To Additional Paid In Capital Share Based Compensation Stock Options Requisite Service Period Recognition
AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
1886000
CY2019 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
1310000
CY2019 us-gaap Stock Issued During Period Value Restricted Stock Award Gross
StockIssuedDuringPeriodValueRestrictedStockAwardGross
-233000
CY2020 us-gaap Dividends Common Stock Cash
DividendsCommonStockCash
1972000
CY2018 us-gaap Common Stock Dividends Per Share Cash Paid
CommonStockDividendsPerShareCashPaid
0.28
CY2019 us-gaap Common Stock Dividends Per Share Cash Paid
CommonStockDividendsPerShareCashPaid
0.28
CY2020 us-gaap Common Stock Dividends Per Share Cash Paid
CommonStockDividendsPerShareCashPaid
0.28
CY2020 us-gaap Profit Loss
ProfitLoss
1759000
CY2019 us-gaap Profit Loss
ProfitLoss
5730000
CY2018 us-gaap Profit Loss
ProfitLoss
3286000
CY2019 us-gaap Payments To Acquire Other Productive Assets
PaymentsToAcquireOtherProductiveAssets
400000
CY2020 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
6284000
CY2019 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
6152000
CY2018 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
3994000
CY2020 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
49000
CY2019 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
51000
CY2018 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
34000
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
1775000
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
1886000
CY2018 us-gaap Share Based Compensation
ShareBasedCompensation
1583000
CY2020 us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
-1638000
CY2019 us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
-1638000
CY2018 us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
744000
CY2020 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-3594000
CY2019 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
1493000
CY2018 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
4722000
CY2020 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
3938000
CY2019 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
2872000
CY2018 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
5509000
CY2020 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
-2732000
CY2019 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
-2342000
CY2018 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
5207000
CY2020 us-gaap Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
-1773000
CY2019 us-gaap Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
-151000
CY2018 us-gaap Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
-801000
CY2020 us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
156000
CY2019 us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
318000
CY2018 us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
92000
CY2020 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
3224000
CY2019 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
5005000
CY2018 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
3724000
CY2019 us-gaap Proceeds From Sale And Maturity Of Available For Sale Securities
ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities
1511000
CY2018 us-gaap Proceeds From Sale And Maturity Of Available For Sale Securities
ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities
5539000
CY2018 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
9007000
CY2018 us-gaap Payments To Acquire Available For Sale Securities
PaymentsToAcquireAvailableForSaleSecurities
321000
CY2018 us-gaap Payments To Acquire Other Productive Assets
PaymentsToAcquireOtherProductiveAssets
14873000
CY2018 us-gaap Proceeds From Sale And Collection Of Notes Receivable
ProceedsFromSaleAndCollectionOfNotesReceivable
85000
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2906000
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2645000
CY2018 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2204000
CY2020 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-2906000
CY2019 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-1534000
CY2018 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-20781000
CY2020 us-gaap Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
313000
CY2019 us-gaap Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
1077000
CY2018 us-gaap Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
539000
CY2018 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
11238000
CY2018 us-gaap Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
24200000
CY2020 us-gaap Proceeds From Lines Of Credit
ProceedsFromLinesOfCredit
5000000
CY2019 us-gaap Proceeds From Lines Of Credit
ProceedsFromLinesOfCredit
1500000
CY2018 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
-1438000
CY2020 alot Payments Of Minimum Guarantee Royalty Obligation
PaymentsOfMinimumGuaranteeRoyaltyObligation
1875000
CY2019 alot Payments Of Minimum Guarantee Royalty Obligation
PaymentsOfMinimumGuaranteeRoyaltyObligation
1625000
CY2020 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
5208000
CY2019 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
5130000
CY2018 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
828000
CY2018 us-gaap Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
234000
CY2020 us-gaap Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
1972000
CY2019 us-gaap Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
1933000
CY2018 us-gaap Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
1944000
CY2020 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-3742000
CY2019 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-6111000
CY2018 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
9057000
CY2020 us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
139000
CY2019 us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
-3000
CY2018 us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
79000
CY2020 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-3285000
CY2019 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-2643000
CY2018 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-7921000
CY2019Q1 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
7534000
CY2018Q1 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
10177000
CY2017Q1 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
18098000
CY2020Q1 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
4249000
CY2020 us-gaap Interest Paid Net
InterestPaidNet
531000
CY2019 us-gaap Interest Paid Net
InterestPaidNet
636000
CY2018 us-gaap Interest Paid Net
InterestPaidNet
246000
CY2020 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
2913000
CY2019 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
3472000
CY2018 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
1940000
CY2020 alot Value Of Shares Received In Satisfaction Of Option Exercise Price
ValueOfSharesReceivedInSatisfactionOfOptionExercisePrice
11000
CY2019 alot Value Of Shares Received In Satisfaction Of Option Exercise Price
ValueOfSharesReceivedInSatisfactionOfOptionExercisePrice
366000
CY2018 alot Value Of Shares Received In Satisfaction Of Option Exercise Price
ValueOfSharesReceivedInSatisfactionOfOptionExercisePrice
275000
CY2020Q1 alot Cash Held In Foreign Bank Accounts
CashHeldInForeignBankAccounts
3400000
CY2019Q1 alot Cash Held In Foreign Bank Accounts
CashHeldInForeignBankAccounts
3900000
CY2018Q1 us-gaap Product Warranty Accrual Classified Current
ProductWarrantyAccrualClassifiedCurrent
575000
CY2017Q1 us-gaap Product Warranty Accrual Classified Current
ProductWarrantyAccrualClassifiedCurrent
515000
CY2020 us-gaap Product Warranty Accrual Warranties Issued
ProductWarrantyAccrualWarrantiesIssued
1733000
CY2019 us-gaap Product Warranty Accrual Warranties Issued
ProductWarrantyAccrualWarrantiesIssued
1680000
CY2018 us-gaap Product Warranty Accrual Warranties Issued
ProductWarrantyAccrualWarrantiesIssued
1294000
CY2020 us-gaap Product Warranty Accrual Payments
ProductWarrantyAccrualPayments
1715000
CY2019 us-gaap Product Warranty Accrual Payments
ProductWarrantyAccrualPayments
1423000
CY2018 us-gaap Product Warranty Accrual Payments
ProductWarrantyAccrualPayments
1234000
CY2020 us-gaap Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
500000
CY2019 us-gaap Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
500000
CY2018 us-gaap Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
500000
CY2020 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
400000
CY2019 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
700000
CY2018 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
200000
CY2020 us-gaap Advertising Expense
AdvertisingExpense
1800000
CY2019 us-gaap Advertising Expense
AdvertisingExpense
1900000
CY2018 us-gaap Advertising Expense
AdvertisingExpense
1800000
CY2020 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
2
CY2020Q1 alot Number Of Customers Accounting For Credit Risk
NumberOfCustomersAccountingForCreditRisk
0
CY2019Q1 alot Number Of Customers Accounting For Credit Risk
NumberOfCustomersAccountingForCreditRisk
0
CY2018Q1 alot Number Of Customers Accounting For Credit Risk
NumberOfCustomersAccountingForCreditRisk
0
CY2020Q1 alot Percentage Of Operating Profit To Net Sales
PercentageOfOperatingProfitToNetSales
0.103
CY2019Q1 alot Percentage Of Operating Profit To Net Sales
PercentageOfOperatingProfitToNetSales
0.145
CY2018Q1 alot Percentage Of Operating Profit To Net Sales
PercentageOfOperatingProfitToNetSales
0.126
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
2433000
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
8720000
CY2018 us-gaap Operating Income Loss
OperatingIncomeLoss
5412000
CY2020 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-1063000
CY2019 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-1412000
CY2018 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-255000
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
-389000
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
1578000
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
1871000
CY2020Q1 us-gaap Assumed Liability For Unpaid Claims And Claims Adjustment Expense
AssumedLiabilityForUnpaidClaimsAndClaimsAdjustmentExpense
600000
CY2019Q1 us-gaap Assumed Liability For Unpaid Claims And Claims Adjustment Expense
AssumedLiabilityForUnpaidClaimsAndClaimsAdjustmentExpense
100000
CY2020 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
202187
CY2019 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
326275
CY2018 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
675600
CY2020Q1 us-gaap Assets
Assets
116664000
CY2019Q1 us-gaap Assets
Assets
118983000
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2906000
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2645000
CY2018 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2204000
CY2020Q1 us-gaap Noncurrent Assets
NoncurrentAssets
36651000
CY2019Q1 us-gaap Noncurrent Assets
NoncurrentAssets
40054000
CY2020 us-gaap Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
0
CY2020 us-gaap Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
0
CY2019 us-gaap Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
0
CY2019 us-gaap Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
0
CY2018 us-gaap Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
0
CY2018 us-gaap Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
0
CY2020 alot Compensation Expenses Of Option Forfeited For Not Rendering In Requested Service
CompensationExpensesOfOptionForfeitedForNotRenderingInRequestedService
0
CY2020Q1 us-gaap Land And Land Improvements
LandAndLandImprovements
967000
CY2019Q1 us-gaap Land And Land Improvements
LandAndLandImprovements
967000
CY2020Q1 us-gaap Buildings And Improvements Gross
BuildingsAndImprovementsGross
12524000
CY2019Q1 us-gaap Buildings And Improvements Gross
BuildingsAndImprovementsGross
12165000
CY2020Q1 us-gaap Machinery And Equipment Gross
MachineryAndEquipmentGross
23167000
CY2019Q1 us-gaap Machinery And Equipment Gross
MachineryAndEquipmentGross
22810000
CY2020Q1 us-gaap Capitalized Computer Software Gross
CapitalizedComputerSoftwareGross
11388000
CY2019Q1 us-gaap Capitalized Computer Software Gross
CapitalizedComputerSoftwareGross
9385000
CY2020Q1 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
48046000
CY2019Q1 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
45327000
CY2020Q1 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
36778000
CY2019Q1 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
34947000
CY2020Q1 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
11268000
CY2019Q1 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
10380000
CY2020 us-gaap Depreciation
Depreciation
2000000
CY2018 us-gaap Depreciation
Depreciation
1800000
CY2019 us-gaap Depreciation
Depreciation
2000000
CY2020 dei Amendment Flag
AmendmentFlag
false
CY2020 dei Document Period End Date
DocumentPeriodEndDate
2020-01-31
CY2020 dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2020
CY2020 dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
FY
CY2020 dei Entity Central Index Key
EntityCentralIndexKey
0000008146
CY2020 dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--01-31
CY2020 dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
CY2020 dei Entity Filer Category
EntityFilerCategory
Accelerated Filer
CY2020 dei Entity Shell Company
EntityShellCompany
false
CY2020 dei Entity Small Business
EntitySmallBusiness
true
CY2020 dei Security Exchange Name
SecurityExchangeName
NASDAQ
CY2019Q1 us-gaap Capitalized Contract Cost Net Current
CapitalizedContractCostNetCurrent
109000
CY2019Q1 us-gaap Contract With Customer Asset Net
ContractWithCustomerAssetNet
794000
CY2020Q1 us-gaap Capitalized Contract Cost Gross
CapitalizedContractCostGross
120000
CY2020 us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
79000
CY2020Q1 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
416000
CY2020Q1 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
358000
CY2020Q1 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
300000
CY2020Q1 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
273000
CY2020Q1 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
169000
CY2020Q1 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
389000
CY2020Q1 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
1905000
CY2020Q1 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
210000
CY2020Q1 us-gaap Operating Lease Liability
OperatingLeaseLiability
1695000
CY2020 us-gaap Lessee Operating Lease Option To Extend
LesseeOperatingLeaseOptionToExtend
options to extend the lease term for periods of up to five years
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
4100000
CY2018 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
2200000
CY2020 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
0
CY2019 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
0
CY2018 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
0
CY2020Q1 us-gaap Inventory Gross
InventoryGross
39551000
CY2019Q1 us-gaap Inventory Gross
InventoryGross
34838000
CY2020Q1 us-gaap Inventory Net
InventoryNet
33925000
CY2019Q1 us-gaap Inventory Net
InventoryNet
30161000
CY2020Q1 alot Inventory Demonstration Equipment
InventoryDemonstrationEquipment
3400000
CY2019Q1 alot Inventory Demonstration Equipment
InventoryDemonstrationEquipment
2100000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
1930000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
6859000
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
2110000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
-560000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
449000
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
3047000
CY2020 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
221000
CY2019 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
457000
CY2018 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
251000
CY2020 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
368000
CY2019 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
952000
CY2018 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
284000
CY2020 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
1249000
CY2019 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
3216000
CY2018 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
1127000
CY2020 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-1364000
CY2019 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-843000
CY2018 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
903000
CY2020 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-282000
CY2019 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-170000
CY2018 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-25000
CY2020 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
8000
CY2019 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
-625000
CY2018 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
-134000
CY2020 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-1638000
CY2019 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-1638000
CY2018 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
744000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
1370000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
7308000
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
5157000
CY2020 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
660000
CY2019 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
1807000
CY2018 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
592000
CY2020Q1 us-gaap Product Warranty Accrual Classified Current
ProductWarrantyAccrualClassifiedCurrent
850000
CY2019Q1 us-gaap Product Warranty Accrual Classified Current
ProductWarrantyAccrualClassifiedCurrent
832000
CY2020Q1 us-gaap Accrued Professional Fees Current
AccruedProfessionalFeesCurrent
697000
CY2019Q1 us-gaap Accrued Professional Fees Current
AccruedProfessionalFeesCurrent
403000
CY2020Q1 us-gaap Accrued Sales Commission Current
AccruedSalesCommissionCurrent
236000
CY2019Q1 us-gaap Accrued Sales Commission Current
AccruedSalesCommissionCurrent
320000
CY2020Q1 alot Accrued Stock Holder Relation Fees
AccruedStockHolderRelationFees
194000
CY2019Q1 alot Accrued Stock Holder Relation Fees
AccruedStockHolderRelationFees
40000
CY2020Q1 alot Accrued Payroll And Sales Taxes Current
AccruedPayrollAndSalesTaxesCurrent
193000
CY2019Q1 alot Accrued Payroll And Sales Taxes Current
AccruedPayrollAndSalesTaxesCurrent
97000
CY2020Q1 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
2125000
CY2019Q1 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
1219000
CY2020 alot Stock Delivered During Period Shares Stock Options Exercise
StockDeliveredDuringPeriodSharesStockOptionsExercise
20329
CY2019 alot Stock Delivered During Period Shares Stock Options Exercise
StockDeliveredDuringPeriodSharesStockOptionsExercise
33430
CY2018 alot Stock Delivered During Period Shares Stock Options Exercise
StockDeliveredDuringPeriodSharesStockOptionsExercise
26561
CY2020 alot Stock Delivered During Period Shares Stock Options Exercise Amount
StockDeliveredDuringPeriodSharesStockOptionsExerciseAmount
500000
CY2019 alot Stock Delivered During Period Shares Stock Options Exercise Amount
StockDeliveredDuringPeriodSharesStockOptionsExerciseAmount
600000
CY2018 alot Stock Delivered During Period Shares Stock Options Exercise Amount
StockDeliveredDuringPeriodSharesStockOptionsExerciseAmount
400000
CY2020Q1 us-gaap Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
2094000
CY2019Q1 us-gaap Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
1800000
CY2020Q1 alot Deferred Tax Assets Royalty Liability
DeferredTaxAssetsRoyaltyLiability
2583000
CY2019Q1 alot Deferred Tax Assets Royalty Liability
DeferredTaxAssetsRoyaltyLiability
3146000
CY2020Q1 us-gaap Deferred Tax Assets Tax Credit Carryforwards Research
DeferredTaxAssetsTaxCreditCarryforwardsResearch
1496000
CY2019Q1 us-gaap Deferred Tax Assets Tax Credit Carryforwards Research
DeferredTaxAssetsTaxCreditCarryforwardsResearch
1305000
CY2020Q1 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
582000
CY2019Q1 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
493000
CY2020Q1 alot Deferred Tax Assets Compensation Accruals
DeferredTaxAssetsCompensationAccruals
159000
CY2019Q1 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
982000
CY2019Q1 alot Deferred Tax Assets Compensation Accruals
DeferredTaxAssetsCompensationAccruals
155000
CY2020Q1 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Warranty Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
205000
CY2019Q1 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Warranty Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
201000
CY2020Q1 alot Deferred Tax Assets Unrecognized Tax Benefits
DeferredTaxAssetsUnrecognizedTaxBenefits
116000
CY2019Q1 alot Deferred Tax Assets Unrecognized Tax Benefits
DeferredTaxAssetsUnrecognizedTaxBenefits
133000
CY2020Q1 alot Deferred Tax Assets Deferred Service Contract Revenue
DeferredTaxAssetsDeferredServiceContractRevenue
111000
CY2019Q1 alot Deferred Tax Assets Deferred Service Contract Revenue
DeferredTaxAssetsDeferredServiceContractRevenue
91000
CY2020Q1 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Provision For Loan Losses
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsProvisionForLoanLosses
165000
CY2019Q1 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Provision For Loan Losses
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsProvisionForLoanLosses
101000
CY2020Q1 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
443000
CY2019Q1 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
505000
CY2020Q1 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
295000
CY2019Q1 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
142000
CY2020Q1 us-gaap Deferred Tax Assets Gross Current
DeferredTaxAssetsGrossCurrent
8362000
CY2019Q1 us-gaap Deferred Tax Assets Gross Current
DeferredTaxAssetsGrossCurrent
8072000
CY2020Q1 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
776000
CY2019Q1 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
2660000
CY2020Q1 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
1002000
CY2020Q1 us-gaap Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
188000
CY2019Q1 us-gaap Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
238000
CY2020Q1 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
1966000
CY2019Q1 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
3880000
CY2020Q1 alot Deferred Tax Assets Liabilities Gross
DeferredTaxAssetsLiabilitiesGross
6396000
CY2019Q1 alot Deferred Tax Assets Liabilities Gross
DeferredTaxAssetsLiabilitiesGross
4192000
CY2020Q1 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
1752000
CY2019Q1 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
1304000
CY2020Q1 us-gaap Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
4644000
CY2019Q1 us-gaap Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
2888000
CY2019Q1 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
618000
CY2018Q1 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
665000
CY2017Q1 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
708000
CY2020 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
2000
CY2019 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
7000
CY2018 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
55000
CY2020 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
26000
CY2019 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
54000
CY2018 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
98000
CY2020Q1 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
362000
CY2020 us-gaap Unrecognized Tax Benefits Decreases Resulting From Settlements With Taxing Authorities
UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
232000
CY2020Q1 us-gaap Deferred Tax Assets Tax Credit Carryforwards Foreign
DeferredTaxAssetsTaxCreditCarryforwardsForeign
113000
CY2020 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
288000
CY2019 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
1534000
CY2018 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
1697000
CY2019 us-gaap Income Tax Reconciliation Change In Enacted Tax Rate
IncomeTaxReconciliationChangeInEnactedTaxRate
52000
CY2018 us-gaap Income Tax Reconciliation Change In Enacted Tax Rate
IncomeTaxReconciliationChangeInEnactedTaxRate
1010000
CY2020 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
-48000
CY2019 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
226000
CY2018 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
149000
CY2020 us-gaap Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
315000
CY2019 us-gaap Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
558000
CY2018 us-gaap Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
752000
CY2019 us-gaap Income Tax Reconciliation Repatriation Of Foreign Earnings
IncomeTaxReconciliationRepatriationOfForeignEarnings
14000
CY2018 us-gaap Income Tax Reconciliation Repatriation Of Foreign Earnings
IncomeTaxReconciliationRepatriationOfForeignEarnings
104000
CY2020 us-gaap Income Tax Reconciliation Nondeductible Expense Meals And Entertainment
IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
31000
CY2019 us-gaap Income Tax Reconciliation Nondeductible Expense Meals And Entertainment
IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
56000
CY2018 us-gaap Income Tax Reconciliation Nondeductible Expense Meals And Entertainment
IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
40000
CY2020 us-gaap Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
-145000
CY2019 us-gaap Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
-127000
CY2018 us-gaap Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
24000
CY2020 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
256000
CY2020 alot Incometaxreconciliationchangeinreserves
Incometaxreconciliationchangeinreserves
-352000
CY2019 alot Incometaxreconciliationchangeinreserves
Incometaxreconciliationchangeinreserves
-34000
CY2018 alot Incometaxreconciliationchangeinreserves
Incometaxreconciliationchangeinreserves
-20000
CY2018 us-gaap Income Tax Reconciliation Deductions Qualified Production Activities
IncomeTaxReconciliationDeductionsQualifiedProductionActivities
47000
CY2020 us-gaap Income Tax Reconciliation Prior Year Income Taxes
IncomeTaxReconciliationPriorYearIncomeTaxes
-207000
CY2019 us-gaap Income Tax Reconciliation Prior Year Income Taxes
IncomeTaxReconciliationPriorYearIncomeTaxes
58000
CY2018 us-gaap Income Tax Reconciliation Prior Year Income Taxes
IncomeTaxReconciliationPriorYearIncomeTaxes
-122000
CY2018 alot Income Tax Reconciliation Other Adjustments Earn Out Liability Adjustment
IncomeTaxReconciliationOtherAdjustmentsEarnOutLiabilityAdjustment
316000
CY2020 alot Income Tax Reconciliation Global Intangible Low Taxed Income
IncomeTaxReconciliationGlobalIntangibleLowTaxedIncome
-107000
CY2020 us-gaap Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
209000
CY2019 us-gaap Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
218000
CY2018 us-gaap Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
537000
CY2019Q1 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
500000
CY2020 us-gaap Income Tax Reconciliation Tax Credits Foreign
IncomeTaxReconciliationTaxCreditsForeign
107000
CY2020 us-gaap Valuation Allowance Deferred Tax Asset Change In Amount
ValuationAllowanceDeferredTaxAssetChangeInAmount
500000
CY2017Q4 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.35
CY2018Q1 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2020 us-gaap Foreign Earnings Repatriated
ForeignEarningsRepatriated
4900000
CY2020 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
114000
CY2019 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
8000
CY2018 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
24000
CY2020Q1 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
300000
CY2019 us-gaap Income Tax Reconciliation Tax Credits Foreign
IncomeTaxReconciliationTaxCreditsForeign
53000
CY2020 alot Income Tax Reconciliation Foreign Tax Credit
IncomeTaxReconciliationForeignTaxCredit
344000
CY2019 alot Income Tax Reconciliation Foreign Tax Credit
IncomeTaxReconciliationForeignTaxCredit
477000
CY2018 alot Income Tax Reconciliation Foreign Tax Credit
IncomeTaxReconciliationForeignTaxCredit
833000
CY2020 us-gaap Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
26000
CY2019 us-gaap Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
-11000
CY2018 us-gaap Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
-30000
CY2020Q1 us-gaap Debt Instrument Carrying Amount
DebtInstrumentCarryingAmount
13034000
CY2019Q1 us-gaap Debt Instrument Carrying Amount
DebtInstrumentCarryingAmount
18242000
CY2020Q1 us-gaap Deferred Finance Costs Net
DeferredFinanceCostsNet
111000
CY2019Q1 us-gaap Deferred Finance Costs Net
DeferredFinanceCostsNet
164000
CY2020Q1 us-gaap Long Term Debt Current
LongTermDebtCurrent
5208000
CY2019Q1 us-gaap Long Term Debt Current
LongTermDebtCurrent
5208000
CY2020Q1 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
7715000
CY2019Q1 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
12870000
CY2020 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.284
CY2019 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.216
CY2018 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.363
CY2017Q1 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
685456
CY2017Q1 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
11.96
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
187189
CY2018 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
13.57
CY2018 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
84025
CY2018 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
10.08
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
18750
CY2018 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
14.49
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
24600
CY2018 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
11.76
CY2018Q1 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
745270
CY2018Q1 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
12.52
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
196000
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
18.21
CY2019 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
150125
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
10.62
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
16300
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
15.10
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
3700
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
8.95
CY2019Q1 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
771145
CY2019Q1 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
14.30
CY2020 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
57175
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
11.60
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
34526
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
15.73
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
400
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
400000
CY2020 dei Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
No
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
500000
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
1100000
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
6.22
CY2020Q1 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
14.46
CY2020Q1 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
679044
CY2020Q1 us-gaap Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Outstanding Options Weighted Average Exercise Price Beginning Balance1
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
14.46
CY2020 us-gaap Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Outstanding Options Weighted Average Remaining Contractual Term2
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
P6Y2M12D
CY2020Q1 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
489420
CY2020Q1 us-gaap Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Exercisable Options Weighted Average Exercise Price1
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
13.79
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
P5Y7M6D
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.026
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.019
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P9Y
CY2019 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P9Y
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.394
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.390
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.015
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.020
CY2020 alot Reservation Of Shares Under Employee Stock Purchase Plan
ReservationOfSharesUnderEmployeeStockPurchasePlan
247500
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
7.43
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
4.79
CY2020Q1 us-gaap Preferred Stock Value
PreferredStockValue
CY2019Q1 us-gaap Preferred Stock Value
PreferredStockValue
CY2020 alot Cash Equivalents Maturity Period Description
CashEquivalentsMaturityPeriodDescription
90 days or less
CY2020 dei Document Annual Report
DocumentAnnualReport
true
CY2020 dei Document Transition Report
DocumentTransitionReport
false
CY2020 dei Entity Address State Or Province
EntityAddressStateOrProvince
RI
CY2020Q1 us-gaap Line Of Credit Facility Maximum Borrowing Capacity
LineOfCreditFacilityMaximumBorrowingCapacity
10000000
CY2019Q1 us-gaap Line Of Credit Facility Maximum Borrowing Capacity
LineOfCreditFacilityMaximumBorrowingCapacity
17500000
CY2020Q1 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
416000
CY2020 us-gaap Prior Period Reclassification Adjustment Description
PriorPeriodReclassificationAdjustmentDescription
<div style="font-family: &quot;times new roman&quot;; font-size: small; color: rgb(0, 0, 0); letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;;font-style:italic;display:inline;">Reclassification: </div>Certain amounts in prior year&#8217;s financial statements have been reclassified to conform to the current year&#8217;s presentation.</div><table border="0" style="width:100%; table-layout:fixed;" cellspacing="0" cellpadding="0"><tr><td></td></tr></table>
CY2020 us-gaap Use Of Estimates
UseOfEstimates
<div style="font-family: &quot;times new roman&quot;; font-size: small; color: rgb(0, 0, 0); letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;;font-style:italic;display:inline;">Use of Estimates: </div>The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect these financial statements and accompanying notes. Some of the more significant estimates relate to the allowances for doubtful accounts, inventory valuation, valuation and estimated lives of intangible assets, impairment of long-lived assets, goodwill, income taxes, share-based compensation and warranty reserves. Management&#8217;s estimates are based on the facts and circumstances available at the time estimates are made, past historical experience, risk of loss, general economic conditions and trends, and management&#8217;s assessments of the probable future outcome of these matters. Consequently, actual results could differ from those estimates.</div><table border="0" style="width:100%; table-layout:fixed;" cellspacing="0" cellpadding="0"><tr><td></td></tr></table>
CY2020 dei Document Type
DocumentType
10-K
CY2020 dei Entity Registrant Name
EntityRegistrantName
AstroNova, Inc.
CY2020 dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
0
CY2020 dei Entity Voluntary Filers
EntityVoluntaryFilers
No
CY2020 dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
CY2020 dei Trading Symbol
TradingSymbol
ALOT
CY2020 dei Security12b Title
Security12bTitle
Common Stock
CY2020Q2 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
7097000
CY2019Q3 dei Entity Public Float
EntityPublicFloat
158496000

Files In Submission

Name View Source Status
0001193125-20-103834-index-headers.html Edgar Link pending
0001193125-20-103834-index.html Edgar Link pending
0001193125-20-103834.txt Edgar Link pending
0001193125-20-103834-xbrl.zip Edgar Link pending
alot-20200131.xml Edgar Link completed
alot-20200131.xsd Edgar Link pending
alot-20200131_cal.xml Edgar Link unprocessable
alot-20200131_def.xml Edgar Link unprocessable
alot-20200131_lab.xml Edgar Link unprocessable
alot-20200131_pre.xml Edgar Link unprocessable
d816550d10k.htm Edgar Link pending
d816550dex21.htm Edgar Link pending
d816550dex231.htm Edgar Link pending
d816550dex311.htm Edgar Link pending
d816550dex312.htm Edgar Link pending
d816550dex321.htm Edgar Link pending
d816550dex322.htm Edgar Link pending
d816550dex42.htm Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R11.htm Edgar Link pending
R12.htm Edgar Link pending
R13.htm Edgar Link pending
R14.htm Edgar Link pending
R15.htm Edgar Link pending
R16.htm Edgar Link pending
R17.htm Edgar Link pending
R18.htm Edgar Link pending
R19.htm Edgar Link pending
R2.htm Edgar Link pending
R20.htm Edgar Link pending
R21.htm Edgar Link pending
R22.htm Edgar Link pending
R23.htm Edgar Link pending
R24.htm Edgar Link pending
R25.htm Edgar Link pending
R26.htm Edgar Link pending
R27.htm Edgar Link pending
R28.htm Edgar Link pending
R29.htm Edgar Link pending
R3.htm Edgar Link pending
R30.htm Edgar Link pending
R31.htm Edgar Link pending
R32.htm Edgar Link pending
R33.htm Edgar Link pending
R34.htm Edgar Link pending
R35.htm Edgar Link pending
R36.htm Edgar Link pending
R37.htm Edgar Link pending
R38.htm Edgar Link pending
R39.htm Edgar Link pending
R4.htm Edgar Link pending
R40.htm Edgar Link pending
R41.htm Edgar Link pending
R42.htm Edgar Link pending
R43.htm Edgar Link pending
R44.htm Edgar Link pending
R45.htm Edgar Link pending
R46.htm Edgar Link pending
R47.htm Edgar Link pending
R48.htm Edgar Link pending
R49.htm Edgar Link pending
R5.htm Edgar Link pending
R50.htm Edgar Link pending
R51.htm Edgar Link pending
R52.htm Edgar Link pending
R53.htm Edgar Link pending
R54.htm Edgar Link pending
R55.htm Edgar Link pending
R56.htm Edgar Link pending
R57.htm Edgar Link pending
R58.htm Edgar Link pending
R59.htm Edgar Link pending
R6.htm Edgar Link pending
R60.htm Edgar Link pending
R61.htm Edgar Link pending
R62.htm Edgar Link pending
R63.htm Edgar Link pending
R64.htm Edgar Link pending
R65.htm Edgar Link pending
R66.htm Edgar Link pending
R67.htm Edgar Link pending
R68.htm Edgar Link pending
R69.htm Edgar Link pending
R7.htm Edgar Link pending
R70.htm Edgar Link pending
R71.htm Edgar Link pending
R72.htm Edgar Link pending
R73.htm Edgar Link pending
R74.htm Edgar Link pending
R75.htm Edgar Link pending
R76.htm Edgar Link pending
R77.htm Edgar Link pending
R78.htm Edgar Link pending
R79.htm Edgar Link pending
R8.htm Edgar Link pending
R80.htm Edgar Link pending
R81.htm Edgar Link pending
R82.htm Edgar Link pending
R83.htm Edgar Link pending
R84.htm Edgar Link pending
R85.htm Edgar Link pending
R86.htm Edgar Link pending
R87.htm Edgar Link pending
R88.htm Edgar Link pending
R89.htm Edgar Link pending
R9.htm Edgar Link pending
R90.htm Edgar Link pending
R91.htm Edgar Link pending
R92.htm Edgar Link pending
R93.htm Edgar Link pending
R94.htm Edgar Link pending
R95.htm Edgar Link pending
R96.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending