-$1.99 (-2.56%)
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 | 2021-12-31 | 2020-12-31 | 2019-12-31 | 2018-12-31 | 2017-12-31 | 2016-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| revenue | 2.87B | 2.8B | 2.85B | 3.12B | 2.89B | 2.59B | 2.82B | 2.7B | 2.91B | 2.69B |
| costOfRevenue | 2.33B | 2.28B | 2.34B | 2.6B | 2.43B | 2.17B | 2.37B | 2.29B | 2.53B | 2.32B |
| grossProfit | 539.33M | 519.79M | 511.74M | 526.18M | 464.58M | 418.81M | 451.31M | 411.09M | 382.08M | 371.16M |
| researchAndDevelopmentExpenses | - | - | - | - | - | - | - | - | - | - |
| generalAndAdministrativeExpenses | 402.33M | 12.9M | 12.9M | 364.8M | 331.8M | - | - | 294.1M | 278.3M | 246.6M |
| sellingAndMarketingExpenses | 17.3M | 25.1M | 22.4M | 20.2M | 15.8M | - | - | 16.2M | 14.4M | 16.1M |
| sellingGeneralAndAdministrativeExpenses | 419.63M | 38M | 35.3M | 385M | 347.6M | 345.74M | 338.64M | 324.43M | 300.91M | 262.7M |
| otherExpenses | 17.34M | 384.73M | 373.28M | 20.62M | 20.46M | 992K | 703K | 2.98M | - | 10.5M |
| operatingExpenses | 436.96M | 422.73M | 408.58M | 405.62M | 368.06M | 346.73M | 339.34M | 324.43M | 300.91M | 287.23M |
| costAndExpenses | 2.77B | 2.71B | 2.75B | 3B | 2.8B | 2.52B | 2.71B | 2.61B | 2.83B | 2.61B |
| netInterestIncome | 14.37M | 18.72M | - | - | - | 61000 | 707K | 2.98M | 98000 | -67000 |
| interestIncome | 14.37M | 18.72M | - | - | - | 168K | 810K | 3.12M | 98000 | - |
| interestExpense | - | - | - | - | - | 107K | 103K | 145K | - | 67000 |
| depreciationAndAmortization | 14.6M | 12.98M | 12.65M | 12M | 12.2M | 13.6M | 13.31M | 14.06M | 11.84M | 10.45M |
| ebitda | 128.33M | 110.46M | 118.22M | 132.58M | 108.68M | 86.67M | 125.99M | 102.87M | 93M | 90.97M |
| ebit | 113.73M | 97.48M | 105.57M | 120.58M | 96.48M | 73.07M | 112.68M | 88.81M | 77.62M | 83.96M |
| nonOperatingIncomeExcludingInterest | -11.36M | -415K | -2.42M | -25000 | 38000 | -992K | -703K | -3.12M | -98000 | -3.44M |
| operatingIncome | 102.36M | 97.06M | 103.15M | 120.55M | 96.52M | 72.07M | 111.97M | 85.69M | 77.53M | 80.52M |
| totalOtherIncomeExpensesNet | 11.36M | 20.42M | 9.96M | 1.08M | 5000 | 1.12M | 707K | 2.98M | 98000 | -67000 |
| incomeBeforeTax | 113.73M | 117.49M | 113.11M | 121.64M | 96.52M | 73.2M | 112.68M | 88.66M | 77.62M | 80.45M |
| incomeTaxExpense | 30.01M | 30.39M | 29.84M | 32.42M | 26.62M | 17.43M | 30.57M | 24.07M | 22.77M | 32.34M |
| netIncomeFromContinuingOperations | 83.72M | 87.1M | 83.27M | 89.22M | 69.91M | 55.76M | 82.11M | 64.59M | 54.86M | 48.11M |
| netIncomeFromDiscontinuedOperations | - | - | - | - | - | - | - | - | - | - |
| otherAdjustmentsToNetIncome | - | - | - | - | - | - | - | - | - | - |
| netIncome | 83.72M | 87.1M | 83.27M | 89.22M | 69.91M | 55.76M | 82.11M | 64.59M | 54.86M | 48.11M |
| netIncomeDeductions | - | - | - | - | - | - | - | - | - | - |
| bottomLineNetIncome | 83.72M | 87.1M | 83.27M | 89.22M | 69.91M | 55.76M | 82.11M | 64.59M | 54.86M | 48.11M |
| eps | 3.3 | 3.31 | 3.17 | 3.4 | 2.67 | 2.13 | 3.12 | 2.42 | 2.05 | 1.81 |
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 | 2021-12-31 | 2020-12-31 | 2019-12-31 | 2018-12-31 | 2017-12-31 | 2016-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| cashAndCashEquivalents | 193.22M | 178.32M | 144.95M | 122.93M | 108.31M | 95.66M | 90.06M | 91.7M | 49.99M | 49.18M |
| shortTermInvestments | 213.46M | 264.3M | 152.23M | - | - | - | - | - | - | - |
| cashAndShortTermInvestments | 406.68M | 442.61M | 297.19M | 122.93M | 108.31M | 95.66M | 90.06M | 91.7M | 49.99M | 49.18M |
| netReceivables | 648.02M | 613.83M | 611.18M | 610.28M | 607.53M | 611.02M | 551.01M | 448.62M | 453.62M | 414M |
| accountsReceivables | 648.02M | 550.74M | 552.75M | 552.78M | 559.92M | 548.42M | 496.52M | 398.43M | 395.8M | 382.4M |
| otherReceivables | - | 63.09M | 58.43M | 57.5M | 47.61M | 62.61M | 54.5M | 50.19M | 57.82M | 31.6M |
| inventory | 143.57M | 95.05M | 124.18M | 208.68M | 206.56M | 140.87M | 124.67M | 119.2M | 106.75M | 90.54M |
| prepaids | - | - | - | - | 10.02M | - | - | 9.66M | 5.74M | 5.45M |
| otherCurrentAssets | 22.61M | 15.36M | 16.09M | 11.9M | - | 11.44M | 10.67M | - | - | - |
| totalCurrentAssets | 1.22B | 1.17B | 1.05B | 953.79M | 932.41M | 858.98M | 776.41M | 669.18M | 616.1M | 559.17M |
| propertyPlantEquipmentNet | 48.48M | 55.6M | 61M | 66.73M | 70.59M | 74.36M | 78.07M | 51.8M | 41.49M | 39.4M |
| goodwill | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M |
| intangibleAssets | 989K | 2.21M | 3.43M | 4.65M | 5.87M | 7.09M | 8.31M | 9.56M | 11.02M | 12.59M |
| goodwillAndIntangibleAssets | 74.59M | 75.81M | 77.03M | 78.25M | 79.47M | 80.69M | 81.91M | 83.17M | 84.63M | 86.19M |
| longTermInvestments | - | - | - | - | - | - | - | -17.18M | -15.7M | -19.6M |
| taxAssets | - | - | - | - | - | 11.53M | 9.33M | 17.18M | 15.7M | 19.6M |
| otherNonCurrentAssets | 6.98M | 1.1M | 1.71M | 1.06M | 910K | 1.34M | 947K | 1.21M | 5.64M | 1.37M |
| totalNonCurrentAssets | 130.05M | 132.5M | 139.74M | 146.03M | 150.97M | 167.92M | 170.25M | 136.18M | 131.76M | 126.96M |
| otherAssets | - | - | - | - | - | - | - | - | - | - |
| totalAssets | 1.35B | 1.3B | 1.19B | 1.1B | 1.08B | 1.03B | 946.66M | 805.36M | 747.85M | 686.13M |
| totalPayables | 338.2M | 308M | 269.83M | 235.45M | 292.31M | 266.85M | 235.64M | 217.72M | 194.26M | 177.86M |
| accountPayables | 338.2M | 300.24M | 263.68M | 232.64M | 281.84M | 266.85M | 235.64M | 201.64M | 194.26M | 177.86M |
| otherPayables | - | 7.75M | 6.14M | 2.82M | 10.47M | - | - | 16.08M | - | - |
| accruedExpenses | 30.94M | 23.33M | 20.44M | 24.07M | 30.97M | 17.83M | 28.05M | 24.32M | 22.66M | 52.39M |
| shortTermDebt | - | - | - | - | - | 3.93M | 4.32M | - | - | - |
| capitalLeaseObligationsCurrent | - | 1.8M | 1.73M | 3.17M | 3.42M | - | - | - | - | - |
| taxPayables | - | 7.75M | 6.14M | 2.82M | 10.47M | - | - | 7.63M | - | - |
| deferredRevenue | - | 26.49M | 24.41M | 32.59M | 33.43M | 3.51M | 5.94M | 8.88M | - | - |
| otherCurrentLiabilities | 51.25M | 11.59M | 11.55M | 15.23M | 14.51M | 50.15M | 34.97M | 8.88M | 31.1M | - |
| totalCurrentLiabilities | 420.39M | 371.2M | 327.96M | 310.52M | 374.63M | 342.26M | 308.92M | 259.8M | 248.02M | 230.25M |
| longTermDebt | 498K | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligationsNonCurrent | 498K | 1.55M | 3.18M | 4.99M | 6.79M | 9.63M | 10.33M | - | - | - |
| deferredRevenueNonCurrent | - | - | - | - | - | - | - | - | - | - |
| deferredTaxLiabilitiesNonCurrent | 19.9M | 15.09M | 15.84M | 17.97M | 19.28M | 30.06M | 29.5M | 17.18M | 15.7M | 19.6M |
| otherNonCurrentLiabilities | -498K | 516K | 624K | 170K | 211K | 8.63M | 600K | 2.47M | 1.89M | 22.44M |
| totalNonCurrentLiabilities | 20.4M | 17.16M | 19.65M | 23.13M | 26.28M | 48.32M | 40.43M | 19.65M | 17.58M | 22.44M |
| otherLiabilities | - | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligations | 498K | 3.36M | 4.91M | 8.16M | 10.21M | 9.63M | 10.33M | - | - | - |
| totalLiabilities | 440.8M | 388.36M | 347.61M | 333.65M | 400.91M | 390.58M | 349.35M | 279.45M | 265.6M | 252.69M |
| treasuryStock | -140.74M | -63.98M | -51.38M | -45.94M | -45.94M | -45.94M | -35.72M | -31.24M | -15.86M | -15.86M |
| preferredStock | - | - | - | - | - | - | - | - | - | - |
| commonStock | 295K | 294K | 293K | 291K | 290K | 289K | 288K | 288K | 287K | 285K |
| retainedEarnings | 905.89M | 837.47M | 760.9M | 686.04M | 605.77M | 562.08M | 514.69M | 441.01M | 383.67M | 337.94M |
| additionalPaidInCapital | 144.61M | 137.04M | 130.88M | 125.78M | 122.35M | 119.89M | 118.04M | 115.84M | 114.15M | 111.08M |
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 | 2021-12-31 | 2020-12-31 | 2019-12-31 | 2018-12-31 | 2017-12-31 | 2016-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| netIncome | 83.72M | 87.1M | 83.27M | 89.22M | 69.91M | 55.76M | 82.11M | 64.59M | 54.86M | 48.11M |
| depreciationAndAmortization | 11.7M | 12.98M | 12.65M | 11.98M | 12.2M | 13.6M | 13.31M | 14.06M | 11.84M | 10.45M |
| deferredIncomeTax | 4.84M | -777K | -2.15M | -1.31M | 753K | -1.64M | 2.99M | 1.49M | -3.91M | 2.99M |
| stockBasedCompensation | 9.34M | 8.48M | 7.02M | 5.68M | 4.23M | 2.67M | 1.86M | 1.08M | 741K | 1.05M |
| changeInWorkingCapital | -46.57M | 68.35M | 96.26M | -73.94M | -32.61M | -36.58M | -63.91M | 3.88M | -45.89M | -29.47M |
| accountsReceivables | -38.45M | -6.51M | 1.6M | -6M | -1.32M | -63.65M | -101.95M | 14.87M | -39.46M | -33.84M |
| inventory | -48.51M | 29.12M | 84.5M | -2.13M | -65.69M | -16.2M | -5.47M | -23.31M | -16.22M | 12.4M |
| accountsPayables | 38.08M | 36.45M | 31.15M | -49.06M | 14.81M | 32.52M | 34.96M | 5.72M | 24.93M | -3.01M |
| otherWorkingCapital | 2.32M | 9.29M | -20.99M | -16.76M | 19.58M | 10.76M | 8.56M | 6.6M | -15.15M | -5.03M |
| otherNonCashItems | 2.4M | -2.26M | 897K | 3.27M | 3.27M | 2.28M | 238K | 1.73M | 1.68M | 452K |
| netCashProvidedByOperatingActivities | 65.44M | 173.87M | 197.95M | 34.89M | 57.75M | 36.1M | 36.6M | 86.84M | 19.32M | 33.59M |
| investmentsInPropertyPlantAndEquipment | -7.39M | -7.58M | -9.6M | -9.08M | -10.3M | -11.03M | -25.66M | -21.24M | -11.8M | -11.88M |
| acquisitionsNet | - | - | - | - | - | - | - | - | - | -42.99M |
| purchasesOfInvestments | -264.14M | -358.32M | -150.61M | - | - | - | - | - | - | - |
| salesMaturitiesOfInvestments | 314.29M | 250.61M | - | - | - | - | - | - | - | - |
| otherInvestingActivities | 76000 | - | - | - | 1.57M | - | - | -21.24M | -11800 | -42.99M |
| netCashProvidedByInvestingActivities | 42.83M | -115.29M | -160.2M | -9.08M | -8.73M | -11.03M | -25.66M | -21.24M | -11.8M | -54.88M |
| netDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| longTermNetDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| shortTermNetDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| netStockIssuance | -75.03M | -12.38M | -5.39M | -2.24M | -1.77M | -10.22M | -4.48M | -15.38M | - | - |
| netCommonStockIssuance | -75.03M | -12.38M | -5.39M | -2.24M | -1.77M | -10.22M | -4.48M | -15.38M | - | - |
| commonStockIssuance | 1.23M | - | - | - | - | - | - | 1.25M | 2.95M | 961K |
| commonStockRepurchased | -76.26M | -12.38M | -5.39M | -2.24M | -1.77M | -10.22M | -4.48M | -15.38M | -613K | -737K |
| netPreferredStockIssuance | - | - | - | - | - | - | - | - | - | - |
| netDividendsPaid | -15.3M | -10.53M | -8.41M | -8.95M | -34.6M | -8.43M | -8.45M | -9.12M | -9.04M | -10.59M |
| commonDividendsPaid | -15.3M | -10.53M | -8.41M | - | -34.6M | -8.43M | -8.45M | -9.12M | -9.04M | -10.59M |
| preferredDividendsPaid | - | - | - | -8.95M | - | - | - | - | - | - |
| otherFinancingActivities | -3.04M | -2.32M | -1.93M | - | - | -821K | 340K | 609K | 2.33M | 872K |
| netCashProvidedByFinancingActivities | -93.37M | -25.22M | -15.73M | -11.19M | -36.37M | -19.47M | -12.59M | -23.89M | -6.71M | -9.72M |
| date | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | 2024-12-31 | 2024-09-30 | 2024-06-30 | 2024-03-31 | 2023-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| revenue | 721.87M | 702.94M | 709.07M | 759.69M | 701.05M | 708.9M | 724.72M | 736.48M | 632.02M | 696.47M |
| costOfRevenue | 589.13M | 567.33M | 570.42M | 621.93M | 573.74M | 579.12M | 589.31M | 599.94M | 513.95M | 566.69M |
| grossProfit | 132.74M | 135.61M | 138.64M | 137.77M | 127.31M | 129.77M | 135.41M | 136.54M | 118.07M | 129.78M |
| researchAndDevelopmentExpenses | - | - | - | - | - | - | - | - | - | - |
| generalAndAdministrativeExpenses | 97.2M | 108.93M | 98.7M | 97.7M | 97M | 95.6M | 94M | 94.9M | 92.1M | 90.7M |
| sellingAndMarketingExpenses | 6.1M | - | 4.9M | 4.4M | 8M | 6.3M | 6.2M | 5.2M | 7.4M | 5.9M |
| sellingGeneralAndAdministrativeExpenses | 103.3M | 108.93M | 103.6M | 102.1M | 105M | 101.9M | 100.2M | 100.1M | 99.5M | 96.6M |
| otherExpenses | 4.8M | - | 4.78M | 4.77M | 7.79M | 5.24M | 5.16M | 5.52M | 5.11M | 5.23M |
| operatingExpenses | 108.1M | 108.93M | 108.38M | 106.87M | 112.79M | 107.14M | 105.36M | 105.62M | 104.61M | 101.83M |
| costAndExpenses | 697.23M | 676.26M | 678.8M | 728.8M | 686.52M | 686.26M | 694.68M | 705.56M | 618.56M | 668.52M |
| netInterestIncome | 3.36M | 3.56M | 3.69M | 3.22M | 3.9M | 4.67M | 4.84M | 4.65M | 4.57M | - |
| interestIncome | 3.36M | 3.56M | 3.69M | 3.22M | 3.9M | 4.67M | 4.84M | 4.65M | 4.57M | - |
| interestExpense | - | - | - | - | - | - | - | - | - | - |
| depreciationAndAmortization | 2.8M | 2.85M | 5.75M | 2.9M | 3.1M | 3.2M | 3.3M | 3.27M | 3.3M | 3.2M |
| ebitda | 26.39M | 30.01M | 39.71M | 33.77M | 20.51M | 25.87M | 33.31M | 34.62M | 16.77M | 31.18M |
| ebit | 23.59M | 27.16M | 33.96M | 30.87M | 17.41M | 22.67M | 30.01M | 31.34M | 13.47M | 27.98M |
| nonOperatingIncomeExcludingInterest | 1.05M | -482K | -3.69M | 31000 | -2.89M | -36000 | 35000 | -423K | -8000 | -32000 |
| operatingIncome | 24.64M | 26.68M | 30.27M | 30.9M | 14.52M | 22.64M | 30.04M | 30.92M | 13.46M | 27.94M |
| totalOtherIncomeExpensesNet | -1.05M | 482K | 3.69M | 3.22M | 3.98M | 4.67M | 6.54M | 4.65M | 4.57M | 4.11M |
| incomeBeforeTax | 23.59M | 27.16M | 33.96M | 34.11M | 18.5M | 27.31M | 36.58M | 35.57M | 18.03M | 32.06M |
| incomeTaxExpense | 6.36M | 6.45M | 9.22M | 9.32M | 5.02M | 6.59M | 9.52M | 9.41M | 4.88M | 8.28M |
| netIncomeFromContinuingOperations | 17.22M | 20.71M | 24.74M | 24.79M | 13.48M | 20.72M | 27.06M | 26.16M | 13.15M | 23.78M |
| netIncomeFromDiscontinuedOperations | - | - | - | - | - | - | - | - | - | - |
| otherAdjustmentsToNetIncome | - | - | - | - | - | - | - | - | - | - |
| netIncome | 17.22M | 20.71M | 24.74M | 24.79M | 13.48M | 20.72M | 27.06M | 26.16M | 13.15M | 23.78M |
| netIncomeDeductions | - | - | - | - | - | - | - | - | - | - |
| bottomLineNetIncome | 17.22M | 20.71M | 24.74M | 24.79M | 13.48M | 20.72M | 27.06M | 26.16M | 13.15M | 23.78M |
| eps | 0.68 | 0.82 | 0.98 | 0.98 | 0.52 | 0.79 | 1.03 | 0.99 | 0.5 | 0.9 |
| date | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | 2024-12-31 | 2024-09-30 | 2024-06-30 | 2024-03-31 | 2023-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| cashAndCashEquivalents | 196.26M | 193.22M | 187.84M | 186.74M | 182.46M | 178.32M | 167.51M | 128.21M | 147.58M | 144.95M |
| shortTermInvestments | 215.19M | 213.46M | 211.35M | 159.35M | 157.87M | 264.3M | 261.6M | 257.59M | 204.37M | 152.23M |
| cashAndShortTermInvestments | 411.45M | 406.68M | 399.2M | 346.09M | 340.32M | 442.61M | 429.11M | 385.8M | 351.95M | 297.19M |
| netReceivables | 661.48M | 648.02M | 616.7M | 637.04M | 603.98M | 611.43M | 585.08M | 608.11M | 530.58M | 611.18M |
| accountsReceivables | 661.48M | 648.02M | 616.7M | 637.04M | 603.98M | 554.58M | 585.08M | 598.83M | 527.26M | 556.54M |
| otherReceivables | - | - | - | - | - | 59.24M | - | 9.28M | 3.32M | 57.2M |
| inventory | 194.29M | 143.57M | 135.02M | 133.49M | 151.79M | 95.05M | 113.69M | 136.61M | 123.9M | 124.18M |
| prepaids | - | - | - | - | - | - | - | - | - | - |
| otherCurrentAssets | 23.38M | 22.61M | 23.16M | 22.45M | 20.42M | 17.75M | 23.84M | 16.98M | 16.93M | 16.09M |
| totalCurrentAssets | 1.29B | 1.22B | 1.17B | 1.14B | 1.12B | 1.17B | 1.15B | 1.15B | 1.02B | 1.05B |
| propertyPlantEquipmentNet | 53.72M | 48.48M | 49.84M | 50.49M | 54.47M | 55.6M | 56.72M | 58.29M | 59.55M | 61M |
| goodwill | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M | 73.6M |
| intangibleAssets | 684K | 989K | 1.29M | 1.6M | 1.9M | 2.21M | 2.51M | 2.82M | 3.12M | 3.43M |
| goodwillAndIntangibleAssets | 74.29M | 74.59M | 74.9M | 75.2M | 75.51M | 75.81M | 76.12M | 76.42M | 76.73M | 77.03M |
| longTermInvestments | - | - | - | - | - | - | - | - | - | - |
| taxAssets | - | - | - | - | - | - | - | - | - | - |
| otherNonCurrentAssets | 6.41M | 6.98M | 6.7M | 4.52M | 1.01M | 1.1M | 1.19M | 1.27M | 1.43M | 1.71M |
| totalNonCurrentAssets | 134.41M | 130.05M | 131.44M | 130.21M | 130.98M | 132.5M | 134.02M | 135.98M | 137.71M | 139.74M |
| otherAssets | - | - | - | - | - | - | - | - | - | - |
| totalAssets | 1.43B | 1.35B | 1.31B | 1.27B | 1.25B | 1.3B | 1.29B | 1.28B | 1.16B | 1.19B |
| totalPayables | 396.48M | 338.2M | 312.81M | 303.76M | 273.52M | 308M | 293.16M | 317.11M | 218.8M | 269.83M |
| accountPayables | 396.48M | 338.2M | 312.81M | 303.76M | 273.52M | 300.24M | 293.16M | 317.11M | 218.8M | 263.68M |
| otherPayables | - | - | - | - | - | 7.75M | - | - | - | 6.14M |
| accruedExpenses | 68.54M | - | 31.48M | 23.44M | 28.33M | 23.33M | 74.3M | 23M | 22.61M | 20.44M |
| shortTermDebt | - | - | 1.62M | 1.92M | 1.97M | - | - | 1.96M | 1.85M | - |
| capitalLeaseObligationsCurrent | 954K | - | - | - | - | 1.8M | - | - | - | 1.73M |
| taxPayables | - | - | - | - | - | 7.75M | - | - | - | 6.14M |
| deferredRevenue | - | - | 7.8M | 10.23M | 16.1M | 26.49M | - | 7.1M | 8.45M | 24.41M |
| otherCurrentLiabilities | 11.24M | 82.19M | 30.36M | 28.93M | 33.97M | 11.59M | - | 39.46M | 38.1M | 11.55M |
| totalCurrentLiabilities | 477.2M | 420.39M | 384.09M | 368.28M | 353.88M | 371.2M | 367.45M | 388.64M | 289.81M | 327.96M |
| longTermDebt | 6.43M | 498K | - | - | - | - | - | - | - | - |
| capitalLeaseObligationsNonCurrent | - | 498K | 437K | 634K | 1.07M | 1.55M | 2.03M | 2.5M | 2.76M | 3.18M |
| deferredRevenueNonCurrent | - | - | - | - | - | - | - | - | - | - |
| deferredTaxLiabilitiesNonCurrent | 19.7M | 19.9M | 18.25M | 15.03M | 15.06M | 15.09M | 18.38M | 17.42M | 15.81M | 15.84M |
| otherNonCurrentLiabilities | - | -498K | - | 516K | 516K | 516K | 517K | - | 18999 | 624K |
| totalNonCurrentLiabilities | 26.12M | 20.4M | 18.69M | 16.18M | 16.64M | 17.16M | 20.93M | 19.92M | 18.58M | 19.65M |
| otherLiabilities | - | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligations | 954K | 498K | 437K | 634K | 1.07M | 3.36M | 2.03M | 2.5M | 2.76M | 4.91M |
| totalLiabilities | 503.33M | 440.8M | 402.78M | 384.46M | 370.53M | 388.36M | 388.38M | 408.56M | 308.39M | 347.61M |
| treasuryStock | -143.16M | -140.74M | -130.01M | -124.84M | -109.14M | -63.98M | -59.11M | -55.17M | -51.57M | -51.38M |
| preferredStock | - | - | - | - | - | - | - | - | - | - |
| commonStock | 296K | 295K | 295K | 294K | 294K | 294K | 293K | 293K | 293K | 293K |
| retainedEarnings | 918.07M | 905.89M | 888.96M | 868.02M | 847.04M | 837.47M | 819.37M | 794.94M | 771.42M | 760.9M |
| additionalPaidInCapital | 146.58M | 144.61M | 143.41M | 141.41M | 138.72M | 137.04M | 136.33M | 134.97M | 132.6M | 130.88M |
| date | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | 2024-12-31 | 2024-09-30 | 2024-06-30 | 2024-03-31 | 2023-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| netIncome | 17.22M | 20.71M | 24.74M | 24.79M | 13.48M | 20.72M | 27.06M | 26.16M | 13.15M | 23.78M |
| depreciationAndAmortization | 2.8M | 2.85M | 2.89M | 2.87M | 3.1M | 3.17M | 3.28M | 3.27M | 3.27M | 3.2M |
| deferredIncomeTax | -166K | 1.66M | 3.18M | - | - | -3.21M | 811K | - | - | - |
| stockBasedCompensation | 2.64M | 2.24M | 2.43M | 2.46M | 2.21M | 2.28M | 2M | 2.25M | 1.95M | 1.6M |
| changeInWorkingCapital | -7.63M | -2.86M | 30.66M | -2.9M | -71.46M | 1.03M | 18.17M | 8.2M | 40.95M | -12.66M |
| accountsReceivables | -13.7M | -31.94M | 20.16M | -33.72M | 7.05M | -27.44M | 13.33M | -71.71M | 79.31M | -19.27M |
| inventory | -50.73M | -8.55M | -1.53M | 18.3M | -56.74M | 18.64M | 22.92M | -12.71M | 279K | 18.06M |
| accountsPayables | 58.09M | 26.17M | 8.54M | 30.33M | -26.96M | 7.31M | -24.03M | 98.3M | -45.13M | -502K |
| otherWorkingCapital | -1.28M | 11.46M | 3.49M | -17.81M | 5.18M | 2.53M | 5.95M | -5.68M | 6.49M | -10.95M |
| otherNonCashItems | -600K | 2.82M | 245K | -960K | 290K | 1.26M | 1.62M | -1.49M | -2.03M | -3.63M |
| netCashProvidedByOperatingActivities | 14.27M | 27.42M | 64.15M | 26.26M | -52.39M | 25.25M | 52.94M | 38.39M | 57.28M | 12.29M |
| investmentsInPropertyPlantAndEquipment | -1.98M | -2.19M | -1.87M | -1.62M | -1.71M | - | -1.79M | -1.82M | -1.61M | -2.24M |
| acquisitionsNet | - | - | - | - | - | - | - | - | - | - |
| purchasesOfInvestments | -54.27M | -108.56M | -103.22M | - | -52.36M | -103.24M | -51.8M | -103.28M | -100M | -101.91M |
| salesMaturitiesOfInvestments | 53.22M | 104.27M | 51.33M | - | 158.76M | 100M | 47.33M | 53.28M | 50M | - |
| otherInvestingActivities | - | - | - | - | - | -2.36M | - | - | - | - |
| netCashProvidedByInvestingActivities | -3.04M | -6.48M | -53.76M | -1.62M | 104.69M | -5.6M | -6.26M | -51.82M | -51.61M | -104.15M |
| netDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| longTermNetDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| shortTermNetDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| netStockIssuance | -2.48M | -10.12M | -5.07M | -16.11M | -43.74M | -4.64M | -4.12M | -3.43M | -186K | 552K |
| netCommonStockIssuance | -2.48M | -10.12M | -5.07M | -16.11M | -43.74M | -4.64M | -4.12M | -3.43M | -186K | 552K |
| commonStockIssuance | - | 615K | - | 619K | - | - | - | - | - | 552K |
| commonStockRepurchased | -2.48M | -10.74M | -5.07M | -16.72M | -43.74M | -4.64M | -4.12M | -3.43M | -186K | - |
| netPreferredStockIssuance | - | - | - | - | - | - | - | - | - | - |
| netDividendsPaid | -5.04M | -3.78M | -3.8M | -3.81M | -3.91M | -2.63M | -2.63M | -2.64M | -2.64M | -2.1M |
| commonDividendsPaid | -5.04M | -3.78M | -3.8M | -3.81M | -3.91M | -2.63M | -2.63M | -2.64M | -2.64M | -2.1M |
| preferredDividendsPaid | - | - | - | - | - | - | - | - | - | - |
| otherFinancingActivities | -671K | -1.66M | -425K | -435K | -519K | -1.57M | -640K | 123K | -231K | -2.14M |
| netCashProvidedByFinancingActivities | -8.19M | -15.56M | -9.29M | -20.35M | -48.17M | -8.84M | -7.39M | -5.94M | -3.05M | -3.7M |