0001193125-23-103662.txt : 20230417 0001193125-23-103662.hdr.sgml : 20230417 20230417161843 ACCESSION NUMBER: 0001193125-23-103662 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 122 CONFORMED PERIOD OF REPORT: 20230131 FILED AS OF DATE: 20230417 DATE AS OF CHANGE: 20230417 FILER: COMPANY DATA: COMPANY CONFORMED NAME: AstroNova, Inc. CENTRAL INDEX KEY: 0000008146 STANDARD INDUSTRIAL CLASSIFICATION: COMPUTER PERIPHERAL EQUIPMENT, NEC [3577] IRS NUMBER: 050318215 STATE OF INCORPORATION: RI FISCAL YEAR END: 0131 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 000-13200 FILM NUMBER: 23824189 BUSINESS ADDRESS: STREET 1: 600 E GREENWICH AVENUE CITY: WEST WARWICK STATE: RI ZIP: 02893 BUSINESS PHONE: 4018284000 MAIL ADDRESS: STREET 1: 600 E GREENWICH AVENUE CITY: WEST WARWICK STATE: RI ZIP: 02893 FORMER COMPANY: FORMER CONFORMED NAME: ASTRO MED INC /NEW/ DATE OF NAME CHANGE: 19920703 FORMER COMPANY: FORMER CONFORMED NAME: ATLAN TOL INDUSTRIES INC DATE OF NAME CHANGE: 19850220 10-K 1 d415415d10k.htm 10-K 10-K
falseFY0000008146Beginning in fiscal 2023, changes to Section 174 of the Internal Revenue Code made by the Tax Cuts and Jobs Act of 2017 no longer permit an immediate deduction for research and development expenditures in the tax year that such costs are incurred. These costs are capitalized resulting in an increase in deferred tax assets of $1.2 million. 0000008146 2022-02-01 2023-01-31 0000008146 2022-01-31 0000008146 2023-01-31 0000008146 2020-02-01 2021-01-31 0000008146 2021-02-01 2022-01-31 0000008146 2022-08-04 0000008146 2021-01-31 0000008146 2022-08-04 2022-08-04 0000008146 2022-07-30 0000008146 2023-04-12 0000008146 2021-10-30 0000008146 2022-03-22 0000008146 2020-01-31 0000008146 alot:OthersCountriesMember 2022-02-01 2023-01-31 0000008146 alot:CentralAndSouthAmericaMember 2022-02-01 2023-01-31 0000008146 srt:AsiaMember 2022-02-01 2023-01-31 0000008146 country:CA 2022-02-01 2023-01-31 0000008146 srt:EuropeMember 2022-02-01 2023-01-31 0000008146 country:US 2022-02-01 2023-01-31 0000008146 alot:ServiceAndOtherMember 2022-02-01 2023-01-31 0000008146 alot:SuppliesMember 2022-02-01 2023-01-31 0000008146 alot:HardwareProductsMember 2022-02-01 2023-01-31 0000008146 alot:RangeThreeMember 2022-02-01 2023-01-31 0000008146 alot:RangeFourMember 2022-02-01 2023-01-31 0000008146 alot:RangeFiveMember 2022-02-01 2023-01-31 0000008146 alot:ProductIdentificationMember us-gaap:OperatingSegmentsMember 2022-02-01 2023-01-31 0000008146 alot:TestAndMeasurementMember us-gaap:OperatingSegmentsMember 2022-02-01 2023-01-31 0000008146 alot:OtherCountriesMember 2022-02-01 2023-01-31 0000008146 us-gaap:CostOfGoodsTotalMember us-gaap:SupplierConcentrationRiskMember alot:CustomerMember 2022-02-01 2023-01-31 0000008146 alot:TradeAccountsPayablesMember us-gaap:SupplierConcentrationRiskMember alot:CustomerMember 2022-02-01 2023-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2022-02-01 2023-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-02-01 2023-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2022-02-01 2023-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2022-02-01 2023-01-31 0000008146 us-gaap:CorporateNonSegmentMember 2022-02-01 2023-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2022-02-01 2023-01-31 0000008146 us-gaap:LandImprovementsMember srt:MaximumMember 2022-02-01 2023-01-31 0000008146 alot:BuildingAndLeaseholdImprovementsMember srt:MaximumMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember us-gaap:LandImprovementsMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember alot:BuildingAndLeaseholdImprovementsMember 2022-02-01 2023-01-31 0000008146 srt:MaximumMember us-gaap:MachineryAndEquipmentMember 2022-02-01 2023-01-31 0000008146 alot:ComputerEquipmentAndSoftwareMember srt:MaximumMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember us-gaap:MachineryAndEquipmentMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember alot:ComputerEquipmentAndSoftwareMember 2022-02-01 2023-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-02-01 2023-01-31 0000008146 us-gaap:OperatingSegmentsMember 2022-02-01 2023-01-31 0000008146 us-gaap:CommonStockMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember alot:AirborneProductMember 2022-02-01 2023-01-31 0000008146 srt:MaximumMember alot:AirborneProductMember 2022-02-01 2023-01-31 0000008146 us-gaap:TreasuryStockMember 2022-02-01 2023-01-31 0000008146 us-gaap:ForeignExchangeMember 2022-02-01 2023-01-31 0000008146 us-gaap:RetainedEarningsMember 2022-02-01 2023-01-31 0000008146 us-gaap:RestrictedStockUnitsRSUMember 2022-02-01 2023-01-31 0000008146 alot:EmployeeStockPurchasePlanMember 2022-02-01 2023-01-31 0000008146 country:CN 2022-02-01 2023-01-31 0000008146 alot:TwoThousandAndTwentyTwoEmployeeStockPurchasePlanMember 2022-02-01 2023-01-31 0000008146 alot:PriorEmployeeStockPurchasePlanMember 2022-02-01 2023-01-31 0000008146 alot:RestrictedStockAwardMember 2022-02-01 2023-01-31 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2022-02-01 2023-01-31 0000008146 us-gaap:GeneralAndAdministrativeExpenseMember 2022-02-01 2023-01-31 0000008146 alot:CashFlowHedgeMember us-gaap:CrossCurrencyInterestRateContractMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember us-gaap:OtherExpenseMember alot:BankOfAmericaMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember srt:MinimumMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember srt:MaximumMember 2022-02-01 2023-01-31 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember us-gaap:LondonInterbankOfferedRateLIBORMember srt:MinimumMember 2022-02-01 2023-01-31 0000008146 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember us-gaap:LondonInterbankOfferedRateLIBORMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember us-gaap:FederalFundsEffectiveSwapRateMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember us-gaap:LondonInterbankOfferedRateLIBORMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember 2022-02-01 2023-01-31 0000008146 alot:PromissoryNoteMember alot:GreenwoodCreditUnionMember alot:PaycheckProtectionProgramLoanMember 2022-02-01 2023-01-31 0000008146 us-gaap:IntangibleAssetsAmortizationPeriodMember us-gaap:CustomerContractsMember 2022-02-01 2023-01-31 0000008146 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember 2022-02-01 2023-01-31 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember us-gaap:CustomerContractsMember 2022-02-01 2023-01-31 0000008146 us-gaap:IntangibleAssetsAmortizationPeriodMember alot:HoneywellAssetPurchaseAndLicenseAgreementMember us-gaap:CustomerContractsMember 2022-02-01 2023-01-31 0000008146 alot:RuggedInformationTechnologyEquipmentCorporationMember us-gaap:CustomerContractsMember 2022-02-01 2023-01-31 0000008146 us-gaap:IntangibleAssetsAmortizationPeriodMember alot:RuggedInformationTechnologyEquipmentCorporationMember us-gaap:CustomerContractsMember 2022-02-01 2023-01-31 0000008146 us-gaap:SellingAndMarketingExpenseMember 2022-02-01 2023-01-31 0000008146 alot:GreenwoodCreditUnionMember alot:PaycheckProtectionProgramLoanMember 2022-02-01 2023-01-31 0000008146 us-gaap:GeneralAndAdministrativeExpenseMember alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2022-02-01 2023-01-31 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2022-02-01 2023-01-31 0000008146 alot:BankOfAmericaMember us-gaap:RevolvingCreditFacilityMember alot:SecondAmendmentCreditAgreementMember 2022-02-01 2023-01-31 0000008146 alot:BankOfAmericaMember us-gaap:RevolvingCreditFacilityMember 2022-02-01 2023-01-31 0000008146 us-gaap:DomesticCountryMember 2022-02-01 2023-01-31 0000008146 alot:AerospaceCustomerMember 2022-02-01 2023-01-31 0000008146 us-gaap:CustomerRelatedIntangibleAssetsMember 2022-02-01 2023-01-31 0000008146 us-gaap:CustomerContractsMember alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2022-01-31 0000008146 alot:DistributorRelationsMember alot:TrojanlabelApSMember 2022-01-31 0000008146 alot:ExistingTechnologyMember alot:TrojanlabelApSMember 2022-01-31 0000008146 us-gaap:CustomerContractsMember alot:RuggedInformationTechnologyEquipmentCorporationMember 2022-01-31 0000008146 alot:MiltopeCorporationMember us-gaap:CustomerContractsMember 2022-01-31 0000008146 alot:TermLoanDueSeptemberThirtyTwoThousandAndTwentyFiveMember 2022-01-31 0000008146 alot:TermLoanDueAugustFourthTwoThousandAndTwentySevenMember 2022-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:ProductIdentificationMember 2022-01-31 0000008146 alot:TestAndMeasurementMember us-gaap:OperatingSegmentsMember 2022-01-31 0000008146 us-gaap:CorporateNonSegmentMember 2022-01-31 0000008146 us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2022-01-31 0000008146 us-gaap:EstimateOfFairValueFairValueDisclosureMember 2022-01-31 0000008146 us-gaap:CarryingReportedAmountFairValueDisclosureMember 2022-01-31 0000008146 country:US 2022-01-31 0000008146 srt:EuropeMember 2022-01-31 0000008146 country:CA 2022-01-31 0000008146 srt:AsiaMember 2022-01-31 0000008146 alot:TestAndMeasurementMember 2022-01-31 0000008146 alot:ProductIdentificationMember 2022-01-31 0000008146 srt:MaximumMember us-gaap:CustomerConcentrationRiskMember us-gaap:SalesRevenueNetMember 2022-01-31 0000008146 alot:BankOfAmericaMember us-gaap:RevolvingCreditFacilityMember alot:BeforeAmendmentToTheCreditAgreementMember 2022-01-31 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember us-gaap:CustomerContractsMember 2023-01-31 0000008146 us-gaap:TrademarksMember alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2023-01-31 0000008146 us-gaap:CustomerContractsMember alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2023-01-31 0000008146 alot:TrojanlabelApSMember alot:DistributorRelationsMember 2023-01-31 0000008146 alot:ExistingTechnologyMember alot:TrojanlabelApSMember 2023-01-31 0000008146 us-gaap:CustomerContractsMember alot:RuggedInformationTechnologyEquipmentCorporationMember 2023-01-31 0000008146 us-gaap:CustomerContractsMember alot:MiltopeCorporationMember 2023-01-31 0000008146 alot:TermLoanDueSeptemberThirtyTwoThousandAndTwentyFiveMember 2023-01-31 0000008146 alot:TermLoanDueAugustFourthTwoThousandAndTwentySevenMember 2023-01-31 0000008146 alot:BankOfAmericaMember alot:TermLoanMember alot:BeforeAmendmentToTheCreditAgreementMember 2023-01-31 0000008146 alot:TwoThousandEighteenEquityIncentivePlanMember 2023-01-31 0000008146 alot:ProductIdentificationMember us-gaap:OperatingSegmentsMember 2023-01-31 0000008146 alot:TestAndMeasurementMember us-gaap:OperatingSegmentsMember 2023-01-31 0000008146 us-gaap:CorporateNonSegmentMember 2023-01-31 0000008146 us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-01-31 0000008146 us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-01-31 0000008146 us-gaap:CarryingReportedAmountFairValueDisclosureMember 2023-01-31 0000008146 alot:TwoThousandSevenEquityIncentivePlanMember 2023-01-31 0000008146 alot:TwoThousandFifteenEquityIncentivePlanMember us-gaap:RestrictedStockMember 2023-01-31 0000008146 alot:TermLoanMember 2023-01-31 0000008146 country:US 2023-01-31 0000008146 srt:EuropeMember 2023-01-31 0000008146 country:CA 2023-01-31 0000008146 srt:AsiaMember 2023-01-31 0000008146 alot:RangeThreeMember 2023-01-31 0000008146 alot:RangeFourMember 2023-01-31 0000008146 alot:RangeFiveMember 2023-01-31 0000008146 alot:ProductIdentificationMember 2023-01-31 0000008146 alot:TestAndMeasurementMember 2023-01-31 0000008146 srt:MaximumMember us-gaap:CustomerConcentrationRiskMember us-gaap:SalesRevenueNetMember 2023-01-31 0000008146 country:CN 2023-01-31 0000008146 stpr:DE 2023-01-31 0000008146 us-gaap:RestrictedStockUnitsRSUMember alot:TwoThousandEighteenEquityIncentivePlanMember 2023-01-31 0000008146 alot:TwoThousandEighteenEquityIncentivePlanMember us-gaap:PerformanceSharesMember 2023-01-31 0000008146 alot:TwoThousandEighteenEquityIncentivePlanMember us-gaap:RestrictedStockMember 2023-01-31 0000008146 us-gaap:EmployeeStockOptionMember 2023-01-31 0000008146 us-gaap:RestrictedStockUnitsRSUMember 2023-01-31 0000008146 alot:TaxCreditsCarryForwardsMember 2023-01-31 0000008146 alot:TwoThousandAndTwentyTwoEmployeeStockPurchasePlanMember 2023-01-31 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2023-01-31 0000008146 alot:GreenwoodCreditUnionMember alot:PaycheckProtectionProgramLoanMember 2023-01-31 0000008146 alot:BankOfAmericaMember us-gaap:RevolvingCreditFacilityMember alot:SecondAmendmentCreditAgreementMember 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember alot:BankOfAmericaMember 2023-01-31 0000008146 us-gaap:DomesticCountryMember 2023-01-31 0000008146 alot:AdditionalForeignTaxCreditMember 2023-01-31 0000008146 alot:MeasurementInputRoyaltyRateMember 2023-01-31 0000008146 alot:MeasurementInputCustomerAttritionRateMember 2023-01-31 0000008146 us-gaap:MeasurementInputDiscountRateMember 2023-01-31 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2023-01-31 0000008146 us-gaap:CustomerRelatedIntangibleAssetsMember 2023-01-31 0000008146 alot:NonCurrentLiabilityMember 2023-01-31 0000008146 alot:RoyaltyPaymentsDueInNextTwelveMonthsMember 2023-01-31 0000008146 alot:RoyaltyPaymentsDueYearTwoMember 2023-01-31 0000008146 alot:RoyaltyPaymentsDueYearThreeMember 2023-01-31 0000008146 alot:RoyaltyPaymentsDueYearFiveMember 2023-01-31 0000008146 alot:RoyaltyPaymentsDueYearFourMember 2023-01-31 0000008146 alot:OthersCountriesMember 2020-02-01 2021-01-31 0000008146 alot:CentralAndSouthAmericaMember 2020-02-01 2021-01-31 0000008146 srt:AsiaMember 2020-02-01 2021-01-31 0000008146 country:CA 2020-02-01 2021-01-31 0000008146 srt:EuropeMember 2020-02-01 2021-01-31 0000008146 country:US 2020-02-01 2021-01-31 0000008146 alot:ServiceAndOtherMember 2020-02-01 2021-01-31 0000008146 alot:SuppliesMember 2020-02-01 2021-01-31 0000008146 alot:HardwareProductsMember 2020-02-01 2021-01-31 0000008146 alot:ProductIdentificationMember us-gaap:OperatingSegmentsMember 2020-02-01 2021-01-31 0000008146 alot:TestAndMeasurementMember us-gaap:OperatingSegmentsMember 2020-02-01 2021-01-31 0000008146 alot:OtherCountriesMember 2020-02-01 2021-01-31 0000008146 us-gaap:CostOfGoodsTotalMember us-gaap:SupplierConcentrationRiskMember alot:CustomerMember 2020-02-01 2021-01-31 0000008146 alot:TradeAccountsPayablesMember us-gaap:SupplierConcentrationRiskMember alot:CustomerMember 2020-02-01 2021-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2020-02-01 2021-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-02-01 2021-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2020-02-01 2021-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2020-02-01 2021-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2020-02-01 2021-01-31 0000008146 us-gaap:CorporateNonSegmentMember 2020-02-01 2021-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2020-02-01 2021-01-31 0000008146 us-gaap:OperatingSegmentsMember 2020-02-01 2021-01-31 0000008146 us-gaap:TreasuryStockMember 2020-02-01 2021-01-31 0000008146 us-gaap:CommonStockMember 2020-02-01 2021-01-31 0000008146 us-gaap:ForeignExchangeMember 2020-02-01 2021-01-31 0000008146 us-gaap:RetainedEarningsMember 2020-02-01 2021-01-31 0000008146 alot:OthersCountriesMember 2021-02-01 2022-01-31 0000008146 alot:CentralAndSouthAmericaMember 2021-02-01 2022-01-31 0000008146 srt:AsiaMember 2021-02-01 2022-01-31 0000008146 country:CA 2021-02-01 2022-01-31 0000008146 srt:EuropeMember 2021-02-01 2022-01-31 0000008146 country:US 2021-02-01 2022-01-31 0000008146 alot:ServiceAndOtherMember 2021-02-01 2022-01-31 0000008146 alot:SuppliesMember 2021-02-01 2022-01-31 0000008146 alot:HardwareProductsMember 2021-02-01 2022-01-31 0000008146 alot:ProductIdentificationMember us-gaap:OperatingSegmentsMember 2021-02-01 2022-01-31 0000008146 alot:TestAndMeasurementMember us-gaap:OperatingSegmentsMember 2021-02-01 2022-01-31 0000008146 alot:OtherCountriesMember 2021-02-01 2022-01-31 0000008146 us-gaap:SupplierConcentrationRiskMember alot:CustomerMember us-gaap:CostOfGoodsTotalMember 2021-02-01 2022-01-31 0000008146 alot:TradeAccountsPayablesMember alot:CustomerMember us-gaap:SupplierConcentrationRiskMember 2021-02-01 2022-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2021-02-01 2022-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-02-01 2022-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2021-02-01 2022-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2021-02-01 2022-01-31 0000008146 us-gaap:CorporateNonSegmentMember 2021-02-01 2022-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2021-02-01 2022-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2021-02-01 2022-01-31 0000008146 us-gaap:OperatingSegmentsMember 2021-02-01 2022-01-31 0000008146 us-gaap:CommonStockMember 2021-02-01 2022-01-31 0000008146 us-gaap:TreasuryStockMember 2021-02-01 2022-01-31 0000008146 us-gaap:ForeignExchangeMember 2021-02-01 2022-01-31 0000008146 us-gaap:RetainedEarningsMember 2021-02-01 2022-01-31 0000008146 alot:PriorEmployeeStockPurchasePlanMember 2021-02-01 2022-01-31 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2021-02-01 2022-01-31 0000008146 us-gaap:GeneralAndAdministrativeExpenseMember 2021-02-01 2022-01-31 0000008146 alot:CashFlowHedgeMember us-gaap:CrossCurrencyInterestRateContractMember 2021-02-01 2022-01-31 0000008146 alot:BankOfAmericaMember us-gaap:OtherExpenseMember us-gaap:RevolvingCreditFacilityMember 2021-02-01 2022-01-31 0000008146 us-gaap:NonoperatingIncomeExpenseMember 2021-02-01 2022-01-31 0000008146 alot:BankOfAmericaMember us-gaap:RevolvingCreditFacilityMember 2021-02-01 2022-01-31 0000008146 alot:GreenwoodCreditUnionMember alot:PaycheckProtectionProgramLoanMember 2020-05-06 0000008146 alot:GreenwoodCreditUnionMember alot:PaycheckProtectionProgramLoanMember 2020-05-06 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2021-06-15 2021-06-15 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2021-06-15 2021-06-15 0000008146 us-gaap:CustomerRelationshipsMember 2022-08-04 2022-08-04 0000008146 us-gaap:TrademarksAndTradeNamesMember 2022-08-04 2022-08-04 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2022-08-04 2022-08-04 0000008146 alot:BankOfAmericaMember us-gaap:RevolvingCreditFacilityMember alot:SecondAmendmentCreditAgreementMember 2022-08-04 2022-08-04 0000008146 alot:SecondAmendmentCreditAgreementMember alot:AdditionalTermLoanAvailedMember alot:TermLoanMember alot:BankOfAmericaMember 2022-08-04 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2022-08-04 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2022-08-04 2023-01-31 0000008146 alot:BankOfAmericaMember alot:TermLoanMember 2022-10-31 2023-07-31 0000008146 alot:BankOfAmericaMember alot:TermLoanMember 2023-10-31 2027-04-30 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2021-05-02 2021-07-31 0000008146 us-gaap:CrossCurrencyInterestRateContractMember us-gaap:CashFlowHedgingMember 2021-08-01 2021-10-30 0000008146 us-gaap:CashFlowHedgingMember 2021-08-01 2021-10-30 0000008146 us-gaap:CrossCurrencyInterestRateContractMember 2020-07-30 2020-07-30 0000008146 alot:CaresActMember 2021-01-01 2021-06-30 0000008146 alot:CaresActMember 2021-07-01 2021-07-31 0000008146 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember alot:CaresActMember 2022-03-22 2022-03-22 0000008146 us-gaap:CostOfSalesMember 2021-10-30 2021-10-30 0000008146 us-gaap:ResearchAndDevelopmentExpenseMember 2021-10-30 2021-10-30 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2018-01-31 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2018-01-31 2018-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:ProductIdentificationMember 2021-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:TestAndMeasurementMember 2021-01-31 0000008146 alot:AerospaceCustomerMember 2022-12-31 0000008146 us-gaap:ChangeInAccountingMethodAccountedForAsChangeInEstimateMember 2021-05-01 2021-07-31 0000008146 us-gaap:AllowanceForCreditLossMember 2022-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2023-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2023-01-31 0000008146 us-gaap:CommonStockMember 2023-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2023-01-31 0000008146 us-gaap:RetainedEarningsMember 2023-01-31 0000008146 us-gaap:TreasuryStockMember 2023-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2023-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-31 0000008146 us-gaap:TreasuryStockMember 2020-01-31 0000008146 us-gaap:RetainedEarningsMember 2020-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2020-01-31 0000008146 us-gaap:CommonStockMember 2020-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2020-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2020-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2020-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2020-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2021-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2021-01-31 0000008146 us-gaap:CommonStockMember 2021-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2021-01-31 0000008146 us-gaap:RetainedEarningsMember 2021-01-31 0000008146 us-gaap:TreasuryStockMember 2021-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2021-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2021-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2022-01-31 0000008146 us-gaap:CommonStockMember 2022-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2022-01-31 0000008146 us-gaap:RetainedEarningsMember 2022-01-31 0000008146 us-gaap:TreasuryStockMember 2022-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2022-01-31 iso4217:USD xbrli:shares xbrli:pure utr:Year utr:sqft iso4217:USD xbrli:shares alot:Segment
 
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
 
 
FORM
10-K
 
 
 
ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the fiscal year ended January 31, 2023
OR
 
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from
    
    
    
    
to
    
    
    
    
Commission file number
0-13200
 
 
AstroNova, Inc.
(Exact name of registrant as specified in its charter)
 
 
 
Rhode Island
 
05-0318215
(State or other jurisdiction of
incorporation or organization)
 
(I.R.S. Employer Identification No.)
600 East Greenwich Avenue,
West Warwick, Rhode Island
 
02893
(Address of principal executive offices)
 
(Zip Code)
Registrant’s telephone number, including area code:
(401828-4000
Securities registered pursuant to Section 12(b) of the Act:
 
Title of each class
 
Trading
Symbol
 
Name of each exchange
on which registered
Common Stock, $.05 Par Value
 
ALOT
 
NASDAQ Global Market
Securities registered pursuant to Section 12(g) of the Act: None
 
 
Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.    Yes  ☐    No  ☒
Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.    Yes  ☐    No  ☒
Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.    Yes  ☒    No  ☐
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of
Regulation S-T
(§ 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes  ☒    No  ☐
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a
non-accelerated
filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule
12b-2
of the Exchange Act.
 
Large accelerated filer
 
  
Accelerated filer
 
Non-accelerated filer
 
  
Smaller reporting company
 
 
  
Emerging growth company
 
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.  ☐
Indicate by check mark whether the registrant has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.  
If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.  ☐
Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant’s executive officers during the relevant recovery period pursuant to
§240.10D-1(b).  ☐
Indicate by check mark whether the registrant is a shell company (as defined in Rule
12b-2
of the Act).    ☐  Yes      No
The aggregate market value of the registrant’s voting common equity held by
non-affiliates
at July 30, 2022, was approximately $84,333,000 based on the closing price on the Nasdaq Global Market on that date. The registrant has no
non-voting
common shares.
As of April 12, 2023, there were 7,400,560
 
shares of Common Stock (par value $0.05 per share) of the registrant outstanding.
DOCUMENTS INCORPORATED BY REFERENCE
Portions of the Company’s definitive Proxy Statement for the 2023 Annual Meeting of Shareholders are incorporated by reference into Part III of this Annual Report on Form
10-K
where indicated.
 
Auditor Firm Id:
 
PCAOB ID No. 392
 
Auditor 
Name:
  
Wolf & Company, P.C.
  
Auditor Location:
  
Boston, MA
 
 
 


ASTRONOVA, INC.

FORM 10-K

TABLE OF CONTENTS

 

         Page  

PART I

    
Item 1.  

Business

     1  
Item 1A.  

Risk Factors

     8  
Item 1B.  

Unresolved Staff Comments

     22  
Item 2.  

Properties

     22  
Item 3.  

Legal Proceedings

     23  
Item 4.  

Mine Safety Disclosures

     23  

PART II

    
Item 5.  

Market for the Registrant’s Common Stock, Related Stockholder Matters and Issuer Purchases of Equity Securities

     24  
Item 6.  

Reserved

     24  
Item 7.  

Management’s Discussion and Analysis of Financial Condition and Results of Operations

     24  
Item 7A.  

Quantitative and Qualitative Disclosures About Market Risk

     37  
Item 8.  

Financial Statements and Supplementary Data

     38  
Item 9.  

Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

     38  
Item 9A.  

Controls and Procedures

     38  
Item 9B.  

Other Information

     39  
Item 9C.  

Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

     39  

PART III

    
Item 10.  

Directors, Executive Officers and Corporate Governance

     40  
Item 11.  

Executive Compensation

     40  
Item 12.  

Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

     40  
Item 13.  

Certain Relationships, Related Transactions and Director Independence

     40  
Item 14.  

Principal Accountant Fees and Services

     40  

PART IV

    
Item 15.  

Exhibits and Financial Statement Schedule

     41  
Item 16.  

Form 10-K Summary

     41  


ASTRONOVA, INC.

Forward-Looking Statements

The information included in this Annual Report on Form 10-K may contain forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. Forward-looking statements are not statements of historical fact, but rather reflect our current expectations concerning future events and results. We generally use the words “believes,” “expects,” “intends,” “plans,” “anticipates,” “likely,” “continues,” “may,” “will,” and similar expressions to identify forward-looking statements. Such forward-looking statements, including those concerning our expectations, involve risks, uncertainties and other factors, some of which are beyond our control, which may cause our actual results, performance or achievements to be materially different from those expressed or implied by such forward-looking statements. These risks, uncertainties and factors include, but are not limited to, those factors set forth in this Annual Report on Form 10-K under “Item 1A. Risk Factors.” We undertake no obligation to publicly update or revise any forward-looking statements, whether as a result of new information, future events or otherwise. The reader is cautioned not to unduly rely on such forward-looking statements when evaluating the information presented in this Annual Report on Form 10-K.

PART I

Item 1. Business

General

Unless otherwise indicated, references to “AstroNova,” the “Company,” “we,” “our,” and “us” in this Annual Report on Form 10-K refer to AstroNova, Inc. and its consolidated subsidiaries.

We design, develop, manufacture and distribute a broad range of specialty printers and data acquisition and analysis systems, including both hardware and software, which incorporate advanced technologies to acquire, store, analyze, and present data in multiple formats. Target markets for our hardware and software products include aerospace, apparel, automotive, avionics, chemicals, computer peripherals, communications, distribution, food and beverage, general manufacturing, packaging and transportation.

Our products are distributed worldwide through our own sales force, authorized dealers, and independent dealers and representatives.

Our business consists of two segments, Product Identification (“PI”) and Test & Measurement (“T&M”). The PI segment includes specialty printing systems and related supplies sold under the QuickLabel®, TrojanLabel® and GetLabels brand names. The T&M segment includes our line of aerospace printers, ethernet networking products and test and measurement data acquisition systems sold under the AstroNova ® brand name. Refer to Note 18, “Nature of Operations, Segment Reporting and Geographical Information,” in our audited consolidated financial statements elsewhere in this report for financial information regarding our segments.

On August 4, 2022, we acquired Astro Machine LLC (“Astro Machine”), an Illinois-based manufacturer of printing equipment, including label printers and related accessories, tabbers, conveyors, and envelope feeders. Astro Machine is reported as a part of our PI segment beginning with the third quarter of fiscal 2023. Refer to Note 2, “Acquisition,” in our audited consolidated financial statements included elsewhere in this report.

The following description of our business should be read in conjunction with “Management’s Discussion and Analysis of Financial Conditions and Results of Operations” on pages 24 through 37 of this Annual Report on Form 10-K.

 

1


Description of Business

Product Overview

We leverage our expertise in data visualization technologies to design, manufacture and market specialty printing systems, test and measurement systems, and related services for select growing markets globally.

PI products sold under the QuickLabel, TrojanLabel and GetLabels brands are used in brand owner and commercial applications to provide product packaging, marketing, tracking, branding, and labeling solutions to a wide array of industries. The PI segment offers a variety of digital color label tabletop printers and light commercial label printers, direct-to-package printers, high-volume presses, and specialty original equipment manufacturer (“OEM”) printing systems, as well as a wide range of label, tag and flexible packaging material substrates and other supplies, including ink and toner, allowing customers to mark, track, protect and enhance the appearance of their products. PI products sold under the Astro Machine brand acquired on August 4, 2022, also include a variety of label printers, envelope and packaging printing, and related processing and handling equipment. In the T&M segment, we have a long history of using our technologies to provide networking systems and high-resolution flight deck and cabin printers for the aerospace market. In addition, the T&M segment includes data acquisition recorders, sold under the AstroNova brand, to enable our customers to acquire and record visual and electronic signal data from local and networked data streams and sensors. The recorded data is processed, analyzed, stored and presented in various visual output formats.

Product Identification

Our PI segment includes three brands: QuickLabel, TrojanLabel, and GetLabels. Additionally, PI includes the recently acquired Astro Machine brand that is sold directly to end users though our channel partners and to OEM customers, who generally rebrand these products for sales to their customers. The segment provides a wide array of digital end-to-end product marking and identification solutions including hardware, software, and supplies for OEMs, commercial printers, and brand owners. Our customers typically label or mark products on a short- to mid-size run basis and benefit from the efficiency, flexibility, and cost-savings of digitally printing labels or packaging in their facility, on-demand, with the ability to accommodate multiple SKUs or variable data such as bar codes, lot numbers or expiration dates. QuickLabel brand products include tabletop printers, production-ready digital color label printers, and specialty OEM printing systems for either standalone output or inline integration with existing pre-processing and finishing systems. Customers use our digital printing products in a wide variety of industries, including chemicals, cosmetics, food and beverage, medical products, nutraceuticals, pharmaceuticals, and many others. TrojanLabel expands our customer market by providing a range of higher volume digital color printers, OEM printing systems, and supplies that target the more demanding needs of brand owners, commercial printers, label converters, and packaging manufacturers, giving them the ability to digitally mark or encode products directly or to produce labels for post-printing applications. GetLabels brand products include a full line of media supplies, including label materials, tags, inks, toners, and thermal transfer ribbons designed for optimal performance with our printing hardware, and are also compatible with a wide variety of competitive and third-party printing hardware.

Current QuickLabel models include a selection of professional tabletop digital color label printers. We recently introduced the QL-E100, an entry-level, compact, full-color tabletop label printer. It delivers professional-quality output at a lower price point, which we believe is ideal for targeting smaller businesses entering the on-demand label market, and larger enterprises that require multiple on-demand label printers at distributed locations throughout their facilities. The high-speed QL-120X was built on our pioneering and successful Kiaro! platform. To expand the product line further, the QL-120Xe, a sister product to the dye ink QL-120X, was introduced in 2021 as a lower price point option for low-volume applications and price-sensitive customers. In 2020, we introduced the QL-120D, which features high-performance pigment inks that can produce durable BS5609-certified labels and labels that can withstand a wide range of demanding environmental conditions from sterilization to cryogenic freezing. Introduced early in 2019, the high-performance QL-300 was the first 5-color toner-based electrophotographic tabletop production label printer in the market. In addition, our

 

2


QuickLabel line of printers includes the QL-850, our next-generation wide-format inkjet color label printer, the QL-30 and QL-60 series, a family of high-end monochrome printers, and the QLS-4100 XE, a unique solution with the ability to digitally print full-color labels and tags using thermal transfer ribbon technology.

Our TrojanLabel portfolio includes a range of products from professional digital color label mini-presses to large-scale all-in-one inline specialty printing systems for both brand owners, OEMs, and commercial printers. The T2-C, a compact, digital mini-press designed for 24/7 label production, includes numerous differentiating features for several end-use market applications. The T2-L is a narrow-format digital press designed specifically for flexible packaging substrates. Beyond label printing, the T3-OPX, the first of its kind direct-to-package printer, which was introduced in late 2020, allows printing directly onto a range of flat products, including cardboard, paper bags, flat wood planks and many other items using pigment inks that are resistant to both water and UV exposure. A professional high-volume label press and finishing system, the T4, enables print, die-cut, and lamination in an all-in-one machine with a much smaller footprint than others in the market.

GetLabels provides a broad range of high-quality supplies for both our printers and third-party printers, including label and tag materials, inks, toner, and thermal transfer material, all specifically designed and constructed for a wide variety of labeling applications. Label material and substrates are carefully qualified and tested on-site in our Rhode Island Materials Research Laboratory to ensure durability and compatibility with our QuickLabel and TrojanLabel branded products, along with a variety of third-party printers.

Astro Machine sells a variety of label printers, envelope and package printers and related envelope tabbers, conveyors and feeders to OEM customers who re-label the products with their own brand.

The PI segment provides worldwide training and support as well as develops and licenses various specialized software programs to design and manage labels, print images, manage and operate our printers and presses, and coordinate printing on an automated basis directly over networked systems.

Test & Measurement

Products sold under our T&M segment are designed and manufactured for airborne printing and networking solutions and data acquisition. Our aerospace products include flight deck printing solutions, networking hardware and specialized aerospace-grade thermal paper. Our data acquisition systems are used in research and development, flight testing, missile/rocket telemetry production monitoring, power and maintenance applications. These products are sold to customers in various industries, including aerospace & defense, automotive, commercial airline, energy, manufacturing and transportation, to meet their need to acquire and record data from local and networked data streams and sensors.

Our airborne printers, which include our flagship ToughWriter® series, are used in the flight decks and cabins of military, commercial, and business aircraft to print hard copies of data to enhance flight safety and reduce pilot workload by providing ready access to many types of critical flight-specific information required for the safe and efficient operation of aircraft. Examples of printed data include navigation maps, arrival and departure information, flight itineraries, weather maps, notice to air missions or NOTAMS, performance data, passenger data, and air traffic control data. ToughSwitch® Ethernet switches are used primarily in military aircraft and military vehicles to connect multiple computers or Ethernet devices. The airborne printers and Ethernet switches are ruggedized to comply with rigorous military and commercial flight-worthiness standards for operation under extreme environmental conditions. We are currently furnishing ToughWriter printers for various aircraft made by Airbus, Boeing, Bombardier, Lockheed, Gulfstream, and others. In addition to the ToughWriter products, we furnish other acquired flight deck printer products, including the TP/NP series, the RTP80 series and the PTA-45B series of airborne printers. The PTA-45B is subject to the Asset Purchase and License Agreement with Honeywell International, Inc. (the “Honeywell Agreement”), pursuant to which in 2017 we acquired an exclusive perpetual worldwide license to manufacture and support Honeywell’s narrow-format flight deck printers for the Boeing 737 and Airbus 320 aircraft. Over time we expect customers to replace the

 

3


PTA-45B and other acquired printer product lines with the AstroNova designed ToughWriter products because of the numerous technical features, functional advantages and significant weight savings. Currently, approximately one-third of the airborne printers sold are ToughWriter branded, and we expect the percentage of ToughWriter products to continue to grow over the next several years, and notably in fiscal 2025.

Other T&M products include the TMX® all-in-one high-speed data acquisition system for applications requiring high channel counts and acquisition rates; the Daxus® DXS-100 distributed data acquisition platform; the SmartCorder® DDX-100, a portable all-in-one data acquisition system for R&D facility and field testing; and the Everest® EV-5000 digital strip chart recording system used mainly in aerospace and defense applications. The Daxus DXS-100 can be connected to the SmartCorder to increase channel count or networked as part of a distributed measurement system spanning vast distances.

Technology

Our core technologies are data visualization technologies that relate to (1) acquiring data, (2) conditioning the data, (3) displaying or printing the data on hard copy, visual displays or electronic storage media, and (4) analyzing the data. To support our data visualization technology, we maintain technological core competencies and trade secret know-how concerning the subject matter peculiar to each business unit. The technological disciplines are diverse and include electronic, software, mechanical and industrial engineering aspects. Additionally, we possess engineering expertise in digital signal processing, image processing, fluidics, color theory, high-speed material handling, and airworthiness design.

Patents and Copyrights

We hold several product patents in the United States and in foreign countries. We rely on a combination of copyright, patent, trademark, and trade secret laws in the United States and other jurisdictions to protect our technology and brand names. We consider our intellectual property to be critical to the operation of our business. In particular, we believe that the loss of the trademarks QuickLabel, TrojanLabel, ToughWriter, or ToughSwitch or the loss of the license provided under the Honeywell Agreement could have a material adverse impact on our business taken as a whole. Because of the OEM nature of the Astro Machine business model (and the similarity of that brand name to the AstroNova name), its trademark and brand name, while important, are less critical.

Manufacturing and Supplies

We manufacture many of the products that we design and sell. Raw materials and supplies are typically available from a wide variety of sources. We manufacture many sub-assemblies and parts in-house, including certain specialty printed circuit board assemblies and harnesses, and we have extensive electronic and mechanical final assembly and test operations. Many parts are not manufactured in-house are standard electronic items available from multiple sources. Other printers and parts are designed or modified by us and manufactured by outside vendors according to our specifications. We also purchase certain components, assembled products, and supplies used to manufacture or sell with our products, from single-or limited- source suppliers. Although we believe the majority of these sole or limited source components, assembled products, and supplies could be sourced elsewhere with appropriate changes in the design of our products, the required design changes might not be feasible on a timely basis, and any interruption in these components, products or supplies could adversely affect our business. When circumstances cause us to anticipate that we may not be able to acquire such components, products or supplies on a timely basis, our practice is to procure a sufficient quantity in advance. In the past, we have made such advanced purchases primarily for aerospace products and in quantities that we anticipate will suffice for the life of the aircraft program for which those printers are designed.

Marketing and Competition

We compete worldwide in multiple markets. Through our existing network of manufacturing, sales and support facilities, we have sold our products to customers in over 150 countries.

 

4


We believe we are a market leader in tabletop digital color label printing technology in the specialty on-demand printing field, the market leader in flight deck printers, and an innovator in digital color mini-press systems. In the data acquisition area, we are one of the leaders in general-purpose, portable, high-speed data acquisition systems.

Management believes that we have a market leadership position in many of the markets we serve. We retain our leadership position by virtue of our proprietary technology, product reputation, delivery, our channels to market, technical assistance and service to customers. The number of competitors varies by product line. Key competitive factors vary among our product lines but include technology, quality, service and support, distribution network and breadth of product and service offerings.

Our PI products are sold by direct field salespersons as well as independent dealers and representatives, while our T & M products are sold predominantly through direct sales and manufacturers’ representatives. In the United States, we have factory-trained direct-field salespeople located throughout the country specializing in PI products. We also have direct field sales or service centers in Canada, China, Denmark, France, Germany, Malaysia, Mexico, Singapore, and the United Kingdom staffed by our own employees and dedicated third-party contractors. Additionally, we utilize over 100 independent dealers and representatives selling and marketing our products in over 60 countries.

No single customer accounted for 10% or more of our net revenue in any of the last three fiscal years.

Order Backlog

Our order backlog is predominantly but not exclusively for products that will be delivered within twelve months, and backlog scheduled for beyond twelve months is predominantly within the T&M segment. However, backlog varies regularly and is not a highly reliable predictive indicator of near-term future sales trends, primarily due to the frequent longer-term original equipment and supplies orders within the T&M segment. In the PI segment, we have multi-period (but typically not multi-year) blanket order arrangements with many customers for labels and other supplies. Printer hardware in the PI segment is typically shipped within a short period of time after orders are booked. Manufacturing production is designed to meet forecasted demands and built-to-order customer requirements. Backlog at January 31, 2023 and 2022 was $35.8 million and $27.8 million, respectively.

Government Regulation

We are subject to a wide variety of laws, rules, mandates, and regulations, some of which apply or may apply to us as a result of our business, particularly with respect to our aircraft cockpit printer business which sells in a highly regulated industry. For example, material modifications to an airborne printer cannot be made without having progressed through an extensive series of product qualification and certification steps that are technically complicated, expensive to execute, typically slow the pace of product development in that industry and can constrain our ability to quickly respond to pricing fluctuations or disruptions to our supply chain for products.

Other applicable and potentially applicable regulations and laws include regulations and laws regarding taxation, accounting and U.S. Securities and Exchange Commission (“SEC”) reporting, privacy, data protection, pricing, content, distribution, energy consumption, environmental regulation, competition, consumer protection, employment, import and export matters, information reporting requirements, access to our services and facilities, the design and operation of websites, health, safety, and sanitation standards, the characteristics and quality of products and services, product labeling and unfair and deceptive trade practices.

Our business outside of the U.S. exposes us to foreign and additional U.S. laws and regulations, including but not limited to, laws and regulations relating to taxation, business licensing or certification requirements, consumer protection, intellectual property rights, consumer and data protection, privacy, encryption, restrictions on pricing or discounts, and the U.S. Foreign Corrupt Practices Act and other applicable U.S. and foreign laws prohibiting corrupt payments to government officials and other third parties.

 

5


Environmental Matters

We believe that we are in compliance with all applicable federal, state, and local laws concerning the discharge of material into the environment or otherwise relating to the protection of the environment. We have not experienced any material costs in connection with environmental compliance and do not believe that such compliance will have any material effect on our financial position, results of operations, cash flows, or competitive position.

Employees

As of January 31, 2023 we employed 394 full-time employees, including 40 employees added as a result of the Astro Machine acquisition in August 2022. Of our full-time employees, 295 were in the United States, 77 in Europe, 10 in Canada, 10 in Asia and two in Mexico.

None of our employees are represented by a labor union or covered by a collective bargaining agreement; except for our employees in France, where local regulations generally require collective bargaining agreements.

Successful execution of our business strategy depends on our ability to retain several key employees in both individual contributor and management roles. We continuously assess the risk of losing our key employees through regular communications, engagement surveys and assessments in the labor market. Our retention strategy is focused on ensuring competitive compensation packages, career and professional development, leadership coaching and other actions to improve overall engagement with our key employees.

Culture

We are deeply committed to and invest substantial resources in maintaining and improving a strong and definable company culture that shapes how we operate and engage with stakeholders and employees. Our culture consists of four key components:

 

   

A powerful set of core values: Customer First, One Global Team, Innovation, Continuous Improvement and Building Shareholder Value.

 

   

The AstroNova Operating System (AOS), the comprehensive business management process which helps us manage the business to achieve continuous improvements in quality, delivery, cost, and growth.

 

   

A commitment to operating with integrity and compliance to ensure our business is conducted in an honest, legal, and environmentally responsible manner.

 

   

A passionate commitment to quality that drives our goal to achieve zero defects and understand our customers’ changing needs and expectations.

Our objective is for these core values to guide our employees’ behavior and direct how we conduct our business. These core values are reinforced during new hire orientation, ongoing engagement surveys, leadership development, and team development activities and are also demonstrated through teamwork, leadership, and everyday interactions.

Diversity and Inclusion

We believe that our culture and core values are strengthened through diversity and inclusion. Our diversity initiatives include—but are not limited to—our practices and policies on recruitment and selection; compensation and benefits; professional development and training; promotions; transfers; social and recreational programs; layoffs; terminations; and the ongoing development of a work environment built on the premise of gender and diversity equity. These initiatives include targeted recruitment of women in technical, engineering and sales

 

6


roles, leadership development programs for women, periodic evaluation of our workforce demographics as compared to the demographics in the workforce market, and an affirmative effort to attract, recruit, retain and train a diverse workforce that is representative of the populations in the regions in which we do business. Metrics that track performance against these goals are regularly reported to and monitored by the Compensation Committee of our Board of Directors.

Other Information

Our business is not seasonal in nature. However, our revenue is impacted by the variable size of certain individual customer revenue transactions, which can cause fluctuations in revenue from quarter to quarter and which may be inconsistent with the underlying business or general economic trends. For example, in our T&M segment, government procurement and contracting practices can result in material fluctuations in our backlog and revenues.

Information about our Executive Officers

The following sets forth certain information with respect to all executive officers of the Company. All officers serve at the pleasure of the Board of Directors.

 

Name

   Age   

Position

Gregory A. Woods

   64    President, Chief Executive Officer and Director

David S. Smith

   66    Vice President, Chief Financial Officer and Treasurer

Stephen M. Petrarca

   60    Vice President—Operations

Michael J. Natalizia

   59   

Vice President Technology & Strategic Alliances, Chief Technology Officer

Tom Carll

   56    Vice President and General Manager—Aerospace

Mr. Woods has served as Chief Executive Officer of the Company since February 1, 2014. Mr. Woods joined the Company in September 2012 as Executive Vice President and Chief Operating Officer and was appointed President and Chief Operating Officer on August 29, 2013. Prior to joining the Company, Mr. Woods served from January 2010 to August 2012 as Managing Director of Medfield Advisors, LLC, an advisory firm located in Medfield, Massachusetts focused on providing corporate development and strategy guidance to technology driven manufacturing firms. From 2008 to 2010, Mr. Woods served as President of Performance Motion Devices, a specialty semiconductor and electronics manufacturer located in Lincoln, Massachusetts.

Mr. Smith was appointed Vice President, Chief Financial Officer and Treasurer of the Company effective January 22, 2018. Prior to joining the Company, Mr. Smith served as Managing Partner of S.C. Advisors LLC, a financial management consultancy firm from 2008 through January 2018. Mr. Smith has also held a variety of senior finance positions at semiconductor and manufacturing companies, including Senior Vice President and Chief Financial Officer of Standard Microsystems Corporation, a global semiconductor company, from 2005 to 2008 and Vice President, Finance and Chief Financial Officer of both Dover Corporation, a diversified global manufacturing company, from 2000 to 2002 and Crane Company, a diversified manufacturing company from 1994 to 2000.

Mr. Petrarca was appointed Vice President—Operations in 1998. He has previously held positions as General Manager of Manufacturing, Manager of Grass Operations and Manager of Grass Sales. He has been with the Company since 1980.

Mr. Natalizia was appointed Vice President and Chief Technology Officer of the Company on March 9, 2012. Prior to this appointment, Mr. Natalizia held the position of Director of Product Development of the Company since 2005.

 

7


Mr. Carll joined the Company in 1989 and has held the position of Vice President and General Manager—Aerospace since 2011. Previously, Mr. Carll was Product Manager and National Sales Manager of the AstroNova Test & Measurement product group and from its formation in 2004, the AstroNova Aerospace business group.

Code of Ethics

We have adopted a Code of Conduct which applies to all of our directors, officers and employees of the Company, including our Chief Executive Officer (“CEO”), Chief Financial Officer (“CFO”) and principal accounting officer which meets the requirements of a “code of ethics” as defined in Item 406 of Regulation S-K. A copy of the Code of Conduct will be provided to shareholders, without charge, upon request directed to Investor Relations or can be obtained on our website, (www.astronovainc.com), under the heading “Investors—Corporate Governance—Governance Documents.” We intend to disclose any amendment to, or waiver of, a provision of the Code of Conduct for the CEO, CFO, principal accounting officer, or persons performing similar functions by posting such information on our website.

Available Information

We make available on our website (www.astronovainc.com) our Annual Report on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K and, if applicable, amendments to those reports filed or furnished pursuant to Sections 13(a) or 15(d) of the Securities Exchange Act of 1934 as soon as reasonably practicable after we electronically file such material with, or furnish it to, the SEC. These filings are also accessible on the SEC’s website at http://www.sec.gov.

Item 1A. Risk Factors

The following risk factors should be carefully considered in evaluating AstroNova, because such factors may have a significant impact on our business, operating results, liquidity and financial condition. As a result of the risk factors set forth below, actual results could differ materially from those projected in any forward-looking statements. Additional risks and uncertainties not presently known to us, or that we currently consider to be immaterial, may also impact our business operations.

Business and Industry Risks:

The structural impacts on the economy as a result of the COVID-19 pandemic and its aftermath have adversely affected and will likely continue to adversely affect our revenues, results of operations and financial condition.

All of our global operations were materially adversely affected by the worldwide COVID-19 pandemic and the related supply-chain disruptions. The aftermath of the immediate severe impacts of COVID-19 on our operations and financial performance, the changes in our customers’ purchasing behavior, the post-pandemic impact of inflation from macroeconomic factors, and the continued and lingering structural impacts on our global supply chain, particularly with respect to the availability and costs of electronic components, have made planning for customer demand and manufacturing production more difficult. Also, it has led to a rise in the cost of a number of classes of acquired goods for both the T&M and PI segments. We will continue to evaluate the impact of COVID-19 and its aftermath effects on our business, results of operations and cash flows throughout fiscal 2024, including the potential impacts on various estimates and assumptions inherent in the preparation of our condensed consolidated financial statements.

Since the COVID-19 pandemic began we have experienced difficulties in obtaining raw materials and components for our products. Some of the structural dislocations in the global economy that were triggered by the pandemic are prolonging these difficulties. Particularly with respect to certain electronic components for legacy products in our T&M segment, availability has been curtailed and may not recover, and in certain cases we have had to accelerate product redesign efforts and quickly transition customers to products with more viable

 

8


long-term product configurations. We expect to incur substantial costs in doing so but we are unable to accurately estimate the financial impact due to the rapidly changing environment. We also have had to incur additional costs, such as higher shipping fees (i.e., air rather than ocean freight) and though these have abated to a degree, they have not returned to pre-pandemic levels. These factors negatively impacted our efficiency, delayed shipments in each of the fiscal quarters of 2023, and caused what we believe are product shortages. We are addressing these issues through long-range planning and procuring higher inventory levels for affected items to help mitigate potential shortages whenever practicable. For our T&M segment, we are also monitoring and reacting to extended lead times on electronic components, and utilizing a variety of strategies, including blanket orders, vendor-bonded inventories, extended commitments to our supply base, and seeking alternative suppliers. Additionally, we have taken actions to increase regular contact with our essential vendors and increased our forecasting horizon for our products to help us better manage our supply chain. In some cases, we are working with our vendors to help them procure components. Similarly, in our PI segment, we are increasing our inventory levels to ensure the adequacy of the supplies we sell to customers who use our printers. Our strategies to counteract these supply chain dislocations have significantly increased the amount of inventory we maintain to support our product sales. We have also experienced several situations where component shortages and scarcity have required us to pay significantly higher costs to obtain those components, particularly electronic components and circuit board assemblies in the T&M segment and inks and printer machine parts in the PI segment. We will continue to monitor our supply chain going forward and update our mitigation strategies as we determine appropriate. We are not able to predict how current supply chain difficulties will develop in the future, and if the steps we are taking are not effective, it could have a material adverse impact on our business and results of operations.

Our PI business was impacted by the COVID-19 pandemic as it limited our ability to meet with customers to demonstrate our products at trade shows and on-site in their facilities was curtailed. We partially countered this through a variety of virtual, on-line selling and digital marketing strategies, a number of which we continue to emphasize today. The degree to which post-pandemic selling practices will revert to those that were dominant previously, and the ultimate mix of customer engagement methods of face-to-face selling versus digital selling methods remains uncertain. For example, throughout fiscal 2023 we have attended numerous trade shows, but demand generation through those selling methods have not fully recovered to pre-pandemic levels. We believe that digital marketing has become a more permanent element of our go-to-market strategy. This has required us to shift resources to those technologies. Further, in the PI segment, the timely and reliable delivery of acceptable quality printer components from certain of our suppliers has declined post-pandemic, causing us to incur additional direct procurement costs, to carry higher inventories to assure adequate supplies to satisfy customers, to incur additional warranty and technical service costs to offset those impacts and to accelerate alternative technology development.

The aerospace industry, which we serve through our aerospace product line, was significantly disrupted by the COVID-19 pandemic, both inside and outside of the United States because of the severe decline in the demand for air travel, demand for aircraft, and a general curtailment of aircraft production rates. This had a material adverse impact on our financial results. Now that air travel demand and aircraft production demand have substantially improved, the direct and secondary impacts of the demand decline have abated, but demand for our products has not yet fully recovered to pre-pandemic levels. Our current belief is that it may take two or more years before we reach full revenue recovery, and lingering impacts of the COVID-19 pandemic on the economic structure of the airline industry, and general economic conditions could still become a negative factor for demand for aircraft, which could stall or reverse current favorable trends. If this were to happen individually or in combination, these factors would be difficult for us to respond to quickly, which could have a material adverse impact on our business operations and financial results.

 

9


Our operating results and financial condition could be harmed if the markets into which we sell our products decline or do not grow as anticipated.

Any decline in our customers’ markets or their general economic conditions would likely result in a reduction in demand for our products. For example, the 2020 grounding, suspension and subsequent slow restart of production of the Boeing 737 MAX, coupled with the negative impact of the COVID-19 pandemic on the demand for new aircraft and travel, reduced the demand for our airborne printers, as well as for the related repairs and supplies which has negatively affected our results of operations. While these effects have been abating, demand remains lower than it was pre-pandemic, and currently the outlook is uncertain. While demand for air travel has recently increased, the impact of another viral pandemic or other widespread health emergency could negatively impact this trend in the future. Also, we believe that the pandemic has negatively impacted our customers’ financial capacity materially enough to alter their strategies and industry dynamics so as to make changes in their demand more volatile. These factors may in particular cause demand for aircraft to grow slowly or decline, which would reduce demand for our products, and in turn harm our results of operations, financial position and cash flows.

Our future revenue growth depends on our ability to develop and introduce new products and services on a timely basis and achieve market acceptance of these new products and services.

The markets for our products are characterized by evolving technologies which in turn effect our product introduction cycles. Our future success depends largely upon our ability to address the rapidly changing needs of our customers by developing and supplying high-quality, cost-effective products, product enhancements and services on a timely basis and by keeping pace with technological developments and emerging industry standards. The success of our new products will also depend on our ability to differentiate our offerings from our competitors’ offerings, price our products competitively, anticipate our competitors’ development of new products, and maintain high levels of product quality and reliability. We spend a significant amount of time and effort on the development of our airborne and color printer products as well as our data acquisition and recorder products. Failure to meet our customers’ changing business needs or to further develop any of our new products and their related markets as anticipated could adversely affect our future revenue growth and operating results.

As we introduce new or enhanced products, we must also successfully manage the transition from older products to minimize disruption in customers’ ordering patterns, avoid excessive levels of older product inventories and provide sufficient supplies of new products to meet customer demands. The introduction of new or enhanced products may shorten the life cycle of our existing products, or replace sales of some of our current products, thereby offsetting the benefit of even a successful product introduction and may cause customers to defer purchasing existing products in anticipation of the new products. Additionally, when we introduce new or enhanced products, we face numerous risks relating to product transitions, including the inability to accurately forecast demand, manage excess and obsolete inventories, address new or higher product cost structures, and manage different sales and support requirements due to the type or complexity of the new products. Any customer uncertainty regarding the timeline for rolling out new products or our plans for future support of existing products may cause customers to delay purchase decisions or purchase competing products which would adversely affect our business and operating results.

Operational and Business Strategy Risks:

We are dependent upon contract manufacturers for some of our products. If these manufacturers do not meet our requirements, either in volume or quality, then we could be materially harmed.

We subcontract the manufacturing and assembly of certain of our products to independent third parties at facilities located in various countries. Relying on subcontractors involves a number of significant risks, including:

 

   

Disruptions in the global supply chain;

 

   

Limited control over the manufacturing process;

 

10


   

Potential absence of adequate production capacity;

 

   

Potential delays in production lead times;

 

   

Unavailability of certain process technologies;

 

   

Reduced control over delivery schedules, manufacturing yields, quality and costs and

 

   

Exposure to rapid unplanned cost increases that cannot be adequately recovered by customer price increases due to market competition or contractual constraints.

If one of our significant subcontractors becomes unable or unwilling to continue to manufacture or provide these products in required volumes, fails to meet our quality standards, or imposes rapid price increases that we cannot recover in the market, we will have to identify alternate qualified subcontractors, take over the manufacturing ourselves, or redesign our products to use components from other suppliers. Additional qualified subcontractors may not be available or may not be available on a timely or cost-competitive basis. Any interruption in the supply, increase in the cost of the products manufactured by a third-party subcontractor or failure of a subcontractor to meet quality standards could have a material adverse effect on our business, operating results and financial condition.

For certain components, assembled products and supplies, we are dependent upon single or limited source suppliers. If these suppliers do not meet demand, either in volume or quality, then we could be materially harmed.

Although we use standard parts and components for our products where possible, we purchase certain components, assembled products and supplies used in the manufacture of our products from a single source or limited supplier sources. If the supply of a key component, assembled products or certain supplies were to be delayed or curtailed or, in the event a key manufacturing or sole supplier delays shipment of such components or assembled products, our ability to ship products in desired quantities and in a timely manner would be adversely affected. For example, as a result of the global COVID-19 pandemic, there was a disruption to our supply chain due to the delays of component shipments from our vendors in China and other jurisdictions in which normal business operations were disrupted. Our business, results of operations and financial position could also be adversely affected, depending on the time required to obtain sufficient quantities from the original source or, if possible, to identify and obtain sufficient quantities from an alternative source.

Additionally, if any single or limited source supplier becomes unable or unwilling to continue to supply components, assembled products or supplies in required volumes or at acceptable prices, we will have to identify and qualify acceptable replacements or redesign our products with different components. Alternative sources may not be available, or product redesign may not be feasible on a timely basis. For example, in fiscal 2023, we experienced increased difficulty in obtaining certain technology-based parts, components and supplies from the largest single supplier of our PI segment at stable or predictable prices. Additionally, we experienced repeated significant quality problems with that supplier. We have responded to these issues by increasing our inventories of those products to mitigate supply risk, negotiating quality related cost reimbursements, and in some cases, accelerating our development of PI products that rely on alternative suppliers. Any interruption in the supply of or increase in the cost of the components, assembled products and supplies provided by single or limited source suppliers could have a material adverse effect on our business, operating results, and financial condition.

We face significant competition, and our failure to compete successfully could adversely affect our results of operations and financial condition.

We operate in an environment of significant competition, especially in the markets in which we sell our PI printers and T&M data acquisition products. This competition is driven by rapid technological advances, evolving industry standards, frequent new product introductions and the demands of customers to become more efficient. Our competitors range from large international companies to relatively small firms. We compete based

 

11


on technology, performance, price, quality, reliability, brand, distribution and customer service and support. Our success in future performance is largely dependent upon our ability to compete successfully in the markets we currently serve and to expand into additional market segments. Additionally, current competitors or new market entrants may develop new products or services with features that could adversely affect the competitive position of our products. To remain competitive, we must develop new products, services and applications and periodically enhance our existing offerings. If we are unable to compete successfully, our customers could seek alternative solutions from our competitors and we could lose market share, which could materially and adversely affect our business, results of operations and financial position.

Our profitability is dependent upon our ability to obtain adequate pricing for our products and to control our cost structure.

Our success depends on our ability to obtain adequate pricing for our products and services. For a variety of complex reasons, many of which were triggered by the COVID-19 pandemic, the general economy has been significantly impacted by supply chain disruptions. Examples of some of these impacts on us include reduced availability of certain electronic components and the need to pay premium prices to obtain them, and noticeably higher costs for a wide array of other parts and raw material components in both of our product segments. This has been exacerbated by increases in the cost of transportation to expedite incoming components and supplies. In many cases, we have had to expedite delivery of critical materials through significantly higher cost airfreight methods. Our ability to offset these effects through pricing actions for our products and services may not prove sufficient to offset these or further cost increases. Attempts to increase prices may not hold in the face of customer resistance and/or competition. If we are unable to obtain adequate pricing for our products and services, our results of operations and financial position could be materially adversely affected.

We are also continually reviewing our operations with a view towards reducing our cost structure, including but not limited to reducing our labor cost-to-revenue ratio, improving process and system efficiencies and outsourcing certain internal functions. From time to time, we also engage in restructuring actions to reduce our cost structure. However, if these efforts to constrain the cost of our operations are inadequate to offset higher product and employee wage costs, our results of operations and financial position could be materially adversely affected.

Our inability to adequately enforce and protect our intellectual property defend against assertions of infringement or the loss of certain licenses could prevent or restrict our ability to compete.

We rely on patents, trademarks, licenses, and proprietary knowledge and technology, both internally developed and acquired, in order to maintain a competitive advantage. Our competitors may develop technologies that are similar or superior to our proprietary technologies or design technologies around the intellectual property protections or licenses that we currently own. The loss of the trademarks QuickLabel, TrojanLabel, ToughWriter and ToughSwitch or the loss of the licenses provided under the Honeywell Agreement could have a material adverse impact on our business. Operating outside the United States also exposes us to additional intellectual property risk. The laws and enforcement practices of certain jurisdictions in which we operate do not protect our intellectual property rights to the same extent as in the United States. Any diminution in our ability to defend against the unauthorized use of these rights and assets could have an adverse effect on our results of operations and financial condition. Litigation may be necessary to protect our intellectual property rights or defend against claims of infringement, which could result in significant costs and divert our management’s focus away from operations.

We have significant inventories on hand.

We maintain a significant amount of inventory, and as a result of recent supply chain disruptions and announced or anticipated price increases from suppliers, we have further increased the amount of inventory we maintain on hand to ensure we are able to meet market demand for our products at a reasonable price. These

 

12


increases have been concentrated in label printing machines and supplies sold by our PI business, as well as in electronic components and assemblies in our T&M business. We maintain allowances for slow-moving and obsolete inventory that we believe are adequate, but any significant unanticipated changes in future product demand or market conditions, could have an impact on the value of inventory and adversely affect our business, operating results and financial condition.

We could incur liabilities as a result of installed product failures due to design or manufacturing defects.

We have incurred and could in the future incur additional liabilities because of product failures due to design or manufacturing defects. Our products may have defects despite our internal testing or testing by customers. These defects could result in, among other things, a delay in recognition of sales, loss of sales, loss of market share, failure to achieve market acceptance or damage to our reputation. We could be subject to material claims by customers and may incur substantial expenses to correct any product defects. While in the past, we have successfully obtained partial compensation from suppliers for their contribution to product quality issues, we may not be successful in such a recovery in the future, and these recoveries have not in the past and are not in the future likely to fully offset the full financial impact on us. For example, in fiscal 2023, the quality of products obtained from one of the key suppliers to our PI segment declined and we were unable to detect latent defects in their products in a timely manner, which resulted in our incurring increased technical service and warranty expenses. We obtained partial compensation from that supplier, but this was insufficient to fully cover all of our costs related to this issue. We also believe we have experienced demand declines as a result of customers’ perceptions of the quality defects related to this supplier.

In addition, through our acquisitions, we have assumed, and may in the future assume, liabilities related to products previously developed by an acquired company that may not have been subjected to adequate product development, testing and quality control processes, and may have unknown or undetected defects. Some types of defects may not be detected until the product is installed in a user environment. This may cause us to incur significant warranty, repair or re-engineering costs. As such, it could also divert the attention of engineering personnel from product development efforts, which may result in increased costs and lower profitability.

We could experience a significant disruption in or security breach of our information technology system which could harm our business and adversely affect our results of operations.

We rely on on-premise and cloud-based information technology systems, some of which are managed by or licensed from third parties, to support many critical aspects of our business, as well as to process, transmit and store our own electronic proprietary or confidential information, and confidential information of customers, employees, suppliers and others, including personally identifiable information, credit card data, and other proprietary confidential information. These systems are vulnerable to damage, disruptions and/or shutdowns due to attacks by cyber-criminals, data breaches, employee error, power outages, computer viruses, telecommunication or utility failures, systems failures, natural disasters, catastrophic events or other unforeseen events. These vulnerabilities could interfere with our operations, compromise our data processing capacity and the security of our information and that of our customers and suppliers, and expose us to liability which could adversely impact our business and reputation. We actively manage these risks through a variety of hardware and software-based techniques that we own, license or otherwise procure from third parties under contract to safeguard our systems, and we own or procure from third parties system data storage redundancy and disaster recovery capability. In particular, we have increased our investment in tools, techniques and training that we believe will reduce our vulnerability to attacks from cyber-criminals. However, due to the complexity of our systems, and especially due to the ever-increasing sophistication of cyber-criminals, there is no assurance that our efforts will be sufficient to prevent cyber-attacks, security breaches, or the other potential exploitation of vulnerabilities or systems failures. In any such circumstance, our system redundancy and other disaster recovery planning may be ineffective or inadequate. While we have experienced, and expect to continue to experience, these types of threats to our information technology networks and infrastructure, none of them to date has had a material impact. However, in the future, such events could result in legal claims or proceedings, liability or

 

13


penalties under privacy laws, disruption in operations, and damage to our brand and reputation, all of which could adversely affect our business, operating results and financial condition.

We maintain insurance for a variety of cybersecurity risks to mitigate their possible impact, but because of the prevalence of claims in the market for cybersecurity insurance, the cost for that insurance has increased and the underwriting criteria to obtain such insurance has become far more demanding. There is no assurance that we will be able to obtain such insurance in the future, despite our substantial investments in cybersecurity, and if we are able to do so, it may be at substantially higher costs. In addition, in response to these higher costs, we may choose to reduce the amount of insurance we maintain because we believe our improvements in our cybersecurity profile have reduced our risk exposure relative to the increased cost of insurance. If our risk assessments prove incorrect and we were to have a loss not fully covered by insurance, our financial condition and results of operations could be materially negatively impacted.

We depend on our key employees and other highly qualified personnel and our ability to attract and develop new, talented professionals. Our inability to attract and retain key employees, as well as challenges with respect to the management of human capital resources, could compromise our future success and our business could be harmed.

Our future success depends upon our ability to attract and retain, through competitive compensation and benefits programs, professional and executive employees, including sales, operating, marketing, and financial management personnel as well as our ability to manage human capital resources. There is substantial competition for skilled personnel, and the failure to attract, develop, retain and motivate adequately qualified personnel could negatively impact our business, financial condition, results of operations and prospects. In order to hire new personnel or retain or replace our key personnel, we must maintain competitive compensation and benefits, and we may also be required to increase compensation, which would decrease net income. Additionally, several key employees have special knowledge of customers, supplier relationships, business processes, manufacturing operations, regulatory and customer quality compliance management, and financial management issues. The loss of any of these employees as the result of competitive compensation pressures or ineffective management of human capital resources could harm our ability to perform efficiently and effectively until their knowledge and skills are replaced, which might be difficult to do quickly, and as a result could have a material adverse effect on our business, financial condition, and results of operations. Failure to retain or attract key personnel could impede our ability to grow and could result in our inability to operate our business profitably.

Although we have not experienced any material disruptions due to labor shortages to date, we have observed an overall tightening and increasingly competitive labor market, and the demand for qualified individuals is expected to remain strong for the foreseeable future. Any sustained labor shortage or increased turnover rates within our employee base, could lead to increased costs and lost profitability and could otherwise compromise our ability to efficiently operate our business.

We may record future impairment charges, which could materially adversely impact our results of operations.

We test our goodwill balances annually, or more frequently if indicators are present or changes in circumstances suggest that impairment may exist. We assess goodwill for impairment at the reporting unit level and monitor the key drivers of fair value to detect events or other changes that would warrant an interim impairment test of our goodwill and intangible assets. Declines in the future performance and cash flows of a reporting unit or asset group, changes in our reporting units or in the structure of our business as a result of future reorganizations, acquisitions or divestitures of assets or businesses, or changes in other key assumptions, may result in the recognition of significant asset impairment charges, which could have a material adverse impact on our results of operations.

We also review our long-lived assets including property, plant and equipment, and other intangibles assets for impairment when events or changes in circumstances indicate the carrying value may not be recoverable.

 

14


Factors we consider include significant under-performance relative to expected historical or projected future operating results, significant negative industry or economic trends and our market capitalization relative to net book value. We may be required in the future to record a significant charge to earnings in our financial statements during the period in which any impairment of our long-lived assets is determined. Such charges could have a significant adverse impact on our results of operations and our financial condition.

Financial and Economic Risks:

We face risks related to recession, inflation, stagflation and other economic conditions.

Customer demand for our products may be impacted by weak economic conditions, inflation, stagflation, recession, rising interest rates, equity market volatility or other negative economic factors in the U.S. or other nations. For example, under these conditions or the expectation of such conditions, our customers may cancel orders, delay purchasing decisions or reduce their use of our services. In addition, these economic conditions could result in higher inventory levels and the possibility of additional charges if we request changes in delivery schedules or if suppliers incur additional costs that they pass on to us. Further, in the event of a recession or threat of a recession, our suppliers, distributors, and other third-party partners may suffer their own financial and economic challenges and, as a result, they may demand pricing accommodations, delay payment, or become insolvent, which could harm our ability to meet our customers’ demands or collect revenue or could otherwise harm our business. Similarly, disruptions in financial or credit markets may impact our ability to manage normal commercial relationships with our customers, suppliers and creditors and might cause us to not be able to continue to access preferred sources of liquidity when we would like if at all, and our borrowing costs could increase. Thus, if general macroeconomic conditions continue to deteriorate, our business and financial results could adversely affect our business, operating results and financial condition.

In addition, we are subject to risks from inflation and increasing market prices of certain components, supplies, and raw materials, which are incorporated into our end products or used by our suppliers to manufacture our end products. These components, supplies and other raw materials have from time to time become restricted. General market factors and conditions have in the past and may in the future affect pricing of such components, supplies and commodities.

Economic, political and other risks associated with international sales and operations could adversely affect our results of operations and financial position.

Because we sell our products worldwide, our business is subject to risks associated with doing business internationally. Revenue from international operations, which includes both direct and indirect sales to customers outside the U.S., accounted for approximately 35% of our total revenue for fiscal 2023, and we anticipate that international sales will continue to account for a significant portion of our revenue. In addition, we have employees, suppliers, contractors and facilities located outside the U.S. Accordingly, our business, operating results and financial condition could be harmed by a variety of factors, including:

 

   

Interruption to transportation flows for delivery of parts to us and finished goods to our customers;

 

   

Customer and vendor financial stability;

 

   

Fluctuations in foreign currency exchange rates;

 

   

Changes in a specific country’s or region’s environment including political, economic, monetary, regulatory or other conditions;

 

   

Trade protection measures and import or export licensing requirements;

 

   

Negative consequences from changes in tax laws;

 

   

Difficulty in managing and overseeing operations that are distant and remote from corporate headquarters;

 

15


   

Difficulty in obtaining and maintaining adequate staffing;

 

   

Differing labor regulations;

 

   

Failure to comply with complex and rapidly changing government economic sanctions against other countries, especially arising from responses to armed conflict;

 

   

Unexpected changes in regulatory requirements;

 

   

Uncertainty surrounding the implementation and effects of the United Kingdom’s withdrawal from the EU, commonly known as “Brexit”; and

 

   

Geopolitical turmoil, including terrorism, war and public health disruptions, such as that caused by the COVID-19 pandemic or Russia’s invasion of Ukraine.

To date, the impact of the Russian invasion of Ukraine and the resulting governmental sanctions and our decision to halt all activities in the affected areas has had an immaterial direct impact on our revenues. We believe, however, that the impact on the economies of Western Europe, especially Germany, which is the largest non-North American market for our products, has had a negative impact on demand for our products.

Changes in our tax rates or exposure to additional income tax liabilities or assessments could affect our profitability. In addition, audits by tax authorities could result in additional tax payments for prior periods.

As a global company, we are subject to taxation in numerous countries, states and other jurisdictions. As a result, our effective tax rate is based on the tax rates in effect where we operate. In preparing our financial statements, we estimate the amount of tax that will become payable in each jurisdiction. Our effective tax rate may vary as a result of numerous factors, including changes in the mix of our profitability from jurisdiction to jurisdiction, the results of examinations and audits of our tax filings, whether we secure or sustain acceptable arrangements with tax authorities, adjustments to the value of our uncertain tax positions, changes in accounting for income taxes and changes in tax laws. Any of these factors could cause us to experience an effective tax rate significantly different from previous periods or our current expectations.

Changes to tax laws and regulations or changes to the interpretation thereof, the ambiguity of tax laws and regulations, the subjectivity of factual interpretations, uncertainties regarding the geographic mix of earnings in any particular period, and other factors, could have a material impact on our estimates of our effective tax rate and our deferred tax assets and liabilities. The impact of these factors may be substantially different from period-to-period. In addition, the amount of income taxes we pay is subject to ongoing audits by U.S. federal, state and local tax authorities. If audits result in payments or assessments different from our reserves, our future results may include unfavorable adjustments to our tax liabilities and our financial statements could be adversely affected. Any further significant changes to the tax system in the United States or in other jurisdictions (including changes in the taxation of international income as further described below) could adversely affect our financial statements.

We may have exposure to additional tax liabilities, which could negatively impact our income tax expense, net income and cash flow.

We are subject to income and other taxes in both the U.S. and the foreign jurisdictions in which we operate. The determination of our worldwide provision for income taxes and current and deferred tax assets and liabilities requires judgment and estimation. In the ordinary course of our business, there are many transactions and calculations where the ultimate tax determination is uncertain. We are subject to regular review and audit by both domestic and foreign tax authorities and to the prospective and retrospective effects of changing tax regulations and legislation. Although we believe our tax estimates are reasonable, the ultimate tax outcome may materially differ from the amounts recorded in our consolidated financial statements and may materially affect our income tax benefit or expense, net loss or income, and cash flows in the period in which such determination is made.

 

16


Deferred tax assets are recognized for the expected future tax consequences of temporary differences between the carrying amount for financial reporting purposes and the tax bases of assets and liabilities, and for net operating losses and tax credit carry forwards. In some cases, we may record a valuation allowance to reduce our deferred tax assets to estimated realizable value. We review our deferred tax assets and valuation allowance requirements quarterly. If we are unable to demonstrate that it is more likely than not that we will not be able to generate sufficient future taxable income to realize the net carrying value of deferred tax assets, we will record a valuation allowance to reduce the deferred tax assets to estimated realizable value, which could result in a material income tax charge. As part of our review, we consider positive and negative evidence, including cumulative results of recent years.

If we are unable to successfully comply with our credit agreement with Bank of America or secure alternative financing, our business and financial condition could be materially adversely affected.

Our credit agreement with Bank of America requires us, among other things, to satisfy certain financial ratios on an ongoing basis, consisting of a maximum consolidated leverage ratio, a minimum consolidated fixed charge coverage ratio and an asset coverage ratio. We are also required to comply with other covenants and conditions, set forth in the credit agreement, including, among others, limitations on our and our subsidiaries’ ability to incur future indebtedness, to place liens on assets, to pay dividends or distributions on their capital stock, to repurchase or acquire their capital stock, to conduct mergers or acquisitions, to sell assets, to alter their capital structure, to make investments and loans, to change the nature of their business, and to prepay subordinated indebtedness, in each case subject to certain exceptions and thresholds as set forth in the credit agreement. If we were to violate the terms of the credit agreement and we were unable to renegotiate its terms at that time or secure alternative financing, it could have a material adverse impact on us.

The agreements governing our indebtedness subject us to various restrictions that limit our ability to pursue business opportunities.

The credit agreement governing our credit facility with Bank of America, N.A., as amended, contains, and any future debt agreements may include, several restrictive covenants that impose significant operating and financial restrictions on us and our subsidiaries. Such restrictive covenants may significantly limit our ability to:

 

   

Incur future indebtedness;

 

   

Place liens on assets;

 

   

Pay dividends or distributions on our and our subsidiaries’ capital stock;

 

   

Repurchase or acquire our capital stock;

 

   

Conduct mergers or acquisitions;

 

   

Sell assets; and/or

 

   

Alter our or our subsidiaries’ capital structure, to make investments and loans, to change the nature of their business, and to prepay subordinated indebtedness.

We may not realize the anticipated benefits of past or future acquisitions, divestitures and strategic partnerships, and integration of acquired companies or divestiture of businesses may negatively impact our overall business.

We have made strategic investments in other companies, products and technologies, including our August 2022 acquisition of Astro Machine LLC and 2017 acquisition of TrojanLabel. We will continue to identify and pursue acquisitions of complementary companies and strategic assets, such as customer bases, products and technology. However, there can be no assurance that we will be able to identify suitable acquisition opportunities. In any acquisition that we complete, we cannot be certain that:

 

   

We will successfully integrate the operations of the acquired business with our own;

 

17


   

All the benefits expected from such integration will be realized;

 

   

Management’s attention will not be diverted or divided, to the detriment of current operations;

 

   

Amortization of acquired intangible assets or possible impairment of acquired intangibles will not have a negative impact on operating results or other aspects of our business;

 

   

Delays or unexpected costs related to the acquisition will not have a detrimental impact on our business, operating results and financial condition;

 

   

Customer dissatisfaction with, or performance problems at, an acquired company will not have an adverse impact on our reputation; and

 

   

Respective operations, management and personnel will be compatible.

For example, in the recently acquired Astro Machine business, revenues are concentrated in a relatively small number of customers. Failure to satisfy the delivery requirements of those customers or to adequately respond to their evolving product requirements could cause us to lose one or more customers which would have a material adverse impact on our financial condition and results of operation due to lower revenue and could result in intangible asset impairment.

In certain instances, as permitted by applicable law and NASDAQ rules, acquisitions, such as the Astro Machine acquisition, may be consummated without seeking and obtaining shareholder approval, in which case shareholders will not have an opportunity to consider and vote upon the merits of such an acquisition. Although we will endeavor to evaluate the risks inherent in an acquisition, there can be no assurance that we will properly ascertain or assess such risks.

We may also divest certain businesses from time to time. Divestitures will likely involve risks, such as difficulty splitting up businesses, distracting employees, potential loss of revenue and negatively impacting margins, and potentially disrupting customer relationships. A successful divestiture depends on various factors, including our ability to:

 

   

Effectively transfer assets, liabilities, contracts, facilities and employees to the purchaser;

 

   

Identify and separate the intellectual property to be divested from the intellectual property that we wish to keep; and

 

   

Reduce fixed costs previously associated with the divested assets or business.

All of these efforts require varying levels of management resources, which may divert our attention from other business operations. Further, if market conditions or other factors lead us to change our strategic direction, we may not realize the expected value from such transactions.

If we are not able to successfully integrate or divest businesses, products, technologies or personnel that we acquire or divest, or able to realize the expected benefits of our acquisitions, divestitures or strategic partnerships, our business, results of operations and financial condition could be adversely affected.

Changes in our business strategy or restructuring of our businesses may increase our costs or otherwise affect the profitability of our businesses.

We continually review our operations with a view toward reducing our cost structure, including but not limited to reducing our labor cost-to-revenue ratio, improving process and system efficiencies and increasing our revenues and operating margins. As changes in our business environment occur, we may need to adjust our business strategies to meet these changes, or we may otherwise find it necessary to restructure our operations or particular businesses or assets. When these changes or events occur, we may incur costs to change our business strategy and may need to write down the value of assets or sell certain assets. In any of these events our costs may increase, and we may have significant charges or losses associated with the write-down or divestiture of assets.

 

18


Adverse conditions in the global banking industry and credit markets could impair our liquidity or interrupt our access to capital markets, borrowings or financial transactions to hedge certain risks.

At the end of fiscal 2023, we had approximately $3.9 million of cash and cash equivalents. Our cash and cash equivalents are held in bank demand deposit accounts and foreign bank accounts. Disruptions in the financial markets may, in some cases, result in an inability to access assets such as money market funds that traditionally have been viewed as highly liquid. Any failure of our counterparty financial institutions or funds in which we have invested may adversely impact our cash and cash equivalent positions and, in turn, our financial position.

To date, we have been able to access financing that has allowed us to make investments in growth opportunities and fund working capital requirements as needed. In addition, we occasionally enter into financial transactions to hedge certain foreign exchange and interest rate risks. Our continued access to capital markets, the stability of our lenders and their willingness to support our needs, and the stability of the counterparties to our financial transactions that hedge risks are essential for us to meet our current and long-term obligations, fund operations, and fund our future strategic initiatives. An interruption in our access to external financing or financial transactions to hedge risk could materially and adversely affect our business and financial condition.

Inadequate self-insurance accruals or insurance coverage for employee healthcare benefits could have an adverse effect on our business, financial results or financial condition.

In the U.S., we maintain an employee health insurance coverage plan on a self-insured basis backed by stop-loss coverage which sets a limit on our liability for both individual and aggregate claim costs. We record expenses based on actual claims incurred and estimates of the costs of expected claims, administrative costs, and stop-loss insurance premiums.

We record a liability for our estimated cost of U.S. claims incurred and unpaid as of each balance sheet date. Our estimated liability is recorded on an undiscounted basis and is based on historical trends and data provided by our insurance broker. Our history of claims activity is closely monitored, and liabilities are adjusted as warranted based on changing circumstances. It is possible, however, that our actual liabilities may exceed our estimates of losses. We may also experience an unexpectedly large number of claims that result in costs or liabilities in excess of our projections, which could cause us to record additional expenses, which could adversely impact our business, financial condition, results of operations and cash flow.

Legal and Regulatory Risks:

Certain of our products require certifications by customers, regulators or standards organizations, and our failure to obtain or maintain such certifications could negatively impact our business.

In certain industries and for certain products, such as those used in aircraft, we must obtain certifications for our products by customers, regulators or standards organizations. If we fail to obtain required certifications for our products, or if we fail to maintain such certifications on our products after they have been certified, our business, financial condition, results of operations and cash flows could be materially and adversely affected.

We are subject to laws and regulations; failure to address or comply with these laws and regulations could harm our business and adversely affect our results of operations.

Our operations are subject to laws, rules, regulations, including environmental regulations, government policies and other requirements in each of the jurisdictions in which we conduct business. Changes in laws, rules, regulations, policies or requirements could result in the need to modify our products and could affect the demand for our products, which may have an adverse impact on our future operating results. In addition, we must comply with regulations restricting our ability to include lead and certain other substances in our products. If we do not comply with applicable laws, rules and regulations we could be subject to costs and liabilities and our business may be adversely impacted.

 

19


We are subject to regulatory constraints and compliance requirements due to our status as a publicly held company. Public company compliance costs are increasing due to the increase in SEC regulations and enforcement actions, and the heightened scrutiny that we and the public accounting industry face from the Public Companies Accounting Oversight Board. Additionally, certain new and proposed regulations in the State of Rhode Island, where we are headquartered, are likely to increase compliance costs. In some instances, the regulations may mandate action on our part for which, to our knowledge, no current technical means to comply exist. If enacted, the costs to comply with these regulations could have a material adverse impact on our business.

Our business outside of the United States exposes us to foreign and additional U.S. laws and regulations, including but not limited to, laws and regulations relating to taxation, business licensing or certification requirements, employee rights and protection, consumer protection, intellectual property rights, consumer and data protection, privacy, encryption, restrictions on pricing or discounts, and the U.S. Foreign Corrupt Practices Act and other applicable U.S. and foreign laws prohibiting corrupt payments to government officials and other third parties. For example, the increased use of sanctions in U.S. international relations recently has increased our cost of compliance with the regulations intended to enforce them.

Section 404 of the Sarbanes-Oxley Act of 2002 requires that companies evaluate and report on the effectiveness of their internal control over financial reporting and any inability to achieve and maintain effective disclosure controls and procedures and internal control over financial reporting, could adversely affect our results of operations, our stock price and investor confidence in our company.

We have identified a material weakness in our internal control over financial reporting and that weakness has led to a conclusion that our internal control over financial reporting and disclosure controls and procedures were not effective as of January 31, 2023. The material weakness related to our inability to maintain effective controls to properly identify and assess significant non-routine transactions. Management is taking action to remediate the deficiencies in its internal controls over financial reporting by augmenting resources in our financial organization.

If action to remediate this material weakness is not completed on a timely basis, or if other remediation efforts are not successful, we may, in the future, identify additional internal control deficiencies that could rise to the level of a material weakness or uncover other errors in financial reporting.

Failure to have effective internal control over financial reporting and disclosure controls and procedures could impair our ability to produce accurate financial statements on a timely basis, or provide reliable financial statements needed for business decision processes, and our business and results of operations could be harmed. Additionally, investors could lose confidence in our reported financial information and our ability to obtain additional financing, or additional financing on favorable terms, could be adversely affected. Also, failure to maintain effective internal control over financial reporting could result in sanctions by regulatory authorities.

Certain of our operations and products are subject to environmental, health and safety laws and regulations, which may result in substantial compliance costs or otherwise adversely affect our business.

Our operations are subject to numerous federal, state, local and foreign laws and regulations relating to protection of the environment, including those that impose limitations on the discharge of pollutants into the air and water, establish standards for the use, treatment, storage and disposal of solid and hazardous materials and wastes, and govern the cleanup of contaminated sites. As such, our business is subject to and may be materially and adversely affected by compliance obligations and other liabilities under those environmental, health and safety laws and regulations. Certain of our products contain, and some of manufacturing operations use various substances which have been or may be deemed to be hazardous or dangerous. Thus, we have and will continue to generate a generally limited amounts of hazardous waste in our operations. We manage our compliance with laws and regulations and the proper mitigation of risks internally and through the input of external consultants and outside service providers and we believe we are in material compliance with all applicable environmental laws and regulations. We desire to reduce and ultimately eliminate any adverse environmental impact of our

 

20


business and to comply with relevant laws and regulations. We expect this effort to affect our ongoing operations and require additional capital and operating expenditures. If we were to fail to manage our environmental compliance effectively, we could suffer economic or reputational harm.

Our operations are subject to anti-corruption laws, including the U.S. Foreign Corrupt Practices Act, and any determination that we or any of our subsidiaries has violated the Foreign Corrupt Practices Act could have a material adverse effect on our business.

The U.S. Foreign Corrupt Practices Act (FCPA), the UK Bribery Act and similar worldwide anti-corruption laws generally prohibit companies and their intermediaries from making improper payments to government officials and others for the purpose of obtaining or retaining business. Our internal policies mandate compliance with these anti-corruption laws. We operate in parts of the world that have experienced governmental corruption to some degree, and in certain circumstances, strict compliance with anti-corruption laws may conflict with local customs and practices. Despite our training and compliance programs, there can be no assurance that our internal control policies and procedures will protect us from reckless or criminal acts committed by those of our employees or agents who violate our policies.

Unauthorized access to personal data could give rise to liabilities as a result of governmental regulation, conflicting legal requirements or differing views of personal privacy rights and compliance with laws designed to prevent unauthorized access of personal data could be costly.

We collect and store certain data, including proprietary business information, and may have access to confidential or personal information that is subject to privacy and security laws, regulations and customer-imposed controls. Security breaches or other unauthorized access to, or the use or transmission of, personal user information could result in a variety of claims against us, including privacy-related claims. There are numerous federal, state, local, and international laws and regulations regarding privacy and the storage, sharing, use, processing, disclosure and protection of this kind of information, the scope of which are changing, inconsistent and conflicting and subject to differing interpretations.

We also expect that there will continue to be new laws, regulations, and industry standards concerning privacy, data protection, and information security proposed and enacted in various jurisdictions. For example, in 2016 the European Commission adopted the General Data Protection Regulation (GDPR), a comprehensive privacy and data protection reform that became effective in May 2018. The GDPR, which is applicable to all companies processing data of European Union residents, imposes significant fines and sanctions for violations. These requirements are complicated and compliance is technically complex to maintain. We contract with outside experts to advise us, conduct internal and external compliance training, and believe we are currently in compliance, however, maintaining compliance has increased costs and diverted resources. Similarly, the California Consumer Privacy Act of 2018, which was enacted in June 2018 and came into effect on January 1, 2020, provides a new private right of action for data breaches and requires companies that process information on California residents to make new disclosures to consumers about their data collection, use and sharing practices and allow consumers to opt out of certain data sharing with third parties.

Additionally, other jurisdictions have enacted or are enacting data localization laws that require data generated in or relating to the residents of those jurisdictions to be physically stored within those jurisdictions. In many cases, these laws and regulations apply not only to transfers between unrelated third parties but also to transfers between us and our subsidiaries. All these evolving compliance and operational requirements impose significant costs that are likely to increase over time.

While we continue to assess these requirements and the ways they may impact the conduct of our business, we believe that we materially comply with applicable laws and industry codes of conduct relating to privacy and data protection. There is no assurance that we will not be subject to claims that we have violated applicable laws or codes of conduct, that we will be able to successfully defend against such claims or that we will not be subject to significant fines and penalties in the event we are found not to be in compliance with such laws or codes of conduct.

 

21


Any failure or perceived failure by us (or any third parties with whom we have contracted to store such information) to comply with applicable privacy and security laws, policies or related contractual obligations or any compromise of security that results in unauthorized access to personal information may result in governmental enforcement actions, significant fines, litigation, claims of breach of contract and indemnity by third parties and adverse publicity. In the case of such an event, our reputation may be harmed, we could lose current and potential users and the competitive positions of our various brands could be diminished, any or all of which could adversely affect our business, financial condition and results of operations.

Changes in accounting standards and subjective assumptions, estimates, and judgments by management related to complex accounting matters could significantly affect our financial results or financial condition.

Generally accepted accounting principles and related accounting pronouncements, implementation guidelines, and interpretations with regard to a wide range of matters that are relevant to our business, such as revenue recognition, asset impairment and fair value determinations, inventories, business combinations and intangible asset valuations, income taxes, and warranties, are highly complex and involve many subjective assumptions, estimates and judgments. Changes in these rules or their interpretation or changes in underlying assumptions, estimates, or judgments could significantly change our reported or expected financial performance or financial condition.

Item 1B. Unresolved Staff Comments

None.

Item 2. Properties

The following table sets forth information regarding our principal owned properties. The West Warwick property is subject to a security agreement and a mortgage in favor of the lender under our credit facility.

 

Location

   Approximate
Square
Footage
    

Principal Use

West Warwick, Rhode Island, United States

     135,500      Corporate headquarters, research and development, manufacturing, sales and service

Elk Grove Village, Illinois

     34,460      Astro Machine principal place of business

We also lease facilities in various other locations. The following information pertains to each location:

 

Location

   Approximate
Square
Footage
    

Principal Use

Dietzenbach, Germany

     18,630      Manufacturing, sales and service

Copenhagen, Denmark

     4,800      R&D, sales and service

Brossard, Quebec, Canada

     4,500      Manufacturing, sales and service

Elancourt, France

     4,150      Sales and service

Irvine, California, United States

     3,100      Sales

Shah Alam, Selangor, Malaysia

     2,067      Sales

Guangzhou, China

     1,253      Sales and service

Maidenhead, England

     1,021      Sales and service

Shanghai, China

     425      Sales

Mexico City, Mexico

     97      Sales

The West Warwick facility is used by both of our business segments, but the Elk Grove facility and leased locations are primarily used by the PI segment. We believe our facilities are well maintained, in good operating condition and generally adequate to meet our needs for the foreseeable future.

 

22


Item 3. Legal Proceedings

We are party to various legal proceedings arising from normal business activities. Management believes that the ultimate resolution of these matters will not have a material adverse effect on our financial position, results of operations or cash flows. Additionally, because of the nature of our business, we may be subject in the future to lawsuits or other claims, including those pertaining to product liability, patent infringement, commercial, employment, employee benefits, environmental and stockholder matters and an unfavorable resolution of any of these matters could materially affect our future results of operations, cash flows or financial position.

Item 4. Mine Safety Disclosures

Not applicable.

 

23


PART II

 

Item 5.

Market for the Registrants Common Stock, Related Stockholder Matters and Issuer Purchases of Equity Securities

Our common stock trades on the NASDAQ Global Market under the symbol “ALOT.”

We had approximately 390 shareholders of record as of April 10, 2023, which does not reflect shareholders with beneficial ownership in shares held in nominee name.

Stock Repurchases

During the fourth quarter of fiscal 2023, we made the following repurchases of our common stock:

 

    Total Number
of Shares
Repurchased
    Average
Price paid
Per Share ($)
    Total Number of
Shares Purchased as
Part of Publicly
Announced Plans
or Programs
    Maximum Number
of Shares That
May Be Purchased
Under the Plans
or Programs
 

November 1 – November 30

    —         —         —         —    

December 1 – December 31

    678  (a)(b)      11.70  (a)(b)      —         —    

January 1 – January 31

    —         —         —         —    

 

(a)

An executive of the company delivered 442 shares of our common stock toward the satisfaction of taxes due in connection with the vesting of restricted shares. The shares delivered were valued at a market value of $11.67 per share and are included with treasury stock in the consolidated balance sheet.

(b)

An executive of the company delivered 236 shares of our common stock toward the satisfaction of taxes due in connection with the vesting of restricted shares. The shares delivered were valued at a market value of $11.75 per share and are included with treasury stock in the consolidated balance sheet.

Item 6. [Reserved]

Item 7. Managements Discussion and Analysis of Financial Condition and Results of Operations

The following discussion and analysis are meant to provide material information relevant to an assessment of the financial condition and results of operations of our company, including an evaluation of the amounts of cash flows from operations and outside resources, liquidity and certain other factors that may affect future results so as to allow investors to better view our company from management’s perspective. The following discussion and analysis of our financial condition and results of operations should be read together with our financial statements and the related notes and other financial information included elsewhere in this annual report on Form 10-K. Some of the information contained in this discussion and analysis or set forth elsewhere in this annual report on Form 10-K, including information with respect to our plans and strategy for our business and financing, includes forward-looking statements that involve risks and uncertainties. Carefully review the “Forward-Looking Statements” and “Risk Factors” sections of this annual report on Form 10-K for a discussion of important factors that could cause actual results to differ materially from the results described in or implied by the forward-looking statements contained in the following discussion and analysis.

Overview

We are a multi-national enterprise that leverages its proprietary data visualization technologies to design, develop, manufacture, distribute and service a broad range of products that acquire, store, analyze and present data in multiple formats. We organize our structure around a core set of competencies, including research and

 

24


development, manufacturing, service, marketing and distribution. We market and sell our products and services through the following two segments:

 

   

Product Identification (“PI”) – offers color and monochromatic digital label printers, over-printers and custom OEM printers. PI also provides software to design, manage and print labeling and packaging images locally and across networked printing systems, as well as all related printing supplies such as pressure-sensitive labels, tags, inks, toners and thermal transfer ribbons used by digital printers. PI also provides on-site and remote service, spare parts and various service contracts.

 

   

Test and Measurement (“T&M”) – offers a suite of products and services that acquire data from local and networked data streams and sensors as well as wired and wireless networks. The T&M segment includes a line of aerospace printers used to print hard copies of data required for the safe and efficient operation of aircraft, including navigation maps, clearances, arrival and departure procedures, NOTAMS, flight itineraries, weather maps, performance data, passenger data, and various air traffic control data. Aerospace products also include aircraft networking systems for high-speed onboard data transfer. T&M also provides repairs, service and spare parts.

On August 4, 2022, we completed the acquisition of Astro Machine, an Illinois-based manufacturer of printing equipment, including label printers, tabbers, conveyors, and envelope feeders, for aggregate consideration of $17.1 million. Astro Machine is reported as part of our PI segment beginning with the third quarter of fiscal 2023. Refer to Note 2, “Acquisition,” in our consolidated financial statements included elsewhere in this report for further details.

We market and sell our products and services globally through a diverse distribution structure of direct sales personnel, manufacturers’ representatives and authorized dealers that deliver a full complement of branded products and services to customers in our respective markets. Our growth strategy centers on organic growth through product innovation made possible by research and development initiatives, as well as strategic acquisitions that fit into or complement existing core businesses. In fiscal 2023, 2022, and 2021, revenue from customers in various geographic areas outside the United States, primarily in Western Europe, Canada and Asia, amounted to $50.6 million, $49.3 million, and $45.1 million, respectively.

We maintain an active program of product research and development. We spent approximately $6.8 million in both fiscal 2023 and 2022, and $6.2 million in fiscal 2021 on Company-sponsored product development. We are committed to continuous product development as essential to our organic growth and expect to continue our focus on research and development efforts in fiscal 2024 and beyond.

We also continue to invest in sales and marketing initiatives by expanding and improving the existing sales force and using various marketing campaigns to achieve our goals of sales growth and increased profitability.

COVID-19 Update

All of our global operations were materially adversely affected by the worldwide COVID-19 pandemic and the related supply-chain disruptions. In the aftermath of the immediate severe impacts of COVID-19 on our operations and financial performance the changes in our customers’ purchasing behavior, the post-pandemic impact of inflation from macroeconomic factors, and the continued and lingering structural impacts on our global supply chain, particularly with respect to the availability and costs of electronic components, have made planning for customer demand and manufacturing production more difficult. Also, it has led to a rise in the cost of a number of classes of acquired goods for both the T&M and PI segments. We will continue to evaluate the impact of COVID-19 and its aftermath effects on our business, results of operations and cash flows throughout fiscal 2024, including the potential impacts on various estimates and assumptions inherent in the preparation of the consolidated financial statements.

Since the COVID-19 pandemic began we have experienced difficulties in obtaining raw materials and components for our products. Some of the structural dislocations in the global economy that were triggered by the pandemic are prolonging these difficulties. Particularly with respect to certain electronic components for legacy

 

25


products in our T&M segment, availability has been curtailed and may not recover, and as a result we have had to accelerate product redesign and as quickly transition customers to products with more viable long-term product configurations. We expect to incur substantial costs in doing so but are unable to accurately estimate the financial impact due to the rapidly changing environment. We also have had to incur additional costs, such as higher shipping fees (i.e., air rather than ocean freight) and though these have abated to a degree, they have not returned to pre-pandemic levels. These factors have negatively impacted our efficiency, have delayed shipments for each of the fiscal quarters of fiscal 2023, and have caused what we believe are product shortages. We are addressing these issues through long-range planning and procuring higher inventory levels for the affected items to help mitigate potential shortages whenever practicable. For our T&M segment, we are also monitoring and reacting to extended lead times on electronic components, and utilizing a variety of strategies, including blanket orders, vendor-bonded inventories, extended commitments to our supply base, and seeking alternative suppliers. Additionally, we have taken actions to increase regular contact with our essential vendors and increased our forecasting horizon for our products to help us better manage our supply chain. In some cases, we are working with our vendors to help them procure components. Similarly, in our PI segment, we are increasing our inventory levels to ensure the adequacy of the supplies we sell to customers who use the printers we have sold to them. Our strategies to counteract these supply chain dislocations have significantly increased the amount of inventory we maintain to support our product sales. We have also experienced several situations where component shortages and scarcity have required us to pay significantly higher costs to obtain those components, particularly electronic components and circuit board assemblies in the T&M segment and inks and printer machine parts in the PI segment. We will continue to monitor our supply chain going forward and update our mitigation strategies as we determine appropriate. We are not able to predict how current supply chain difficulties will develop in the future, and if the steps we are taking are not effective, it could have a material adverse impact on our business and results of operations.

Product Identification Update

The COVID-19 pandemic impacted our PI business by limiting our ability to meet with customers to demonstrate our products at trade shows and on-site in their facilities was curtailed. We partially countered this through a variety of virtual, on-line selling and digital marketing strategies, a number of which we continue to emphasize today. The degree to which post-pandemic selling practices will revert to traditional practices, and the ultimate mix of customer engagement methods of face-to-face selling versus digital selling methods are just starting to recover. For example, throughout fiscal 2023 we attended numerous trade shows, but demand generation through those selling methods has not fully recovered and digital marketing has, we believe, become a more permanent element of our go-to-market strategy. This has required us to shift resources to those technologies. Further, the reliability of timely delivery of acceptable quality printer components from one of our suppliers has deteriorated post-pandemic causing us to incur additional direct procurement costs to carry higher inventories to assure adequate supplies to satisfy customers, as well as causing us to incur additional warranty and technical service costs to offset those impacts and to invest considerable time and resources with that supplier to improve their performance.

Test & Measurement Update

The aerospace industry, which we serve through our aerospace product line, was significantly disrupted by the COVID-19 pandemic, because of the severe decline in the demand for air travel, demand for aircraft, and a general curtailment of aircraft production rates. This had a material adverse impact on our financial results. Although air travel demand and aircraft production demand have improved, the direct and secondary impacts of the demand decline have somewhat abated, they have not recovered completely. As a result, demand for our products has not fully recovered to pre-pandemic levels. We believe that it will be at least another two or more years before we reach full revenue recovery due to the lingering impacts of the pandemic era on the economic structure of the airline industry. General economic conditions could also still become a negative factor impacting demand for new aircraft, which could potentially stall or reverse current favorable trends. If this were to happen individually or in combination, these factors would be difficult to respond to, which could have a material adverse impact on our business operations and financial results.

 

26


Results of Operations

Fiscal 2023 compared to Fiscal 2022

The following table presents the revenue of each of our segments, as well as the percentage of total revenue and change from the prior year.

 

($ in thousands)    2023     2022  
     Revenue      As a % of
Total Revenue
    % Change
Over Prior Year
    Revenue      As a % of
Total Revenue
 

P I

   $ 103,089        72.3     13.4   $ 90,915        77.4

T&M

     39,438        27.7     48.5     26,565        22.6
  

 

 

    

 

 

   

 

 

   

 

 

    

 

 

 

Total

   $ 142,527        100.0     21.3   $ 117,480        100.0
  

 

 

    

 

 

   

 

 

   

 

 

    

 

 

 

Net revenue in fiscal 2023 was $142.5 million, a 21.3% increase compared to net revenue of $117.5 million for fiscal 2022. Current year revenue through domestic channels was $91.8 million, an increase of 34.8% from prior year domestic revenue of $68.2 million. International revenue of $50.6 million for fiscal 2023 increased 2.7% compared to prior year international revenue of $49.3 million. Fiscal 2023 international revenue reflects an unfavorable foreign exchange rate impact of $3.5 million, compared to a favorable foreign exchange rate impact of $1.1 million in fiscal 2022.

Hardware revenue in fiscal 2023 was $42.4 million, an $11.0 million or 34.8% increase compared to fiscal 2022 hardware revenue of $31.5 million due to increased hardware sales in both the T&M and PI segments. T&M hardware sales increased 44.2% or $7.5 million compared to the prior year primarily due to increased sales in our aerospace printer product line. Current year hardware sales in the PI segment increased 23.9% or $3.5 million compared to the prior year, predominately as a result of the August 2022 acquisition of Astro Machine. The increase in PI hardware sales for the current year was slightly offset by a decline in sales of our TrojanLabel product line printers.

Revenue from supplies in fiscal 2023 was $82.1 million, a 12.1% or $8.8 million increase compared to fiscal 2022 supplies revenue of $73.2 million. Supplies revenue increased in both the PI and T&M segment in the current year, with the increase primarily due to the contribution of $6.7 million of supply sales from the newly acquired Astro Machine in the PI segment. Also contributing to the increase in current year supply revenue was the increase in paper supply revenue for the aerospace printers in the T&M segment and the increased sales of supplies in our TrojanLabel product line in the PI segment.

Service and other revenue in fiscal 2023 was $18.0 million, a 41.3% increase compared to fiscal 2022 service and other revenue of $12.7 million. The increase is due primarily to significantly increased repair and parts revenue for aerospace printer products in the T&M segment due to the impact of increased flight hour usage and pricing increases. Also contributing to the current year increase was Astro Machine parts revenues included since the acquisition, offset by modest declines in aftermarket parts sales for Quick Label related products in the PI segment.

Gross profit was $48.2 million for fiscal 2023, reflecting a 10.1% increase compared to fiscal 2022 gross profit of $43.7 million. Our gross profit margin of 33.8% in fiscal 2023 reflects a 3.4 percentage point decrease compared to fiscal 2022 gross profit margin of 37.2%. The lower gross profit margin for the current year compared to the prior year is primarily attributable to the inclusion of Astro Machine for the six months since its acquisition, because of the impact of its lower gross margin business model, plus the impact of the employment retention tax credit (“ERC”) in the prior year, which reduced manufacturing payroll taxes, a component of cost of revenue, in the amount of $1.7 million in the second quarter of the prior year. Lastly, excess royalties (above the minimum guaranteed royalty amount), which are payable in connection with our license from Honeywell to produce aircraft cockpit printers for two narrow-body aircraft programs increased due to higher volumes of sales.

 

27


Operating expenses for the current year were $42.7 million, representing an 8.2% increase from the prior year’s operating expenses of $39.5 million. Specifically, selling and marketing expenses of $24.5 million in fiscal 2023 increased 5.5% from the prior year amount of $23.2 million. The increase in selling and marketing expenses for the current year is primarily due to a decrease in payroll taxes in the second quarter of the prior year related to the ERC, which reduced payroll taxes in the amount of $0.8 million, as well as the current year increase in employee wages and travel and entertainment expenses. The current year increase in selling and marketing expenses was partially offset by a decrease in commissions and advertising and trade show expenses. General and administrative expenses increased 19.7% to $11.4 million in the current year compared to $9.6 million in the prior year, primarily due to an increase in outside service fees and employee wages, and the impact of the ERC, which reduced manufacturing payroll taxes in the amount of $0.3 million in the third quarter of the prior year, partially offset by a decrease in bonus and advertising and trade show expenses. Research & development (“R&D”) costs in fiscal 2023 of $6.8 million remained relatively unchanged from fiscal 2022, as increases in wages and benefits were substantially offset by decreases in bonus and supplies and repair expenses. The R&D spending level for fiscal 2023 represents 4.8% of net revenue, compared to the prior year level of 5.7%.

Other expense in fiscal 2023 was $2.0 million compared to other income of $2.8 million in fiscal 2022. Current year expense includes $1.7 million of interest expense on our debt and revolving line of credit and $0.4 million of net foreign exchange loss, offset by net other income of $0.1 million. Prior year other income includes $4.5 million related to the forgiveness of the loan we received under the Paycheck Protection Program (the “PPP”), partially offset by $0.7 million related to the write-off of our Oracle EnterpriseOne ERP system and related prepaid service and maintenance contracts as a result of the full implementation of a new ERP system in our US-based operations in the fourth quarter of fiscal 2022, interest expense on debt of $0.7 million, and net foreign exchange loss of $0.3 million.

We recognized $0.7 million of income tax expense for the current fiscal year, resulting in an effective tax rate of 22.0% compared to 8.6% in fiscal 2022. The increase in the effective tax rate in fiscal 2023 from fiscal 2022 is primarily related to the absence of the impact of the PPP loan forgiveness, which is tax-exempt income that was a one-time item that reduced the rate in fiscal 2022. Specific items increasing the effective tax rate in fiscal 2023 include the change in reserves related to uncertain tax positions under ASC 740 and an increase in the valuation allowance recorded on our China net operating losses. This increase was offset by state taxes, return to provision adjustments, share-based compensation, R&D tax credits, and foreign derived intangible income (“FDII”) deduction. During fiscal 2022, we recognized $0.6 million of income tax expense for the prior fiscal year, resulting in an effective tax rate of 8.6%. Specific items decreasing the effective tax rate include PPP loan forgiveness tax-exempt income, R&D tax credits, foreign derived intangible income (“FDII”) deductions, and a change in reserves related to ASC 740 liabilities. This decrease was offset by state taxes, return to provision adjustments, and taxes on foreign earnings. The PPP loan forgiveness is excluded from taxable income.

Net income for fiscal 2023 was $2.7 million, or $0.36 per diluted share. Net income for fiscal 2022 was $6.4 million, or $0.88 per diluted share. The results for the current year were impacted by expenses of $0.7 million ($0.5 million net of tax, or $0.07 per diluted share) related to transaction costs of the Astro Machine acquisition. The results for the prior period were impacted by income of $4.5 million ($4.4 million net of tax, or $0.60 per diluted share) related to the forgiveness of our PPP loan, income of $2.1 million ($1.6 million net of tax, or $0.22 per diluted share) related to the net ERC and expense of $0.7 million ($0.5 million net of tax, or $0.07 per diluted share) related to the write-off of our Oracle EnterpriseOne ERP system and related prepaid service and maintenance contracts.

Fiscal 2022 compared to Fiscal 2021

For a comparison of our results of operations for the fiscal years ended January 31, 2022, and January 31, 2021, see “Part II, Item 7. Management’s Discussion and Analysis of Financial Condition and Results of Operations” of our annual report on Form 10-K for the fiscal year ended January 31, 2022, filed with the SEC on April 18, 2022.

 

28


Segment Analysis

We report two segments consistent with our product revenue groups: PI and T&M. Segment performance is evaluated based on the operating segment’s profit (loss) before corporate and financial administration expenses. The following table summarizes selected financial information by segment.

 

($ in thousands)   Revenue     Segment Operating Profit
(Loss)
    Segment Operating Profit (Loss)
as a % of Revenue
 
    2023     2022     2021     2023     2022     2021     2023     2022     2021  

P I

  $ 103,089     $ 90,915     $ 90,268     $ 7,889     $ 10,411     $ 12,885       7.7     11.5     14.3

T&M

    39,438       26,565       25,765       8,989       3,398       (1,032     22.8     12.8     (4.0 )% 
 

 

 

   

 

 

   

 

 

   

 

 

   

 

 

   

 

 

   

 

 

   

 

 

   

 

 

 

Total

  $ 142,527     $ 117,480     $ 116,033       16,878       13,809       11,853       11.8     11.8     10.2
 

 

 

   

 

 

   

 

 

         

 

 

   

 

 

   

 

 

 

Corporate Expenses

          11,435       9,553       9,420        
       

 

 

   

 

 

   

 

 

       

Operating Income

          5,443       4,256       2,433        

Other Income (Expense), Net

          (2,033     2,778       (254      
       

 

 

   

 

 

   

 

 

       

Income Before Income Taxes

          3,410       7,034       2,179        

Income Tax Provision

          749       605       895        
       

 

 

   

 

 

   

 

 

       

Net Income

        $ 2,661     $ 6,429     $ 1,284        
       

 

 

   

 

 

   

 

 

       

Product Identification

Revenue from the PI segment increased 13.4% in fiscal 2023, with revenue of $103.1 million compared to revenue of $90.9 million in the prior year. The current year increase is attributable to the contribution of the newly acquired Astro Machine, which provided revenue of $12.5 million for the current year. Trojan Label related product supply revenue also grew in fiscal 2023 compared to the prior year due to the larger installed base of these printers. The current year increase in PI revenue was slightly offset by declines in the sales of Trojan label hardware products resulting from the market reaction to quality problems caused by quality and reliability issues we faced from one supplier. Quick Label revenues were essentially flat as compared to the prior year. At the current time, we expect PI revenue to increase in fiscal 2024 due to the impact of a full year of Astro Machine revenue and recovery in both hardware and supplies in the other product lines, partly as the result of new product introductions. PI current year segment operating profit was $7.9 million with a profit margin of 7.7%, compared to the prior year segment operating profit of $10.4 million and related profit margin of 11.5%. Despite the inclusion of $1.6 million in operating profit contribution from Astro Machine, the primary reason for the decline in operating profit and margin was the inclusion in fiscal 2022 of $1.4 million of net benefit from the ERC, which reduced payroll taxes in the segment. The decrease in current year segment operating profit and margin, was also due to the result of a higher relative mix of lower gross profit product sales, higher travel and trade show expense, and increased warranty expenses.

Test & Measurement

Revenue from the T&M product group was $39.4 million for fiscal 2023, a 48.5% increase compared to revenue of $26.6 million in the prior year. The current year increase in T&M revenue is primarily due to a 44.2% or $7.5 million increase in hardware sales resulting primarily from increased aerospace printer product unit volume. Demand for printers, especially for narrow body aircraft, has increased due to the post-pandemic recovery in air travel demand and new orders of airplanes and the corresponding increase in production rates. The sales of printers for wide-body aircraft have increased but at much slower rates compared with narrow body demand. Sales of ToughSwitch ethernet products also recovered to levels consistent with the fiscal 2019 through

 

29


fiscal 2021 period after a large decline in fiscal 2022, and we currently expect comparable revenue from those products in fiscal 2024. Our current expectation is that printers narrow-body aircraft will continue to recover to pre-pandemic levels over the next two years, although at a slower rate than the recovery in fiscal 2023. We believe any recovery in shipments for larger wide-body aircraft will take longer. The increase in fiscal 2023 hardware revenue in the T&M segment was also impacted by $1.1 million in revenue recognized in the fourth as the result of successful claims for component cost increases for printer shipments to one customer throughout most of fiscal 2023 as described in Note 3, “Revenue Recognition,” in our consolidated financial statements included elsewhere in this report. In the fourth quarter, we recognized revenue of $0.8 million in connection with a new Asset Purchase and License Agreement with Honeywell Inc. (“New HW Agreement”) as described in Note 12, “Royalty Obligation,” in our consolidated financial statements included elsewhere in this report.

The current year increase in T&M revenue was additionally favorably impacted by increased repair, parts and paper supply revenue related to aerospace printers, as flight hours and product utilization increased. At this time, we believe the outlook for T&M supplies, service and other revenue is favorable as the expected higher flight hours in commercial aviation should correlate favorably to higher aerospace printer supplies, parts and repair revenue. T&M current year segment operating profit was $9.0 million resulting in a 22.8% profit margin compared to the prior year segment operating profit of $3.4 million and related operating margin of 12.8%. The increased profit and margins were primarily attributable to the robust turnaround in revenue, particularly in repair, parts and supplies revenues at high margins, and were offset by the impact of higher components costs, as well as the fact that prior year’s operating profit included the impact of $0.8 million in net employee retention tax credits that reduced manufacturing and operating costs. Also contributing to the increase was the favorable impact in the fourth quarter of the receipt of improved pricing on certain contracts that related to the entire year and the impact of the New HW Agreement. Selling, marketing and administrative expense grew in total by $0.6 million in support of the revenue growth, which was a significantly lower rate than revenue growth, demonstrating favorable operating leverage.

Liquidity and Capital Resources

Overview

Historically, our primary sources of short-term liquidity have been cash generated from operating activities and borrowings under our revolving credit facility. In fiscal 2023, we used our credit facilities, as further described below, to acquire Astro Machine. We also used our credit facilities and operating cash flow to fund increases in inventories. Substantial increases in inventories were the result of the need to support higher levels of shipments in the aerospace product lines within our T&M segment, and the buildup of inventory buffers to respond to supply chain risks. In the fourth quarter of fiscal 2023, we were able to reduce our outstanding line of credit balance by $4.0 million. Capital spending was very low in fiscal 2023 compared to our historical levels of spending.

We believe that in the coming year, cash flow generation from operations and available unused credit capacity under our credit facility will support our anticipated needs. In fiscal 2024 (after required debt amortization and payment of minimum guaranteed royalty payments to Honeywell), we will be focused on inventory reduction and reduction of debt outstanding under our revolving credit facility, to the degree possible as constrained by supply chain management challenges. We also anticipate that we will have the capacity to spend $1.5 million to $2.0 million in capital to upgrade production machinery to support planned revenue growth and cost reduction objectives. Finally, if further acquisition opportunities develop that would require additional cash above our current available capacity, based on regular communication with our lender, we believe that our current operating performance and the reduction in leverage ratios as measured by the covenants within our credit facilities since the acquisition of Astro Machine would permit us to obtain sufficient additional debt financing, barring any unforeseen changes in the credit and capital markets.

.

 

30


In connection with our purchase of Astro Machine on August 4, 2022, we entered into a Second Amendment to Amended and Restated Credit Agreement (the “Second Amendment”) with Bank of America, N.A., as lender (the “Lender”). The Second Amendment amended the Amended and Restated Credit Agreement dated as of July 30, 2020, as amended by the First Amendment to Amended and Restated Credit Agreement, dated as of March 24, 2021, and the LIBOR Transition Amendment, dated as of December 24, 2021 (the “Existing Credit Agreement,” and the Existing Credit Agreement as amended by the Second Amendment, the “Amended Credit Agreement”), between the Company and the Lender.

The Amended Credit Agreement provides for (i) a new term loan in the principal amount of $6.0 million, which term loan was in addition to the existing term loan outstanding under the Existing Credit Agreement in the principal amount of $9.0 million as of the effective date of the Second Amendment, and (ii) an increase in the aggregate principal amount of the revolving credit facility available thereunder from $22.5 million to $25.0 million. Under the Amended Credit Agreement, revolving credit loans may continue to be borrowed, at our option, in U.S. Dollars or, subject to certain conditions, Euros, British Pounds, Canadian Dollars or Danish Kroner.

While we expected that as a result of the impact of the COVID-19 pandemic, some of our customers would experience liquidity pressure and be unable to pay us for products on a timely basis, in general, our recent receivables collection experience has been consistent with our historical experience and a significant deterioration in receivables collection has not occurred.

In response to the COVID-19 pandemic and related economic dislocation, we have implemented and will continue to implement a variety of expense reduction and cash preservation initiatives. On April 27, 2020, our board of directors suspended our quarterly cash dividend beginning with the second quarter of our fiscal year 2021.

At January 31, 2023, our cash and cash equivalents were $3.9 million. During fiscal 2023, we borrowed a net of $15.9 million on our revolving line of credit, and at January 31, 2023, we had $9.1 million available for borrowing under that facility.

Indebtedness

Term Loan

The Amended Credit Agreement requires that the term loan be paid in quarterly installments on the last day of each of our fiscal quarters over the term of the Amended Credit Agreement on the following repayment schedule: the principal amount of each quarterly installment required to be paid on the last day of each of our fiscal quarters ending on or about October 31, 2022 through July 31, 2023 is $375,000; and the principal amount of each quarterly installment required to be paid on the last day of each of our fiscal quarters ending on or about October 31, 2023 through April 30, 2027 is $675,000. The entire remaining principal balance of the term loan is required to be paid on August 4, 2027. We may voluntarily prepay the term loan, in whole or in part, from time to time without premium or penalty (other than customary breakage costs, if applicable). We may repay borrowings under the revolving credit facility at any time without premium or penalty (other than customary breakage costs, if applicable), but in any event no later than August 4, 2027, and any outstanding revolving loans thereunder will be due and payable in full, and the revolving credit facility will terminate, on such date. We may reduce or terminate the revolving line of credit at any time, subject to certain thresholds and conditions, without premium or penalty.

The loans under the Amended Credit Agreement are subject to certain mandatory prepayments, subject to various exceptions, from (a) net cash proceeds from certain dispositions of property, (b) net cash proceeds from certain issuances of equity, (c) net cash proceeds from certain issuances of additional debt and (d) net cash proceeds from certain extraordinary receipts.

 

31


Amounts repaid under the revolving credit facility may be reborrowed, subject to our continued compliance with the Amended Credit Agreement. No amount of the term loan that is repaid may be reborrowed.

The interest rates under the Amended Credit Agreement are as follows: the term loan and revolving credit loans bear interest at a rate per annum equal to, at our option, either (a) the BSBY Rate as defined in the Amended Credit Agreement (or, in the case of revolving credit loans denominated in a currency other than U.S. Dollars, the applicable quoted rate), plus a margin that varies within a range of 1.60% to 2.50% based on our consolidated leverage ratio, or (b) a fluctuating reference rate equal to the highest of (i) the federal fund rate plus 0.50%, (ii) Bank of America’s publicly announced prime rate, (iii) the BSBY Rate plus 1.00%, or (iv) 0.50%, plus a margin that varies within a range of 0.60% to 1.50% based on our consolidated leverage ratio. In addition to certain other fees and expenses that we are required to pay to the Lender, we are required to pay a commitment fee on the undrawn portion of the revolving credit facility that varies within a range of 0.15% and 0.35% based on our consolidated leverage ratio.

We must comply with various customary financial and non-financial covenants under the Amended Credit Agreement. The financial covenants under the Amended Credit Agreement consist of a maximum consolidated leverage ratio, a minimum consolidated fixed charge coverage ratio and a minimum consolidated asset coverage ratio. The primary non-financial covenants limit our and our subsidiaries’ ability to incur future indebtedness, to place liens on assets, to pay dividends or distributions on our or our subsidiaries’ capital stock, to repurchase or acquire our or our subsidiaries’ capital stock, to conduct mergers or acquisitions, to sell assets, to alter our or our subsidiaries’ capital structure, to make investments and loans, to change the nature of our or our subsidiaries’ business, and to prepay subordinated indebtedness, in each case subject to certain exceptions and thresholds as set forth in the Amended Credit Agreement, certain of which provisions were modified by the Second Amendment. As of January 31, 2023, we believe we are in compliance with all of the covenants in the Credit Agreement.

The Lender is entitled to accelerate repayment of the loans and to terminate its revolving credit commitment under the Amended Credit Agreement upon the occurrence of any of various customary events of default, which include, among other events, the following (which are subject, in some cases, to certain grace periods): failure to pay when due any principal, interest or other amounts in respect of the loans, breach of any of our covenants or representations under the loan documents, default under any other of our or our subsidiaries’ significant indebtedness agreements, a bankruptcy, insolvency or similar event with respect to us or any of our subsidiaries, a significant unsatisfied judgment against us or any of our subsidiaries, or a change of control.

Our obligations under the Amended Credit Agreement continue to be secured by substantially all of our personal property assets (including a pledge of the equity interests we hold in ANI ApS, AstroNova GmbH and AstroNova SAS), subject to certain exceptions, and by a mortgage on our owned real property in West Warwick, Rhode Island, and are guaranteed by, and secured by substantially all of the personal property assets of Astro Machine.

PPP Loan

On May 6, 2020, we entered into a Loan Agreement with and executed a promissory note in favor of Greenwood Credit Union (“Greenwood”) pursuant to which we borrowed $4.4 million (the “PPP Loan”) from Greenwood pursuant to the Paycheck Protection Program (the “PPP”) administered by the United States Small Business Administration (the “SBA”) and authorized by the Coronavirus Aid, Relief, and Economic Security Act (the “CARES Act”), enacted on March 27, 2020. The terms of the PPP Loan were subsequently revised in accordance with the provisions of the Paycheck Protection Flexibility Act of 2020 (the “PPP Flexibility Act”), which was enacted on June 5, 2020.

The PPP Loan, which would have matured on May 6, 2022, was unsecured and bore interest at a rate of 1.0% per annum, accruing from the loan date.

 

32


On June 15, 2021, Greenwood notified us that the SBA approved our application for forgiveness of the entire $4.4 million principal balance of our PPP Loan and all accrued interest thereon. As a result, we recorded a $4.5 million gain on the extinguishment of debt in Other Income (Expense) in our condensed consolidated income statement for the year ended January 31, 2022.

Cash Flow

The statements of cash flows for the years ended January 31, 2023, 2022, and 2021 are included on page F-9 of this Form 10-K. Net cash used by operating activities was $2.9 million in fiscal 2023 compared to net cash provided by operating activities of $1.4 million in the previous year. The increase in net cash used by operations for the current year is primarily due to an $11.5 million increase in cash used for working capital. The changes in accounts receivable, inventory, income taxes, accounts payable and accrued expenses for the current year decreased cash by $14.3 million in fiscal 2023 compared to $2.8 million in the prior year. The increase in cash used for operations for fiscal 2023 was partially offset by the $3.1 million of ERC receivable received in the first quarter of the current year. Cash from operations for fiscal 2022 was also impacted by the $3.1 million ERC receivable and the $4.5 million gain on the forgiveness of the PPP Loan.

The accounts receivable balance increased to $21.6 million at January 31, 2023, compared to $17.1 million at January 31, 2022. The increase in the accounts receivable balance is related to sales product mix in fiscal 2023 compared to the prior year, as well as the addition of Astro Machine. The days sales outstanding increased to 49 days at year end compared to 45 days at the end of fiscal 2022 contributing to the higher receivables balance at January 31, 2023. The days sales outstanding increase in the current year is due to customer mix, as aerospace receivables typically take longer to collect.

The year-end inventory balance increased to $51.3 million at January 31, 2023 versus $34.6 million at January 31, 2022, a $16.7 million increase from the prior year end. The increase in our inventory balance is primarily due to difficulty in the supply chain environment, including increased pricing and long lead times to obtain components and supplies, which has required us to increase our component and supply buffer stock to support the demands of our customers in our PI segment. We have also experienced increased inventory levels related to our T&M products to maintain our targeted inventory levels as a result of increased sales in that segment and parts shortage issues. In addition, the acquisition of Astro Machine resulted in increased levels of inventory to support their operations. Inventory days on hand increased to 176 days at the end of the current quarter from 156 days at the prior year end. This increase in working capital has been funded in part by borrowings under our credit facilities and has increased our interest expense.

Net cash used by investing activities for fiscal 2023 was $17.2 million, which includes $17.0 million related to the acquisition of Astro Machine and $0.2 million for capital expenditures.

Net cash provided by financing activities for fiscal 2023 was $18.8 million. Cash provided from financing activities for fiscal 2023 includes $15.9 million for borrowings under the revolving line of credit and $6.0 million of proceeds from long term borrowings. Cash outflows for financing activities for fiscal 2022 include principal payments on long-term debt and the guaranteed royalty obligation of $1.0 million and $2.0 million, respectively.

Fiscal 2022 compared to Fiscal 2021

For a comparison of our cash flow for the fiscal years ended January 31, 2022 and January 31, 2021, see “Part II, Item 7. Management’s Discussion and Analysis of Liquidity and Capital Resources” in our annual report on Form 10-K for the fiscal year ended January 31, 2022, filed with the SEC on April 18, 2022.

Contractual Obligations, Commitments and Contingencies

As of January 31, 2023, we had contractual obligations related to lease arrangements, debt and royalty obligation arrangements and purchase commitments.

 

33


The lease arrangements are for certain of our facilities at various locations worldwide. As of January 31, 2023, we had fixed lease payment obligations of $0.8 million, with $0.3 million due within 12 months. Refer to Note 13, “Leases,” in our audited consolidated financial statements included in this Annual Report on Form 10-K for further details.

Debt arrangements under our Amended Credit Agreement with Bank of America, N.A., consist of the balance due of $14.3 million at January 31, 2023, with $2.1 million due within 12 months. For additional details regarding our long-term debt obligations, see Note 8, “Debt,” in our audited consolidated financial statements included in this Annual Report on Form 10-K.

We are subject to a guaranteed minimum royalty payment obligation over the next five years pursuant to the Honeywell Agreements, which, at January 31, 2023 included a balance due of $5.1 million, with $1.7 million due within 12 months. Refer to Note 2 “Acquisitions” and Note 12, “Royalty Obligation,” in our audited consolidated financial statements included in this Annual Report on Form 10-K for further details.

In order to meet our manufacturing demands and, in some cases, lock in particular pricing structures for specific goods used in manufacturing, we enter into purchase commitments with our suppliers. At January 31, 2023 our purchase commitments totaled $25.8 million, with $22.8 million due within 12 months, some of which are non-cancelable.

We are also subject to contingencies, including legal proceedings and claims arising out of our business that cover a wide range of matters, such as: contract and employment claims; workers’ compensation claims; product liability claims; warranty claims; and claims related to modification, adjustment or replacement of component parts of units sold. While it is impossible to ascertain the ultimate legal and financial liability with respect to contingent liabilities, including lawsuits, we believe that the aggregate amount of such liabilities, if any, in excess of amounts provided, or covered by insurance, will not have a material adverse effect on our consolidated financial position or results of operations. It is possible, however, that our results of operations for any future period could be materially affected by changes in our assumptions or strategies related to these contingencies or changes out of our control.

Critical Accounting Policies and Estimates

Our discussion and analysis of financial condition and results of operations are based upon our consolidated financial statements, which have been prepared in accordance with accounting principles generally accepted in the United States. Certain of our accounting policies require the application of judgment in selecting the appropriate assumptions for calculating financial estimates. By their nature, these judgments are subject to an inherent degree of uncertainty. We periodically evaluate the judgments and estimates used for our critical accounting policies to ensure that such judgments and estimates are reasonable for our interim and year-end reporting requirements. These judgments and estimates are based on our historical experience, current trends and information available from other sources, as appropriate. We do not believe there is a great likelihood that materially different amounts would be reported using different assumptions pertaining to the accounting policies described below, however, if actual conditions differ from the assumptions used in our judgments, our financial results could be materially different from our estimates.

We believe the following critical accounting policies require significant judgments and estimates in the preparation of our consolidated financial statements:

Revenue Recognition: We recognize revenue in accordance with Accounting Standards Codification (ASC) 606, “Revenue from Contracts with Customers.” Under ASC 606, based on the nature of our contracts, we recognize most of our revenue upon shipment, which is when the performance obligation has been satisfied.

Our accounting policies relating to the recognition of revenue under ASC 606 require management to make estimates, determinations and judgments based on historical experience and on various other assumptions, which

 

34


include (i) the existence of a contract with the customer, (ii) the identification of the performance obligations in the contract, (iii) the value of any variable consideration in the contract, (iv) the standalone selling price of multiple obligations in the contract, for the purpose of allocating the consideration in the contract, and (v) determining when a performance obligation has been met. Recognition of revenue based on incorrect judgments, including the identification of performance obligation arrangements as well as the pattern of delivery for those services, could result in inappropriate recognition of revenue, or incorrect timing of revenue recognition, which could have a material effect on our financial condition and results of operations.

We recognize revenue for non-recurring engineering (NRE) fees, as necessary, for product modification orders upon completion of agreed-upon milestones. Revenue is deferred for any amounts received prior to completion of milestones. Certain of our NRE arrangements include formal customer acceptance provisions. In such cases, we determine whether we have obtained customer acceptance for the specific milestone before recognizing revenue.

Infrequently, we receive requests from customers to hold product being purchased from us for the customers’ convenience. We recognize revenue for such bill and hold arrangements in accordance with the guidance provided by ASC 606, which requires the transaction to meet the following criteria in order to determine that the customer has obtained control: (a) the reason for the bill and hold is substantive, (b) the product has separately been identified as belonging to the customer, (c) the product is currently ready for physical transfer to the customer, and (d) we do not have the ability to use the product or direct it to another customer.

Allowance for Doubtful Accounts: Accounts receivable consists primarily of receivables from our customers arising from the sale of our products. We actively monitor our exposure to credit risk through the use of credit approvals and credit limits. Accounts receivable is presented net of reserves for doubtful accounts.

We estimate the collectability of our receivables and establish allowances for accounts receivable that we estimate to be uncollectible. We base these allowances on our historical collection experience, the length of time our accounts receivable are outstanding and the financial condition of individual customers. In situations where we are aware of a specific customer’s inability to meet its financial obligation, such as in the case of a bankruptcy filing, we assess the need for a specific reserve for bad debts. We believe that our procedure for estimating such amounts is reasonable and historically has not resulted in material adjustments in subsequent periods. Bad debt expense was less than 1% of net sales in each of fiscal 2023 and 2022.

Warranty Claims: We offer warranties on some of our products. We establish a reserve for estimated costs of warranties at the time the product revenue is recognized. This reserve requires us to make estimates regarding the amounts necessary to settle future and existing claims using historical data on products sold as of the balance sheet date. The length of the warranty period, the product’s failure rates, and the customer’s usage affect estimated warranty cost. If actual warranty costs differ from our estimated amounts, future results of operations could be affected adversely. Warranty cost is recorded as cost of revenue, and the reserve balance recorded as an accrued expense. While we maintain product quality programs and processes, our warranty obligation is affected by product failure rates and the related corrective costs. If actual product failure rates and/or corrective costs differ from the estimates, we revise our estimated warranty liability accordingly.

Inventories: Inventories are stated at the lower of average and standard cost or net realizable value. The process for evaluating and recording obsolete and excess inventory provisions consists of analyzing the inventory supply on hand and estimating the net realizable value of the inventory based on historical experience, current business conditions and anticipated future revenue. We believe that our procedures for estimating such amounts are reasonable and historically have not resulted in material adjustments in subsequent periods when the estimates are adjusted to actual experience.

Income Taxes: A valuation allowance is established when it is “more-likely-than-not” that all or a portion of deferred tax assets will not be realized. A review of all available positive and negative evidence must be

 

35


considered, including our performance, the market environment in which we operate, length of carryforward periods, existing revenue backlog and future revenue projections. If actual factors and conditions differ materially from the estimates made by management, the actual realization of the net deferred tax assets or liabilities could vary materially from the amounts previously recorded. At January 31, 2023, we had provided valuation allowances for future tax benefits resulting from certain domestic R&D tax credits, foreign tax credit carryforwards, and China net operating losses, all of which are expected to expire unused.

The calculation of tax liabilities involves significant judgment in estimating the impact of uncertainties in the application of complex tax laws and regulations in a multitude of jurisdictions. Although guidance on the accounting for uncertain income taxes prescribes the use of a recognition and measurement model, the determination of whether an uncertain tax position has met those thresholds will continue to require significant judgment by management. If the ultimate resolution of tax uncertainties is different from what we have estimated, our income tax expense could be materially impacted.

Business Combinations: We account for business acquisitions under the acquisition method of accounting in accordance with ASC 805, ‘‘Business Combinations,’’ where the total purchase price is allocated to the tangible and identified intangible assets acquired and liabilities assumed based on their estimated fair values. The purchase price is allocated using the information currently available, and may be adjusted, up to one year from acquisition date, after obtaining more information regarding, among other things, asset valuations, liabilities assumed and revisions to preliminary estimates that, if known, would have affected the measurement of the amounts recognized as of the acquisition date. The purchase price in excess of the fair value of the tangible and identified intangible assets acquired less liabilities assumed is recognized as goodwill. Determining the fair value of assets acquired and liabilities assumed requires management to use significant judgment and estimates, including the selection of valuation methodologies, estimates of future revenue, costs and cash flows, discount rates, and selection of comparable companies. Management’s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and unpredictable. As a result, actual results may differ from these estimates. During the measurement period, we may record adjustments to acquired assets and assumed liabilities, with corresponding offsets to goodwill. Upon the conclusion of a measurement period, any subsequent adjustments are recorded to earnings.

Goodwill and Intangible Assets: We recognize goodwill in accordance with ASC 350, Intangibles—Goodwill and Other (“ASC 350”). Goodwill is the excess of cost of an acquired entity over the fair value amounts assigned to assets acquired and liabilities assumed in a business combination and is not amortized.

Goodwill is tested for impairment at the reporting unit. A reporting unit is an operating segment or a business unit one level below an operating segment if discrete financial information for that business is prepared and regularly reviewed by segment management. However, components within an operating segment are aggregated as a single reporting unit if they have similar economic characteristics. Management evaluates the recoverability of goodwill annually or more frequently if events or changes in circumstances, such as declines in revenue, earnings or cash flows, or material adverse changes in the business climate, indicate that the carrying value of an asset might be impaired. Goodwill is first qualitatively assessed to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying value. Factors that management considers in this assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management and strategy and changes in the composition or carrying amount of net assets. If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying value, then a quantitative assessment is required for the reporting unit. The quantitative assessment compares the fair value of the reporting unit with its carrying value. If a quantitative assessment is required, we estimate the fair value of our reporting units using the income approach based upon a discounted cash flow model. We believe that this approach is appropriate because it provides a fair value estimate based upon the reporting unit’s expected long-term operating cash flow performance. In addition, we use the market approach, which compares the reporting unit to publicly traded companies and transactions involving similar business, to support the conclusions based upon the income approach. The income approach

 

36


requires the use of many assumptions and estimates including future revenue, expenses, capital expenditures, and working capital, as well as discount factors and income tax rates. If the fair value of the reporting unit exceeds the carrying value of the net assets including goodwill assigned to that unit, goodwill is not impaired. If the carrying value of the reporting unit’s net assets including goodwill exceeds the fair value of the reporting unit, then we record an impairment charge based on that difference. No goodwill impairment was identified for the years ended January 31, 2023 or January 31, 2022.

We recognize intangibles assets in accordance with ASC 350. Acquired intangible assets subject to amortization are stated at fair value and are amortized using the straight-line method over the estimated useful lives of the assets. Intangible assets that are subject to amortization are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the projected undiscounted cash flows are less than the carrying value, then an impairment charge would be recorded for the excess of the carrying value over the fair value, which is determined by the discounting of future cash flows. No impairment of intangible assets was identified for the years ended January 31, 2023 or January 31, 2022.

Share-Based Compensation: Compensation expense for time-based restricted stock units is measured at the grant date and recognized ratably over the vesting period. We determine the fair value of time-based and performance-based restricted stock units based on the closing market price of our common stock on the grant date. The recognition of compensation expense associated with performance-based restricted stock units requires judgment in assessing the probability of meeting the performance goals, as well as defined criteria for assessing achievement of the performance-related goals. For purposes of measuring compensation expense, the number of shares ultimately expected to vest is estimated at each reporting date based on management’s expectations regarding the relevant performance criteria. The performance shares begin vesting only upon the achievement of the performance criteria. The achievement of the performance goals can impact the valuation and associated expense of the restricted stock units. The assumptions used in accounting for the share-based payment awards represent management’s best estimates, but these estimates involve inherent uncertainties and the application of management judgment. As a result, if circumstances change and we use different assumptions, our stock-based compensation expense could be materially different in the future.

Recent Accounting Pronouncements

Reference is made to Note 1 of our audited consolidated financial statements included elsewhere in this report.

Item 7A. Quantitative and Qualitative Disclosures about Market Risk

Our primary financial market risks consist of foreign currency exchange rates risk and the impact of changes in interest rates that fluctuate with the market on our variable rate credit borrowings under our existing credit agreement.

Financial Exchange Risk

The functional currencies of our foreign subsidiaries and branches are the local currencies—the British Pound in the U.K., the Canadian Dollar in Canada, the Danish Kroner in Denmark, the Chinese Yuan in China, and the Euro in France and Germany. We are exposed to foreign currency exchange risk as the functional currency financial statements of foreign subsidiaries are translated to U.S. dollars. The assets and liabilities of our foreign subsidiaries having a functional currency other than the U.S. dollar are translated into U.S. dollars at the exchange rate prevailing at the balance sheet date, and at an average exchange rate for the reporting period for revenue and expense accounts. The cumulative foreign currency translation adjustment is recorded as a component of accumulated other comprehensive loss in shareholders’ equity. The reported results of our foreign

 

37


subsidiaries will be influenced by their translation into U.S. dollars by currency movements against the U.S. dollar. Our primary currency translation exposure is related to our subsidiaries that have functional currencies denominated in Danish Kroner and the Euro. A hypothetical 10% change in the rates used to translate the results of our foreign subsidiaries would result in an increase or decrease in our consolidated net income of approximately $0.2 million for the year ended January 31, 2023.

Transactional exposure arises where transactions occur in currencies other than the functional currency. Transactions in foreign currencies are recorded at the exchange rate prevailing at the date of the transaction. The resulting monetary assets and liabilities are translated into the appropriate functional currency at exchange rates prevailing at the balance sheet date and the resulting gains and losses are reported as foreign exchange gain (loss) in the consolidated statements of income. Foreign exchange losses resulting from transactional exposure were $0.5 million for the year ended January 31, 2023.

Interest Rate Risk

At January 31, 2023, our total indebtedness included $14.25 million of term loan variable-rate debt and $15.9 million outstanding balance on our revolving line of credit. At January 31, 2023, under the LIBOR Transition Amendment to the Amended Credit Agreement, the term loan bears interest at a BSBY (Bloomberg Short-Term Bank Yield) rate plus a margin that varies between 1.60% and 2.30% based on our consolidated leverage ratio. During fiscal 2023, the weighted average interest rate on our variable rate debt was 4.77% and the weighted average interest rate on our revolving line of credit was 6.71% The impact on our results of operations of a 100 basis point change in the interest rates on the outstanding balance of our variable-rate debt and revolving line of credit would be approximately $0.2 million annually.

Item 8. Financial Statements and Supplementary Data

The consolidated financial statements required under this item are submitted as a separate section of this report on the pages indicated at Item 15(a)(1).

Item 9. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

None.

Item 9A. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

Our management has evaluated, under the supervision and with the participation of our Principal Executive Officer and Principal Financial Officer, the effectiveness of our disclosure controls and procedures as of the end of the period covered by this Annual Report on Form 10-K pursuant to Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (the “Exchange Act”). The term “disclosure controls and procedures,” as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act means controls and other procedures of a company that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported, within the time periods specified in the rules and forms promulgated by the SEC. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company’s management, including its principal executive and principal financial officers, as appropriate to allow timely decisions regarding required disclosure. Management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving their objectives and management necessarily applies its judgment in evaluating the cost-benefit relationship of possible controls and procedures. Based on that evaluation, our Principal Executive Officer and our Principal Financial Officer have concluded that our disclosure controls and procedures were not effective at January 31, 2023 because of the material weaknesses in our internal control over financial reporting described below.

 

38


Management’s Annual Report on Internal Control over Financial Reporting

Our management is responsible for establishing and maintaining adequate internal control over financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act). Our internal control over financial reporting is designed to provide reasonable assurance regarding the reliability of its financial reporting and the preparation of published financial statements in accordance with generally accepted accounting principles.

Because of the inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to risk that controls may become inadequate because of changes in conditions, or the degree of compliance may deteriorate.

Management conducted its evaluation of the effectiveness of its internal control over financial reporting as of January 31, 2023. In making this assessment, management used the criteria set forth in the Internal Control-Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission (“COSO”). The scope of management’s assessment of the effectiveness of its disclosure controls and procedures did not include the internal controls over financial reporting at Astro Machine, which was acquired effective August 4, 2022. Our consolidated total assets as of January 31, 2023 include $20.2 million from Astro Machine and our consolidated revenue for the year ended January 31, 2023 includes $12.5 million from Astro Machine. This exclusion is consistent with the SEC Staff’s guidance that an assessment of a recently acquired business may be omitted from the scope of management’s assessment of the effectiveness of disclosure controls and procedures that are also part of internal control over financial reporting in the year of acquisition. Based on this assessment, the principal executive officer and principal financial officer believe that as of January 31, 2023, our internal control over financial reporting was not effective based on criteria set forth by COSO in “Internal Control-Integrated Framework.”

A material weakness is a deficiency, or combination of deficiencies, in internal control over financial reporting, such that there is a reasonable possibility that a material misstatement of the Company’s annual or interim financial statements will not be prevented or detected on a timely basis. We did not maintain effective controls to properly identify and assess significant non-routine transactions and management concluded that this material weakness continued to exist as of January 31, 2023.

Management is taking action to remediate this deficiency in its internal controls over financial reporting by augmenting personnel and resources in its finance and accounting organization. We anticipate that these actions and resulting improvements in controls will strengthen our internal control over financial reporting and will address the related material weakness.

The effectiveness of our internal control over financial reporting as of January 31, 2023 has been audited by Wolf & Company, P.C., an independent registered public accounting firm, as stated in their report, which is included herein.

Changes in Internal Controls over Financial Reporting

There have been no changes in our internal control over financial reporting during our most recently completed fiscal quarter that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

Item 9B. Other Information

None.

Item 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

Not applicable.

 

39


PART III

Item 10. Directors, Executive Officers and Corporate Governance

The information required by this item is incorporated herein by reference to our definitive proxy statement to be filed for our 2023 Annual Meeting of Shareholders, which will be filed with the SEC no later than 120 days after the end of our fiscal year (our “Proxy Statement”). Certain other information relating to our executive officers appears in Part I of this Annual Report on Form 10-K under the heading “Information about our Executive Officers.”

Item 11. Executive Compensation

The information required by this item is incorporated herein by reference to our Proxy Statement.

The information set forth under the heading “Compensation Committee Report” in our Proxy Statement is furnished and shall not be deemed filed for purposes of Section 18 of the Exchange Act, nor be incorporated by reference in any filing under the Securities Act of 1933, as amended.

Item 12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

The information required by this item is incorporated herein by reference to our Proxy Statement.

Item 13. Certain Relationships, Related Transactions and Director Independence

The information required by this item is incorporated herein by reference to our Proxy Statement.

Item 14. Principal Accountant Fees and Services

The information required by this item is incorporated herein by reference to our Proxy Statement.

 

40


PART IV

Item 15. Exhibits and Financial Statement Schedule

(a)(1) Financial Statements:

The following documents are included as part of this Annual Report filed on Form 10-K:

 

     Page  

Reports of Independent Registered Public Accounting Firm

     F-1  

Consolidated Balance Sheets as of January 31, 2023 and 2022

     F-5  

Consolidated Statements of Income—Years Ended January 31, 2023, 2022, and 2021

     F-6  

Consolidated Statements of Comprehensive Income—Years Ended January 31, 2023, 2022, and 2021

     F-7  

Consolidated Statements of Changes in Shareholders’ Equity—Years Ended January 31, 2023, 2022, and 2021

     F-8  

Consolidated Statements of Cash Flows—Years Ended January 31, 2023, 2022, and 2021

     F-9  

Notes to Consolidated Financial Statements

     F-10  
(a)(2) Financial Statement Schedule:   

Schedule II—Valuation and Qualifying Accounts and Reserves—Years Ended January 31, 2023, 2022, and 2021

     F-38  

All other schedules for which provision is made in the applicable accounting regulations of the Securities and Exchange Commission are not required under the related instructions or are inapplicable, and therefore, have been omitted.

Item 16. Form 10-K Summary

Not Applicable.

(a)(3) Exhibits:

 

Exhibit

Number

   
  (2.1)   Share Purchase Agreement, dated January 7, 2017, as amended, by and among ANI ApS, Trojan Holding ApS, as a Seller and as the Sellers’ Representative, and Li Wei Chong filed as Exhibit 2.1 to our Annual Report on Form 10-K for the year ended January 31, 2017 and incorporated by reference herein*
  (3A)   Restated Articles of Incorporation of the Company and all amendments thereto filed as Exhibit 3A to our Quarterly Report on Form 10-Q for the quarter ended April 30, 2016 and incorporated by reference herein.
  (3B)   By-laws of the Company as amended to date filed as Exhibit 3B to our Annual Report on Form 10-K for the fiscal year ended January 31, 2008 (File No. 000-13200) and incorporated by reference herein.
  (4.1)   Specimen form of common stock certificate of the Company filed as Exhibit 4 to our Quarterly Report on Form 10-Q for the quarter ended April 30, 2016 and incorporated by reference herein.
  (4.2)   Description of securities registered pursuant to Section 12 of the Exchange Act filed as Exhibit 4.2 to our Annual Report on Form 10-K for the fiscal year ended January 31, 2020 (File No. 000-13200) and incorporated by reference herein.
(10.1)   Astro-Med, Inc. 2007 Equity Incentive Plan as filed as Appendix A to the Definitive Proxy Statement filed on April 25, 2007 on Schedule 14A (File No. 000-13200) for the 2007 annual shareholders meeting and incorporated by reference herein.**

 

41


Exhibit

Number

    
(10.2)    Change in Control Agreement dated as of November 24, 2014 by and between the Company and Gregory A. Woods filed as Exhibit 10.13 to our Annual Report on Form 10-K for the year ended January 31, 2015 and incorporated by reference herein.**
(10.3)    AstroNova Inc. 2015 Equity Incentive Plan filed as Exhibit A to the Definitive Proxy Statement filed on April 21, 2015 (File No. 000-13200) for the 2015 annual shareholders meeting and incorporated by reference herein.**
(10.4)    Form of Indemnification Agreement for directors and officers filed as Exhibit 10.1 to our Quarterly Report on Form 10-Q for the period ended October 31, 2015 and incorporated by reference herein.**
(10.5)    Form of Restricted Stock Agreement granted under the Amended and Restated Non-Employee Director Annual Compensation Program filed as Exhibit 10.2 to the Company’s Quarterly Report on Form 10-Q for the period ended July 30, 2016 and incorporated by reference herein.**
(10.6)    Form of Incentive Stock Option Agreement granted under the 2015 Equity Incentive Plan filed as Exhibit 10.3 to the Company’s Quarterly Report on Form 10-Q for the period ended July 30, 2016 and incorporated by reference herein.**
(10.7)    Form of Non-Statutory Stock Option Agreement granted under the 2015 Equity Incentive Plan filed as Exhibit 10.4 to the Company’s Quarterly Report on Form 10-Q for the period ended July 30, 2016 and incorporated by reference herein.**
(10.8)    Form of Non-Employee Director Non-Statutory Stock Option Agreement granted under the 2015 Equity Incentive Plan filed as Exhibit 10.5 to the Company’s Quarterly Report on Form 10-Q for the period ended July 30, 2016 and incorporated by reference herein.**
(10.9)    Form of Restricted Stock Agreement granted under the 2015 Equity Incentive Plan filed as Exhibit 10.6 to the Company’s Quarterly Report on Form 10-Q for the period ended July 30, 2016 and incorporated by reference herein.**
(10.10)    Form of Non-Employee Director Restricted Stock Agreement granted under the 2015 Equity Incentive Plan filed as Exhibit 10.7 to the Company’s Quarterly Report on Form 10-Q for the period ended July 30, 2016 and incorporated by reference herein.**
(10.11)    Form of Time-Based Restricted Stock Unit Agreement granted under the 2015 Equity Incentive Plan filed as Exhibit 10.8 to the Company’s Quarterly Report on Form 10-Q for the period ended July 30, 2016 and incorporated by reference herein.**
(10.12)    Form of Performance Restricted Stock Unit Agreement granted under the 2015 Equity Incentive Plan filed as Exhibit 10.9 to the Company’s Quarterly Report on Form 10-Q for the period ended July 30, 2016 and incorporated by reference herein.**
(10.13)    Asset Purchase and License Agreement, dated September 28, 2017, by and between AstroNova, Inc. and Honeywell International, Inc. filed as Exhibit 10.1 to the Company’s Current Report on Form 8-K, event date September 28, 2017, filed with the SEC on October 4, 2017 and incorporated by reference herein.
(10.14)    Form of Performance-based Restricted Stock Unit Award Agreement filed as Exhibit 10.1 to the Company’s Current Report on Form 8-K, event date June 4, 2018, filed with the SEC on June 4, 2018 and incorporated by reference herein.**
(10.15)    Form of Restricted Stock Unit Agreement (time-based vesting) filed as Exhibit 10.2 to the Company’s Current Report on Form 8-K, event date June 4, 2018, filed with the SEC on June 4, 2018 and incorporated by reference herein.**
(10.16)    Form of Incentive Stock Option filed as Exhibit 10.3 to the Company’s Current Report on Form 8-K, event date June 4, 2018, filed with the SEC on June 4, 2018 and incorporated by reference herein.**

 

42


Exhibit

Number

    
(10.17)    Form of Non-statutory Stock Option filed as Exhibit 10.4 to the Company’s Current Report on Form 8-K, event date June 4, 2018, filed with the SEC on June 4, 2018 and incorporated by reference herein.**
(10.18)    Form of Non-statutory Stock Option (Non-employee Director) filed as Exhibit 10.5 to the Company’s Current Report on Form 8-K, event date June 4, 2018, filed with the SEC on June 4, 2018 and incorporated by reference herein.**
(10.19)    Form of Restricted Stock Agreement filed as Exhibit 10.6 to the Company’s Current Report on Form 8-K, event date June 4, 2018, filed with the SEC on June 4, 2018 and incorporated by reference herein.**
(10.20)    Form of Non-employee Director Restricted Stock Agreement filed as Exhibit 10.7 to the Company’s Current Report on Form 8-K , event date June 4, 2018, filed with the SEC on June 4, 2018 and incorporated by reference herein.**
(10.21)    AstroNova, Inc. Amended and Restated Non-Employee Director Annual Compensation Program filed as Exhibit 10.1 to the Company’s Current Report on Form 8-K, event date January 31, 2019, filed with the SEC on February 4, 2019 and incorporated by reference herein.**
(10.22)    AstroNova, Inc. 2018 Equity Incentive Plan Non-Employee Director Restricted Stock Agreement filed as Exhibit 10.41 to the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2019 and incorporated by reference herein.*
(10.23)    AstroNova, Inc. 2018 Equity Incentive Plan, as amended, filed as Appendix A to the Company’s Definitive Proxy Statement filed with the SEC on May 25, 2019 on Schedule 14A and incorporated by reference herein.*
(10.24)    Amended and Restated Credit Agreement dated as of July 30, 2020 among AstroNova, Inc., ANI ApS, TrojanLabel ApS, and Bank of America, N.A. filed as Exhibit 10.4 to the Company’s Quarterly Report on Form 10-Q for the quarter ended August 1, 2020 and incorporated by reference herein.
(10.25)    Amended and Restated Security and Pledge Agreement dated as of July 30, 2020 among AstroNova, Inc. and Bank of America, N.A., filed as Exhibit 10.2 to the Company’s Current Report on Form 8-K, event date July 30, 2020, filed with the SEC on August 5, 2020 and incorporated by reference herein.
(10.26)    Open-End Mortgage Deed to Secure Present and Future Loans under Chapter 25 of Title 34 of the Rhode Island General Laws, Assignment of Leases and Rents, Security Agreement and Fixture Filing dated as of July 30, 2020 among AstroNova, Inc. and Bank of America, N.A., filed as Exhibit 10.3 to the Company’s Current Report on Form 8-K, event date July 30, 2020, filed with the SEC on August 5, 2020 and incorporated by reference herein.
(10.27)    Change in Control Agreement dated September 8, 2020 by and between AstroNova, Inc. and David S. Smith filed as Exhibit 10.7 to the Company’s Quarterly Report on Form 10-Q for the quarter ended August 1, 2020 and incorporated by reference herein.**
(10.28)    First Amendment to Credit Agreement dated as of March 24, 2021 among AstroNova, Inc. ANI ApS, TrojanLabel ApS and Bank of America, N.A., filed as Exhibit 10.34 to the Company’s Annual Report on Form 10-K for the period ended January 31, 2021, and incorporated by reference herein.
(10.29)    First Amendment to Open-End Mortgage Deed to Secure Present and Future Loans under Chapter 25 of Title 34 of the Rhode Island General Laws, Assignment of Leases and Rents, Security Agreement and Fixture Filing dated as of March 24, 2021 among AstroNova, Inc. and Bank of America, N.A., filed as Exhibit 10.35 to the Company’s Annual Report on Form 10-K for the period ended January 31, 2021, and incorporated by reference herein.

 

43


Exhibit

Number

   
  (10.30)   Form of Indemnification Agreement for directors and officers, filed as Exhibit 10.1 to the Company’s Quarterly Report on Form 10-Q for the period ended October 30, 2021, and incorporated by reference herein.**
  (10.31)   LIBOR Transition Amendment dated as of December 14, 2021 among AstroNova, Inc. and Bank of America, N.A., filed as Exhibit 10.33 to the Company’s Annual Report on Form 10-K for the period ended January 31, 2022, and incorporated by reference herein.
  (10.32)   AstroNova, Inc. 2022 Employee Stock Purchase Plan, filed as Annex A to the AstroNova, Inc. Definitive Proxy Statement on Schedule 14A filed with the SEC on April 29, 2022 and incorporated by reference herein.**
  (10.33)   Equity Interest Purchase Agreement, dated as of August 4, 2022, by and among AstroNova, Inc., Astro Machine LLC and GSND Holding Corporation, filed as Exhibit 10.1 to the Company’s Current Report on Form 8-K, event date August 4, 2022, filed with the SEC on August 9, 2022 and incorporated by reference herein.
  (10.34)   Purchase and Sale Agreement, dated as of August 4, 2022, between Astro Machine LLC and Selak Real Estate Limited Partnership, filed as Exhibit 10.2 to the Company’s Current Report on Form 8-K, event date August 4, 2022, filed with the SEC on August 9, 2022 and incorporated by reference herein.
  (10.35)   Second Amendment to Amended and Restated Credit Agreement, dated as of August 4, 2022, by and among AstroNova, Inc. and Bank of America, N.A. , filed as Exhibit 10.3 to the Company’s Current Report on Form 8-K, event date August 4, 2022, filed with the SEC on August 9, 2022 and incorporated by reference herein.
  (21)   List of Subsidiaries of the Company.
  (23.1)   Consent of Wolf & Company, P.C.
  (31.1)   Certification of Chief Executive Officer Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.
  (31.2)   Certification of Chief Financial Officer Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.
  (32.1)   Certification of Chief Executive Officer Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.
  (32.2)   Certification of Chief Financial Officer Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.
(101.INS)   XBRL Instance Document—the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document
(101.SCH)   Inline XBRL Taxonomy Extension Schema Document
(101.CAL)   Inline XBRL Taxonomy Extension Calculation Linkbase Document
(101.DEF)   Inline XBRL Taxonomy Extension Definition Linkbase Document
(101.LAB)   Inline XBRL Taxonomy Extension Label Linkbase Document
(101.PRE)   Inline XBRL Taxonomy Extension Presentation Linkbase Document
(104)   Cover Page Interactive Data File (embedded within the Inline XBRL document).

 

*

Schedules to this Exhibit have been omitted in reliance on Item 601(b)(2) of Regulation S-K. The Company will furnish copies of any such schedules to the SEC upon request.

**

Management contract or compensatory plan or arrangement.

 

44


SIGNATURES

Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.

 

   

ASTRONOVA, INC.

(Registrant)

Date: April 17, 2023     By:   /S/    GREGORY A. WOODS
      (Gregory A. Woods, Chief Executive Officer)

Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the date indicated.

 

Name

  

Title

 

Date

/S/    GREGORY A. WOODS

Gregory A. Woods

  

President, Chief Executive Officer and Director (Principal Executive Officer)

  April 17, 2023

/S/    DAVID S. SMITH

David S. Smith

  

Vice President, Chief Financial Officer and Treasurer (Principal Accounting and Financial Officer)

  April 17, 2023

/s/    Alex P. Michas

Alexis P. Michas

  

Director

  April 17, 2023

/S/    MITCHELL I. QUAIN

Mitchell I. Quain

  

Director

  April 17, 2023

/S/    YVONNE E. SCHLAEPPI

Yvonne E. Schlaeppi

  

Director

  April 17, 2023

/S/    RICHARD S. WARZALA

Richard S. Warzala

  

Director

  April 17, 2023


http://fasb.org/us-gaap/2022#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2022#AccruedLiabilitiesCurrent
REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM
The Shareholders and Board of Directors of
AstroNova, Inc.
Opinion on the Financial Statements
We have audited the accompanying consolidated balance sheets of AstroNova, Inc. (the “Company”) as of January 31, 2023 and 2022, and the related consolidated statements of income, comprehensive income, changes in shareholders’ equity and cash flows for each of the years in the three-year period ended January 31, 2023, and the related notes and the financial statement schedule listed in Item 15(a)(2) (collectively, the “financial statements”). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of January 31, 2023 and 2022, and the results of its operations and its cash flows for each of the three years in the period ended January 31, 2023, in conformity with accounting principles generally accepted in the United States of America.
We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company’s internal control over financial reporting as of January 31, 2023, based on criteria established in
Internal Control—Integrated Framework
issued by the Committee of Sponsoring Organizations of the Treadway Commission in 2013. Our report dated April 17, 2023 expressed an opinion that the Company had not maintained effective internal control over financial reporting as of January 31, 2023, based on criteria established in
Internal Control—Integrated Framework
issued by the Committee of Sponsoring Organizations of the Treadway Commission in 2013.
Basis for Opinion
These financial statements are the responsibility of the Company’s management. Our responsibility is to express an opinion on the Company’s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.
We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audits to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.
Critical Audit Matters
The critical audit matters communicated below are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.
 
F-1

Valuation of Intangible Assets in the Astro Machine Acquisition
As described in Note 2 to the consolidated financial statements, the Company completed an acquisition of Astro Machine for consideration of $17.1 million in the year ended January 31, 2023. The Company accounted for this acquisition as a business combination.
Auditing the accounting for the acquisition was complex due to the significant estimation uncertainty in determining the fair values of identified assets, including the customer relationship intangible asset of $3.06 million. The significant estimation uncertainty was primarily due to the sensitivity of the respective fair values to underlying assumptions about future performance of the acquired business and due to the limited historical data on which to base these assumptions. The significant assumptions used to form the basis of the forecasted results included customer attrition rates and forecasted revenues and expenditures. These significant assumptions were forward-looking and could be affected by future economic and market conditions.
Addressing the matter involved performing procedures and evaluating audit evidence in connection with forming our overall opinion on the financial statements. These procedures included, among others (i) obtaining an understanding of management’s process for accounting for the transaction; (ii) evaluating the qualifications of the third-party expert engaged by management; (iii) testing management’s, and the third-party expert’s, process for developing the valuation models, and (iv) evaluating the significant assumptions used in developing the valuation models. In evaluating management’s assumptions used in the development of the valuation models we considered (i) whether these assumptions were consistent with evidence obtained in other areas of the audit and (ii) the sensitivity to change of the assumptions used.
/s/ Wolf & Company, P.C.
We have served as the Company’s auditor since 2013.
Boston, Massachusetts
April 17, 2023
 
F-2

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM
The Shareholders and Board of Directors of
AstroNova, Inc.
Opinion on the Internal Control Over
Financial Reporting
We have audited AstroNova, Inc.’s (the Company) internal control over financial reporting as of January 31, 2023, based on criteria established in
Internal Control—Integrated Framework
issued by the Committee of Sponsoring Organizations of the Treadway Commission in 2013. In our opinion, because of the effect of the material weakness described below on the achievement of the objectives of the control criteria, the Company has not maintained effective internal control over financial reporting as of January 31, 2023, based on criteria established in
Internal Control—Integrated Framework
issued by the Committee of Sponsoring Organizations of the Treadway Commission in 2013.
We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated financial statements of the Company and our report dated April 17, 2023 expressed an unqualified opinion.
As described in Management’s Annual Report on Internal Control over Financial Reporting, management has excluded Astro Machine from its assessment of internal control over financial reporting as of January 31, 2023, because it was acquired by the Company in a purchase business combination in the third quarter of fiscal 2023. We have also excluded Astro Machine from our audit of internal control over financial reporting. Astro Machine is a wholly owned subsidiary whose total assets and revenues represent approximately 15% and 9%, respectively, of the related consolidated financial statement amounts as of and for the year ended January 31, 2023.
A material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting, such that there is a reasonable possibility that a material misstatement of the company’s annual or interim financial statements will not be prevented or detected on a timely basis. The following material weakness has been identified and included in management’s assessment.
The Company’s controls over the accounting for significant
non-routine
transactions include management’s review of the transaction to ensure the appropriate accounting treatment in accordance with accounting principles generally accepted in the United States of America. During the year ended January 31, 2023, for certain significant
non-routine
transactions, this control did not operate effectively.
This material weakness was considered in determining the nature, timing and extent of audit tests applied in our audit of the 2023 financial statements, and this report does not affect our report dated April 17, 2023 on those financial statements.
Basis for Opinion
The Company’s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting in the accompanying Management’s Annual Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on the Company’s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.
We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial
 
F-3

reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, and testing and evaluating the design and operating effectiveness of internal control based on the assessed risk. Our audit also included performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.
Definition and Limitations of Internal Control Over Financial Reporting
A company’s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company’s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the company’s assets that could have a material effect on the financial statements.
Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.
/s/ Wolf & Company, P.C.
We have served as the Company’s auditor since 2013.
Boston, Massachusetts
April 17, 2023
 
F-4

ASTRONOVA, INC.
CONSOLIDATED BALANCE SHEETS
As of January 31
(In Thousands, Except Share Data)
 
 
  
2023
 
 
2022
 
ASSETS
  
 
CURRENT ASSETS
  
 
Cash and Cash Equivalents
  
$
3,946
 
 
$
5,276
 
Accounts Receivable, net of reserves of $
731
in 2023
and $
826
in 2022
  
 
21,598
 
 
 
17,124
 
Inventories
  
 
51,324
 
 
 
34,609
 
Employee Retention Credit Receivable
  
 
  
 
 
 
3,135
 
Prepaid Expenses and Other Current Assets
  
 
2,894
 
 
 
3,634
 
    
 
 
   
 
 
 
Total Current Assets
  
 
79,762
 
 
 
63,778
 
Property, Plant and Equipment, net
  
 
14,288
 
 
 
11,441
 
Identifiable Intangibles, net
  
 
21,232
 
 
 
19,200
 
Goodwill
  
 
14,658
 
 
 
12,156
 
Deferred Tax Assets, net
  
 
6,907
 
 
 
5,591
 
Right of Use Asset
  
 
794
 
 
 
1,094
 
Other Assets
  
 
1,566
 
 
 
1,695
 
    
 
 
   
 
 
 
TOTAL ASSETS
  
$
139,207
 
 
$
114,955
 
    
 
 
   
 
 
 
LIABILITIES AND SHAREHOLDERS’ EQUITY
  
 
 
 
 
 
CURRENT LIABILITIES
  
 
 
 
 
 
 
 
Accounts Payable
  
$
8,618
 
 
$
8,590
 
Accrued Compensation
  
 
2,750
 
 
 
3,512
 
Other Accrued Expenses
  
 
3,308
 
 
 
4,113
 
Revolving Line of Credit
  
 
15,900
 
 
 
  
 
Current Portion of Long-Term Debt
  
 
2,100
 
 
 
1,000
 
Current Liability—Royalty Obligation
  
 
1,725
 
 
 
2,000
 
Current Liability—Excess Royalty Payment Due
  
 
423
 
 
 
235
 
Income Taxes Payable
  
 
786
 
 
 
323
 
Deferred Revenue
  
 
1,888
 
 
 
262
 
    
 
 
   
 
 
 
Total Current Liabilities
  
 
37,498
 
 
 
20,035
 
NON-CURRENT
LIABILITIES
  
 
 
 
 
 
 
 
Long-Term Debt, net of current portion
  
 
12,040
 
 
 
8,154
 
Royalty Obligation, net of current portion
  
 
3,415
 
 
 
4,361
 
Lease Liabilities, net of current portion
  
 
555
 
 
 
808
 
Income Taxes Payable
  
 
491
 
 
 
399
 
Deferred Revenue
  
 
674
 
 
 
  
 
Deferred Tax Liabilities
  
 
167
 
 
 
186
 
    
 
 
   
 
 
 
TOTAL LIABILITIES
  
 
54,840
 
 
 
33,943
 
Commitments and Contingencies (See Note 22)
  
 
 
 
 
 
SHAREHOLDERS’ EQUITY
  
 
 
 
 
 
 
 
Preferred Stock, $
10
Par Value, Authorized
100,000
shares,
None
Issued
  
 
  
 
 
 
  
 
Common Stock, $
0.05
Par Value, Authorized
13,000,000
shares; Issued
10,676,851
shares in 2023
and
10,566,404
shares in 2022
  
 
534
 
 
 
528
 
Additional
Paid-in
Capital
  
 
61,131
 
 
 
59,692
 
Retained Earnings
  
 
59,175
 
 
 
56,514
 
Treasury Stock, at Cost,
3,342,032
shares in 2023
and
3,324,280
shares in 2022
  
 
(34,235
 
 
(33,974
Accumulated Other Comprehensive Loss, net of tax
  
 
(2,238
 
 
(1,748
    
 
 
   
 
 
 
TOTAL SHAREHOLDERS’ EQUITY
  
 
84,367
 
 
 
81,012
 
    
 
 
   
 
 
 
TOTAL LIABILITIES AND SHAREHOLDERS’ EQUITY
  
$
139,207
 
 
$
114,955
 
    
 
 
   
 
 
 
See Notes to the Consolidated Financial Statements.
 
F-5

ASTRONOVA, INC.
CONSOLIDATED STATEMENTS OF INCOME
For the years ended January 31
(In Thousands, Except Per Share Data)
 
    
2023
   
2022
   
2021
 
Revenue
   $ 142,527     $ 117,480     $ 116,033  
Cost of Revenue
     94,371       73,741       74,673  
    
 
 
   
 
 
   
 
 
 
Gross Profit
     48,156       43,739       41,360  
Costs and Expenses:
                        
Selling and Marketing
     24,456       23,177       23,301  
Research and Development
     6,822       6,753       6,206  
General and Administrative
     11,435       9,553       9,420  
    
 
 
   
 
 
   
 
 
 
Operating Expenses
     42,713       39,483       38,927  
    
 
 
   
 
 
   
 
 
 
Operating Income
     5,443       4,256       2,433  
Other Income (Expense):
                        
Interest Expense
     (1,678     (677     (955
Gain (Loss) on Foreign Currency Transactions
     (474     (288     590  
Gain on Extinguishment of Debt – PPP Loan
              4,466       —    
Loss on Disposal of Assets
              (696     —    
Other, net
     119       (27     111  
    
 
 
   
 
 
   
 
 
 
     (2,033
)
  2,778     (254
)
    
 
 
   
 
 
   
 
 
 
Income before Income Taxes
     3,410       7,034       2,179  
Income Tax Provision
     749       605       895  
    
 
 
   
 
 
   
 
 
 
Net Income
   $ 2,661     $ 6,429     $ 1,284  
    
 
 
   
 
 
   
 
 
 
Net Income Per Common Share—Basic
   $ 0.36     $ 0.89     $ 0.18  
    
 
 
   
 
 
   
 
 
 
Net Income Per Common Share—Diluted
   $ 0.36     $ 0.88     $ 0.18  
    
 
 
   
 
 
   
 
 
 
Weighted Average Number of Common Shares Outstanding—Basic
     7,307       7,207       7,104  
Dilutive Effect of Common Stock Equivalents
     67       132       62  
    
 
 
   
 
 
   
 
 
 
Weighted Average Number of Common Shares Outstanding—Diluted
     7,374       7,339       7,166  
 
  
 
 
 
 
 
 
 
 
 
 
 
See Notes to the Consolidated Financial Statements.
 
F-6
ASTRONOVA, INC.
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
For the years ended January 31
(In Thousands)
 
    
2023
   
2022
   
2021
 
Net Income
   $ 2,661     $ 6,429     $ 1,284  
Other Comprehensive Income (Loss), net of taxes and reclassification adjustments:
                        
Foreign Currency Translation Adjustments
     (537     (1,426     710  
Change in Value of Derivatives Designated as Cash Flow Hedge
                       (239
(Gains) Losses from Cash Flow Hedges Reclassified to Income Statement
     47       62       193  
Cross-Currency Interest Rate Swap Terminations
                       45  
    
 
 
   
 
 
   
 
 
 
Other Comprehensive Income (Loss)
     (490     (1,364     709  
    
 
 
   
 
 
   
 
 
 
Comprehensive Income
   $ 2,171     $ 5,065     $ 1,993  
    
 
 
   
 
 
   
 
 
 
See Notes to the Consolidated Financial Statements.
 
F-7

ASTRONOVA, INC.
CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS’ EQUITY
($ In Thousands)
 
 
 
Common Stock
 
 
Additional
Paid-in

Capital
 
 
Retained
Earnings
 
 
Treasury
Stock
 
 
Accumulated
Other
Comprehensive
Income (Loss)
 
 
Total
Shareholders’
Equity
 
 
 
Shares
 
 
Amount
 
Balance January 31, 2020
 
 
10,343,610
 
 
$
517
 
 
$
56,130
 
 
$
49,298
 
 
$
(33,477
 
$
(1,093
 
$
71,375
 
Share-Based Compensation
 
 
—  
 
 
 
—  
 
 
 
1,819
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
1,819
 
Employee Option Exercises
 
 
16,487
 
 
 
1
 
 
 
103
 
 
 
—  
 
 
 
  
 
 
 
—  
 
 
 
104
 
Restricted Stock Awards Vested, net
 
 
64,997
 
 
 
3
 
 
 
(3
 
 
—  
 
 
 
(111
 
 
—  
 
 
 
(111
Common Stock—Cash Dividend—$
0.07
per share
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
(497
 
 
—  
 
 
 
—  
 
 
 
(497
Net Income
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
1,284
 
 
 
—  
 
 
 
—  
 
 
 
1,284
 
Other Comprehensive Income
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
709
 
 
 
709
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
Balance January 31, 2021
 
 
10,425,094
 
 
$
521
 
 
$
58,049
 
 
$
50,085
 
 
$
(33,588
 
$
(384
 
$
74,683
 
Share-Based Compensation
 
 
—  
 
 
 
—  
 
 
 
1,493
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
1,493
 
Employee Option Exercises
 
 
14,371
 
 
 
1
 
 
 
156
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
157
 
Restricted Stock Awards Vested, net
 
 
126,939
 
 
 
6
 
 
 
(6
 
 
—  
 
 
 
(386
 
 
—  
 
 
 
(386
Net Income
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
6,429
 
 
 
—  
 
 
 
—  
 
 
 
6,429
 
Other Comprehensive Loss
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
(1,364
 
 
(1,364
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
Balance January 31, 2022
 
 
10,566,404
 
 
$
528
 
 
$
59,692
 
 
$
56,514
 
 
$
(33,974
 
$
(1,748
 
$
81,012
 
Share-Based Compensation
 
 
—  
 
 
 
—  
 
 
 
1,290
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
1,290
 
Employee Option Exercises
 
 
25,123
 
 
 
2
 
 
 
153
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
155
 
Restricted Stock Awards Vested, net
 
 
85,324
 
 
 
4
 
 
 
(4
 
 
—  
 
 
 
(261
 
 
—  
 
 
 
(261
Net Income
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
2,661
 
 
 
—  
 
 
 
—  
 
 
 
2,661
 
Other Comprehensive Loss
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
(490
 
 
(490
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
Balance January 31, 2023
 
 
10,676,851
 
 
$
534
 
 
$
61,131
 
 
$
59,175
 
 
$
(34,235
 
$
(2,238
 
$
84,367
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
See Notes to the Consolidated Financial Statements.
 
F-8

ASTRONOVA, INC.
CONSOLIDATED STATEMENTS OF CASH FLOWS
For the years ended January 31
(In Thousands)
 
 
  
2023
 
 
2022
 
 
2021
 
Cash Flows from Operating Activities:
  
 
 
Net Income
  
$
2,661
 
 
$
6,429
 
 
$
1,284
 
Adjustments to Reconcile Net Income to Net Cash (Used) Provided By Operating Activities:
  
 
 
 
 
 
 
 
 
 
 
 
Depreciation and Amortization
  
 
3,916
 
 
 
3,994
 
 
 
5,983
 
Amortization of Debt Issuance Costs
  
 
25
 
 
 
44
 
 
 
75
 
Share-Based Compensation
  
 
1,290
 
 
 
1,493
 
 
 
1,819
 
Loss on Disposal of Assets
  
 
—  
 
 
 
696
 
 
 
—  
 
Gain on Extinguishment of Debt
  
 
—  
 
 
 
(4,466
 
 
—  
 
Deferred Income Tax Provision (Benefit)
  
 
(1,336
 
 
210
 
 
 
(1,021
Changes in Assets and Liabilities, net of impact of acquisition:
  
 
 
 
 
 
 
 
 
 
 
 
Accounts Receivable
  
 
(1,234
 
 
77
 
 
 
2,702
 
Other Receivable – Employee Retention Credit Receivable
  
 
3,135
 
 
 
(3,135
 
 
—  
 
Inventories
  
 
(11,581
 
 
(4,883
 
 
4,247
 
Accounts Payable and Accrued Expenses
  
 
(3,236
 
 
4,052
 
 
 
(57
Income Taxes Payable
  
 
1,710
 
 
 
(2,043
 
 
1,482
 
Other
  
 
1,714
 
 
 
(1,074
 
 
(970
    
 
 
   
 
 
   
 
 
 
Net Cash Provided (Used) by Operating Activities
  
 
(2,936
 
 
1,394
 
 
 
15,544
 
    
 
 
   
 
 
   
 
 
 
Cash Flows from Investing Activities:
  
 
 
 
 
 
 
 
 
 
 
 
Cash Paid for Astro Machine Acquisition, net of cash acquired
  
 
(17,034
 
 
—  
 
 
 
—  
 
Additions to Property, Plant and Equipment
  
 
(229
 
 
(1,796
 
 
(2,587
    
 
 
   
 
 
   
 
 
 
Net Cash Used by Investing Activities
  
 
(17,263
 
 
(1,796
 
 
(2,587
    
 
 
   
 
 
   
 
 
 
Cash Flows from Financing Activities:
  
 
 
 
 
 
 
 
 
 
 
 
Net Cash Proceeds from Employee Stock Option Plans
  
 
85
 
 
 
60
 
 
 
9
 
Net Cash Proceeds from Share Purchases under Employee Stock Purchase Plan
  
 
70
 
 
 
96
 
 
 
95
 
Net Cash Used for Payment of Taxes Related to Vested Restricted Stock
  
 
(261
 
 
(386
 
 
(111
Net (Repayments)/Borrowings under Revolving Credit Facility
  
 
15,900
 
 
 
—  
 
 
 
(6,500
Payment of Minimum Guarantee Royalty Obligation
  
 
(2,000
 
 
(2,000
 
 
(2,000
Proceeds from Long-Term Debt – PPP Loan
  
 
—  
 
 
 
—  
 
 
 
4,422
 
Proceeds from Long-Term Debt Borrowings
  
 
6,000
 
 
 
10,000
 
 
 
15,232
 
Payoff of Long-Term Debt
  
 
—  
 
 
 
(12,576
 
 
(11,732
Principal Payments on Long-Term Debt
  
 
(1,000
 
 
(750
 
 
(3,958
Payments of Debt Issuance Costs
  
 
(39
 
 
—  
 
 
 
(100
Dividends Paid
  
 
—  
 
 
 
—  
 
 
 
(497
    
 
 
   
 
 
   
 
 
 
Net Cash Provided (Used) by Financing Activities
  
 
18,755
 
 
 
(5,556
 
 
(5,140
    
 
 
   
 
 
   
 
 
 
Effect of Foreign Exchange Rate Changes on Cash and Cash Equivalents
  
 
114
 
 
 
(205
 
 
(627
    
 
 
   
 
 
   
 
 
 
Net Increase (Decrease) in Cash and Cash Equivalents
  
 
(1,330
 
 
(6,163
 
 
7,190
 
Cash and Cash Equivalents, Beginning of Year
  
 
5,276
 
 
 
11,439
 
 
 
4,249
 
    
 
 
   
 
 
   
 
 
 
Cash and Cash Equivalents, End of Year
  
$
3,946
 
 
$
5,276
 
 
$
11,439
 
    
 
 
   
 
 
   
 
 
 
Supplemental Information:
  
 
 
 
 
 
 
 
 
 
 
 
Cash Paid During the Period for:
  
 
 
 
 
 
 
 
 
 
 
 
Interest
  
$
791
 
 
$
342
 
 
$
677
 
Income Taxes, Net of Refunds
  
$
311
 
 
$
2,414
 
 
$
446
 
Non-Cash Transactions:
                  
 
 
 
Reclassifcation of Inventories to Property, Plant and Equipment
  
$
348
 
 
$
—  
 
 
$
—  
 
Recognize intangible asset and royalty payable related to Honeywell Asset Purchase and License Agreement
 
$
530

 
 
$

 
 
$
 
See Notes to the Consolidated Financial Statements.
 
F-9
ASTRONOVA, INC.
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
January 31, 2023, 2022, and 2021
Note 1—Summary of Significant Accounting Policies
Basis of Presentation:
The accompanying financial statements and accompanying notes have been prepared by us pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (“SEC”) and are presented in conformity with U.S. generally accepted accounting principles (“U.S. GAAP”). Our fiscal year end is January 31. Unless otherwise stated, all years and dates refer to our fiscal year.
Principles of Consolidation:
The consolidated financial statements include the accounts of AstroNova, Inc. and its subsidiaries. All material intercompany accounts and transactions are eliminated in consolidation.
Reclassification:
Certain amounts in prior year’s financial statements have been reclassified to conform to the current year’s presentation.
Use of Estimates:
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 using information that is reasonably available to us at this time. Some of the more significant estimates relate to revenue recognition; the allowances for doubtful accounts; inventory valuation; income taxes; valuation of long-lived assets, intangible assets and goodwill; share-based compensation; and warranty reserves. Management’s estimates are based on the facts and circumstances available at the time estimates are made, historical experience, risk of loss, general economic conditions and trends, and management’s assessments of the probable future outcome of these matters, including our expectations at the time
regarding
the ongoing impact from the
COVID-19
pandemic. Consequently, actual results could differ from those estimates.
Cash and Cash Equivalents:
Highly liquid investments with an original maturity of 90 days or less are considered to be cash equivalents. At
January
 31, 2023 and 2022, $3.2 million and $3.7 million, respectively, was held in foreign bank accounts.
Inventories:
Inventories are stated at the lower of standard and average cost or net realizable value and include material, labor and manufacturing overhead.
Property, Plant and Equipment:
Property
, plant and equipment are stated at cost less accumulated depreciation. Depreciation is provided on the straight-line basis over the estimated useful lives of the assets (land improvements—10 to 20 years; buildings and leasehold improvements—10 to 45 years; machinery and equipment—3 to 10 years and
computer
equipment and software—3 to 10 years).
Revenue Recognition:
We recognize revenue in accordance with Accounting Standards Codification (“ASC”) 606 “Revenue from Contracts with Customers (“ASC 606”).” The core principle of ASC 606 is to recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC 606 defines a five-step process to recognize revenue and requires judgment and estimates within the revenue recognition process, including identifying contracts with customers, identifying performance obligations in the contract, determining and estimating the amount of any variable consideration to include in the transaction price and allocating the transaction price to each separate performance obligation and recognizing revenue when the entity satisfies each performance obligation.
The vast majority of our revenue is generated from the sale of distinct products. Revenue is measured as the amount of consideration we expect to receive in exchange for such products, which is generally at the contractually stated prices, and is recognized when we satisfy a performance obligation by transferring control of
 
F-10

a product to a customer. The transfer of control generally occurs at one point in time, upon shipment, when title and risk of loss pass to the customer. Returns and customer credits are infrequent and are recorded as a reduction to revenue. Sales taxes and value added taxes collected concurrently with revenue generating activities are excluded from revenue.
Many of the contracts entered into with customers are commonly comprised of a combination of equipment, supplies, installation and/or training services. We determine performance obligations by assessing whether the products or services are distinct from other elements of the contract. In order to be distinct, the product must perform either on its own or with readily available resources and must be separate within the context of the contract.
Most of our hardware products contain embedded operating systems and data management software which is included in the purchase price of the equipment. The software is deemed incidental to the systems as a whole, as it is not sold or marketed separately, and its production costs are minor compared to those of the hardware system. Hardware and software elements are typically delivered at the same time and are accounted for as a single performance obligation for which revenue is recognized at the point in time when ownership is transferred to the customer.
Installation and training services vary based on certain factors such as the complexity of the equipment, staffing availability in a geographic location and customer preferences, and can range from a few days to a few months. The delivery of installation and training services are not assessed to determine whether they are separate performance obligations, as the amounts are not material to the contract.
Shipping and handling activities that occur after control over a product has transferred to a customer are accounted for as fulfillment activities rather than performance obligations, as allowed under a practical expedient provided by ASC 606. The shipping and handling fees charged to customers are recognized as revenue and the related costs are included in cost of revenue at the point in time when ownership of the product is transferred to the customer.
We may perform services at the request of the customer, generally for the repair and maintenance of products previously sold. These services are short in duration and total approximately 5.0% and 4.4% of revenue for the years ended January 31, 2023 and 2022, respectively. Revenue is recognized as services are rendered and accepted by the customer. We also provide service agreements on certain of our Product Identification equipment. Service agreements are purchased separately from the equipment and provide for the right to obtain service and maintenance on the equipment for a period of typically one to two years. Accordingly, revenue on these agreements is recognized over the term of the agreements. The portion of service agreement contracts that are uncompleted at the end of any reporting period are included in deferred revenue.
We generally provide warranties for our products. The standard warranty period is typically 12 months for most hardware products except for airborne printers, which typically have warranties that extend for
3-5
years, consistent with industry practice. Such assurance-type warranties are not deemed to be separate performance obligations from the hardware product and costs associated with providing the warranties are accrued in accordance with ASC 450, “Contingencies,” as we have the ability to ascertain the likelihood of the liability and can reasonably estimate the amount of the liability. Our estimate of costs to service the warranty obligations is based on historical experience and expectations of future conditions. To the extent that our experience in warranty claims or costs associated with servicing those claims differ from the original estimates, revisions to the estimated warranty liability are recorded at that time, with an offsetting adjustment to cost of revenue. On occasion, customers request a warranty period longer than our standard warranty. In those instances, in which extended warranty services are separately quoted to the customer, an additional performance obligation is created, and the associated revenue is deferred and recognized as service revenue ratably over the term of the extended warranty period. The portion of service contracts and extended warranty services agreements that are uncompleted at the end of any reporting period are included in deferred revenue.
 
F-11

We recognize and subsequently amortize an asset for the incremental direct costs of obtaining a contract with a customer if we expect the benefit of those costs to be longer than one year (Refer to Note 3, “Revenue Recognition” included in our notes to the consolidated financial statement). We apply the practical expedient to expense costs incurred for costs to obtain a contract when the amortization period would have been less than a year. These costs include sales commissions paid to the internal direct sales team as well as to third-party representatives and distributors. Contractual agreements with each of these parties outline commission structures and rates to be paid. Generally speaking, the contracts are all individual procurement decisions by the customers and do not include renewal provisions and, as such, the majority of the contracts have an economic life of significantly less than a year.
Accounts Receivables and Allowance for Doubtful Accounts:
Standard payment terms are typically 30 days after shipment but vary by type and geographic location of our customer. Credit is extended based upon an evaluation of the customer’s financial condition. In circumstances where we are aware of a customer’s inability to meet its financial obligations, an allowance is established. The remainder of the allowance established is based on a variety of factors, including the age of amounts outstanding relative to their contractual due date, historical
write-off
experience and current market assessments. Accounts receivable are stated at their estimated net realizable value.
Business Combinations:
We account for business acquisitions under the acquisition method of accounting in accordance with ASC 805, ‘‘Business Combinations,’’ where the total purchase price is allocated to the tangible and identified intangible assets acquired and liabilities assumed based on their estimated fair values. The purchase price is allocated using the information currently available, and may be adjusted, up to one year from acquisition date, after obtaining more information regarding, among other things, asset valuations, liabilities assumed and revisions to preliminary estimates. The purchase price in excess of the fair value of the tangible and identified intangible assets acquired less liabilities assumed is recognized as goodwill. Determining the fair value of assets acquired and liabilities assumed requires management to use significant judgment and estimates, including the selection of valuation methodologies, estimates of future revenue, costs and cash flows, discount rates, and selection of comparable companies. Management’s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and unpredictable. As a result, actual results may differ from these estimates. During the measurement period, we may record adjustments to acquired assets and assumed liabilities, with corresponding offsets to goodwill. Upon the conclusion of a measurement period, any subsequent adjustments are recorded to earnings.
At the acquisition date, the Company measures the fair values of all assets acquired and liabilities assumed that arise from contractual contingencies. The Company also measures the fair values of all
non-contractual
contingencies if, as of the acquisitions date, it is more likely than not that the contingencies will give rise to assets or liabilities.
Acquisition related costs not considered part of the considerations are expensed as incurred and recorded in Acquisition costs within the consolidated statement of operations.
Research
and Development Costs:
We charge costs to expense in the period incurred, and these expenses are presented in the consolidated statement of income. The following costs are included in research and development expense: salaries and benefits, external engineering service costs, engineering related information costs and supplies.
Foreign Currency Translation:
The financial statements of foreign subsidiaries and branches are measured using the local currency as the functional currency. Foreign currency-denominated assets and liabilities are translated into U.S. dollars at
year-end
exchange rates with the translation adjustment recorded as a component of accumulated comprehensive income (loss) in shareholders’ equity. Revenues and expenses are translated at the average monthly exchange rates in effect during the related period. We do not provide for U.S. income taxes on foreign currency translation adjustments associated with our subsidiaries in Germany, Denmark and China since
 
F-12

their undistributed earnings are considered to be permanently invested. Included in our consolidated statements of income was a net transaction foreign exchange loss of $0.5 million and $0.3 million in fiscal 2022 and 2023, respectively, and a net transaction foreign exchange gain of $0.6 million in fiscal 2021.
Advertising:
We expense advertising costs as incurred. Advertising costs including advertising production, trade shows and other activities are designed to enhance demand for our products and amounted to approximately $1.6 million, $1.3 million, and $0.9 million in fiscal years 2023, 2022, and 2021, respectively.
Long-Lived Assets:
Long-lived assets to be held and used are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the projected undiscounted cash flows are less than the carrying value, then an impairment charge would be recorded for the excess of the carrying value over the fair value, as determined by the discounting of future cash flows. There were no impairment charges for our long-lived assets in fiscal years 2023, 2022, or 2021.
Intangible Assets:
Intangible assets include the value of customer and distributor relationships, trademarks and existing technology acquired in connection with business and asset acquisitions and are stated at cost (fair value at acquisition) less accumulated amortization. These intangible assets have a definite life and are amortized over the assets’ useful lives using a systematic and rational basis which is representative of the assets’ use. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. If necessary, an impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows used in determining the fair value of the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value. Fair value is generally determined using a discounted cash flow analysis. There were no impairment charges for our intangible assets in fiscal years 2023, 2022, or 2021.
Goodwill:
Goodwill represents the excess of the aggregate purchase price over the fair value of the net assets acquired in a purchase business combination. Management evaluates the recoverability of goodwill annually or more frequently if events or changes in circumstances, such as declines in revenue, earnings or cash flows, or material adverse changes in the business climate indicate that the carrying value of an asset might be impaired. Goodwill is tested for impairment at the reporting unit level. A reporting unit is an operating segment, or a business unit one level below an operating segment if discrete financial information for that business is prepared and regularly reviewed by segment management. However, components within an operating segment are aggregated as a single reporting unit if they have similar economic characteristics. We determined that each of our operating segments (Product Identification (“PI”) and Test & Measurement (“T&M”) represents a reporting unit for purposes of goodwill impairment testing.
The accounting guidance related to goodwill impairment testing allows for the performance of an optional qualitative assessment of whether it is more likely than not that the fair value of a reporting unit is less than its carrying value. Factors that management considers in this qualitative assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management and strategy and changes in the composition or carrying amount of net assets. If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying value, then a quantitative assessment is required for the reporting unit. Additionally, we can elect to forgo the qualitative assessment and perform the quantitative test. The quantitative assessment compares the fair value of the reporting unit with its carrying value. If the quantitative assessment is performed, we estimate the fair value of our reporting units using a blended income and market approach. The income approach is based on a discounted cash flow model and provides a fair value estimate based upon the reporting unit’s expected long-term operating cash flow performance. The market approach compares the reporting unit to publicly traded companies and transactions involving similar business, and requires the use of many assumptions and estimates including future revenue, expenses, capital expenditures, and working capital, as well as discount factors and
 
F-13

income tax rates. If the fair value of the reporting unit exceeds the carrying value of the net assets including goodwill assigned to that unit, goodwill is not impaired. If the carrying value of the reporting unit’s net assets including goodwill exceeds the fair value of the reporting unit, then we record an impairment charge based on that difference. We performed a qualitative assessment for our fiscal 2023 analysis of goodwill. Based on this assessment, management does not believe that it is more likely than not that the carrying values of the reporting units exceed their fair values. Accordingly, no quantitative assessment was performed. There were no impairment charges for our goodwill in fiscal years 2023, 2022, or 2021.
Leases:
We account for our leases in accordance with ASC 842, “Leases” (“ASC 842”). ASC 842 requires a lessee to recognize assets and liabilities on the balance sheet for all leases, with the result being the recognition of a right of use (“ROU”) asset and a lease liability. The lease liability is equal to the present value of the minimum lease payments for the term of the lease, including any optional renewal periods determined to be reasonably certain to be exercised, using a discount rate determined at lease commencement. This discount rate is the rate implicit in the lease, if known; otherwise, the incremental borrowing rate for the expected lease term is used. Our incremental borrowing rate approximates the rate we would have to pay to borrow on a collateralized basis over a similar term at lease inception. The value of the ROU asset is equal to the initial measurement of the lease liability plus any lease payments made to the lessor at or before the commencement date and any unamortized initial direct costs incurred by the lessee, less any unamortized lease incentives received. Several of our lease contracts include options to extend the lease term and we include the renewal options for these leases in the determination of the ROU asset and lease liability when the likelihood of renewal is determined to be reasonably certain.
We enter into lease contracts for certain of our facilities at various locations worldwide. At inception of a contract, we determine whether the contract is or contains a lease. If we have a right to obtain substantially all of the economic benefits from the use of the identified asset and the right to direct the use of the asset, then the contract contains a lease.
There are two types of leases, operating leases and finance leases. Lease classification is determined at lease commencement. We have made an accounting policy election to apply the short-term exception, which does not require the capitalization of leases with terms of 12 months or less. All of our leases are classified as operating leases. Operating lease expense is recognized on a straight-line basis over the lease term and included in general and administrative expense on the consolidated statement of income. ROU assets are classified as such on the consolidated balance sheet, short-term lease liabilities are classified in accrued expenses, and long-term lease liabilities are classified as such in the consolidated balance sheet. In the statement of cash flow, payments for operating leases are classified as operating activities.
In addition, several of our lease agreements include
non-lease
components for items such as common area maintenance and utilities which are accounted for separately from the lease component.
Income Taxes:
We use the liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on the differences between the financial reporting basis and tax basis of the assets and liabilities and are measured using statutory tax rates that will be in effect when the differences are expected to reverse. Our deferred taxes are presented as
non-current
in the accompanying consolidated balance sheet. An allowance against deferred tax assets is recognized when it is
more-likely-than-not
that some portion or all of the deferred tax assets will not be realized. At January 31, 2023, a valuation allowance was provided for deferred tax assets attributable to certain domestic R&D, foreign tax credit carryforwards and China net operating losses, all of which are expected to expire unused. At January 31, 2022, a valuation allowance was provided for deferred tax assets attributed to certain domestic R&D and foreign tax credit carryforwards.
We account for uncertain tax positions in accordance with the guidance provided in ASC 740, “Accounting for Income Taxes.” This guidance describes a recognition threshold and measurement attribute for the financial statement disclosure of tax positions taken or expected to be taken in a tax return and requires recognition of tax
 
F-14

benefits that satisfy a
more-likely-than-not
threshold. ASC 740 also provides guidance on
de-recognition,
classification, interest and penalties, accounting in interim periods and disclosure.
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was signed into law. The legislation had sweeping effects including various types of economic relief for impacted businesses and industries. One such relief provision was the Paycheck Protection Program, which provided short-term cash flow assistance to finance employee payroll and qualified expenses. On May 6, 2020, we entered into a loan agreement with, and executed a promissory note in favor of Greenwood Credit Union (“Greenwood”) pursuant to which we borrowed
 $4.4
million (the “PPP Loan”). On December 27, 2020, the Consolidated Appropriations Act, 2021, H.R. 133 was signed into law. The legislation permits the deductibility of expenses to the extent that the payment of such expenses results (or is expected to result) in the forgiveness of a loan (covered loan) guaranteed under the Paycheck Protection Program. We have fully utilized the PPP Loan proceeds for qualifying expenses and applied for forgiveness
of the PPP Loan. Consistent with the legislation, we deducted the full
 $4.4 million of qualified expenses on our 2020 federal tax return. On June 15, 2021, Greenwood notified us that the United States Small Business Administration (the “SBA”) approved our application for forgiveness of the entire $4.4 million principal balance of our PPP Loan and all accrued interest thereon. As a result, in the second quarter of fiscal 2022, we recorded a
$4.5 million gain on extinguishment of debt. The PPP loan forgiveness is excluded from taxable income under Section 1106(i) of the CARES Act.
Net Income Per Common Share:
Basic net income per share is based on the weighted average number of shares outstanding during the period. Diluted net income per share is based on the basic weighted average number of shares and potential common equivalent shares for stock options, restricted stock awards and restricted stock units outstanding during the period using the treasury stock method. In fiscal years 2023, 2022, and 2021, there were 685,667; 345,085; and 642,623, respectively, common equivalent shares that were not included in the computation of diluted net income per common share because their inclusion would be anti-dilutive.
Fair Value Measurement:
We measure our assets and liabilities at fair value on a recurring and
non-recurring
basis in accordance with the guidance provided in ASC 820, “Fair Value Measurement and Disclosures,” which defines fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. In addition, ASC 820 establishes a three-tiered hierarchy for inputs used in management’s determination of fair value of financial instruments that emphasizes the use of observable inputs over the use of unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that reflect management’s belief about the assumptions market participants would use in pricing a financial instrument based on the best information available in the circumstances.
The fair value hierarchy is summarized as follows:
 
   
Level 1—Quoted prices in active markets for identical assets or liabilities;
 
   
Level 2—Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and
 
   
Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities
Cash and cash equivalents, accounts receivable, accounts payable, accrued compensation, other accrued expenses and income tax payable are reflected in the consolidated balance sheet at carrying value, which approximates fair value due to the short-term nature of these instruments.
 
F-15

Self-Insurance:
We are self-insured for U.S. medical and dental benefits for qualifying employees and maintain stop-loss coverage from a third party which limits our exposure to large claims. We record a liability associated with these benefits that includes an estimate of both claims filed and losses incurred but not yet reported based on historical claims experience. In estimating this accrual, we utilize an independent third-party broker to estimate a range of expected losses, which are based on analyses of historical data. Assumptions are closely monitored and adjusted when warranted by changing circumstances. Our liability for self-insured claims is included within accrued compensation in our consolidated balance sheets and was
$0.3 million and $0.2 million at January 31, 2023 and 2022, respectively.
Share-Based Compensation:
Compensation expense for time-based restricted stock units is measured at the grant date and recognized ratably over the vesting period. We determine the fair value of time-based and performance-based restricted stock units based on the closing market price of our common stock on the grant date. The recognition of compensation expense associated with performance-based restricted stock units requires judgment in assessing the probability of meeting the performance goals, as well as defined criteria for assessing achievement of the performance-related goals. For purposes of measuring compensation expense, the number of shares ultimately expected to vest is estimated at each reporting date based on management’s expectations regarding the relevant performance criteria. The performance shares begin vesting only upon the achievement of the performance criteria. The achievement of the performance goals can impact the valuation and associated expense of the restricted stock units. The assumptions used in accounting for the share-based payment awards represent management’s best estimates, but these estimates involve inherent uncertainties and the application of management judgment. As a result, if circumstances change and we use different assumptions, our stock-based compensation expense could be materially different in the future.
Share-based compensation becomes deductible for determining income taxes when the related award vests, is exercised, or is forfeited depending on the type of share-based award and subject to relevant tax law.
Derivative Financial Instruments:
We occasionally use derivative instruments as part of our overall strategy to manage exposure to market risks primarily associated with fluctuations in foreign currency exchange rates and interest rates. Derivative instruments are recognized as either assets or liabilities in the balance sheet at fair value. The accounting for changes in the fair value (i.e., gains or losses) of a derivative instrument depends on whether it has been designated and qualifies as part of a hedging relationship and, further, on the type of hedging relationship. For derivative instruments not designated as hedging instruments, the gain or loss is recognized in the statement of income during the current period. For those derivative instruments that are designated and qualify as hedging instruments, a company must designate the hedging instrument, based upon the exposure being hedged, as a fair value hedge, cash flow hedge, or a hedge of a net investment in a foreign operation.
For derivative instruments that are designated and qualify as a cash flow hedge, the gain or loss on the derivative instrument is reported as a component of other comprehensive income/(loss) and reclassified into earnings in the same line item associated with the forecasted transaction, and in the same period or periods during which the hedged transaction affects earnings (e.g., in “Interest Expense” when the hedged transactions are interest cash flows associated with floating-rate debt, or “Other, Net” for portions reclassified relating to the remeasurement of the debt). The remaining gain or loss on the derivative instrument in excess of the cumulative change in the present value of future cash flows of the hedged item, if any, are recognized in the statement of income during the current period.
Recent Accounting Pronouncements
There were no new accounting pronouncements, issued or effective during fiscal 2023, that have had or are expected to have a material impact on our consolidated financial statements.
 
F-16

Note 2 – Acquisitions
Astro Machine
On August 4, 2022, we acquired Astro Machine LLC (“Astro Machine”), an Illinois-based manufacturer of printing equipment, including label printers, tabbers, conveyors, and envelope feeders, for aggregate consideration of $17.1 million.
The acquisition was accomplished pursuant to an Equity Interest Purchase Agreement dated as of August 4, 2022 (the “Purchase Agreement”) by and among us, GSND Holding Corporation (“GSND”), the parent company of Astro Machine, and Astro Machine. Pursuant to the Purchase Agreement, we purchased 100% of the issued and outstanding equity interests of Astro Machine from GSND for a purchase price of $15.6 million. The acquisition was funded using borrowings under our credit facility. We obtained a representation and warranty insurance policy and placed $300,000 of the purchase price into an escrow account, which pursuant to the terms and conditions of the Purchase Agreement, are our sole recourse for breaches of representations and warranties by GSND. Upon the closing of the transaction, Astro Machine became a wholly owned subsidiary of AstroNova, Inc.
Concurrently with the signing of the Purchase Agreement, our newly acquired subsidiary, Astro Machine, entered into a Purchase and Sale Agreement with Selak Real Estate Limited Partnership (“SRE”), pursuant to which Astro Machine purchased certain real property assets of SRE for a purchase price, paid in cash, of $1.5 million. These real estate assets are comprised of a 34,460 square foot industrial manufacturing building (including offices) on 1.26 acres of land, which is Astro Machine’s principal place of business.
This transaction is a business combination and was accounted for using the acquisition method of accounting prescribed by ASC 805, “Business Combinations” (“ASC 805”), whereby the results of operations, including the revenues and earnings of Astro Machine, are included in our financial statements from the date of acquisition. The purchase price of Astro Machine was allocated to the tangible and intangible assets acquired and liabilities assumed and recognized at their fair value based on widely accepted valuation techniques in accordance with ASC 820, “Fair Value Measurement,” as of the acquisition date. The process for estimating fair values requires the use of significant estimates, assumptions and judgments, including determining the timing and estimates of future cash flows and developing appropriate discount rates. The excess of the purchase price over the fair value of the net identified assets acquired and liabilities assumed was recorded as goodwill. ASC 805 establishes a measurement period to provide companies with a reasonable amount of time to obtain the information necessary to identify and measure various items in a business combination and cannot extend beyond one year from the acquisition date.
We completed our final fair value determination of the assets acquired and liabilities assumed during the fourth quarter of fiscal 2023. Since the initial preliminary estimates reported in the third quarter of fiscal 2023, we have adjusted certain amounts for the fair value of the assets acquired and liabilities assumed as a result of obtaining additional information that allowed us to determine the final purchase price allocation, as summarized in the table below. Measurement period adjustments were recognized in the reporting period in which the adjustments were determined and calculated as if the accounting had been completed at the acquisition date.
Total acquisition-related costs of $0.7 million are included in the general and administrative expenses in our consolidated statement of income for the year ended January 31, 2023.
 
F-17

The following table sets forth the final purchase price allocation of the Astro Machine acquisition for the estimated fair value of the net asset acquired and liabilities assumed as of the date of acquisition:
 
(In thousands)

 
 
 
 
Cash
   $ 91  
Accounts Receivable
     3,393  
Inventory
     5,715  
Property, Plant and Equipment
     4,200  
Identifiable Intangible Assets
     3,480  
Goodwill
     2,730  
Accounts Payable and Other Current Liabilities
     (2,484
    
 
 
 
Total Purchase Price
   $ 17,125  
The fair value of the intangible assets acquired was estimated by applying the income approach. This fair value measurement is based on significant inputs that are not observable in the market and therefore represent a Level 3 measurement as defined in ASC 820, “Fair Value Measurement.” Key assumptions in estimating the fair value of the intangibles include (1) remaining useful life of the tradename/trademarks and customer relations (2) the royalty rate of 0.75%, (3) customer attrition rate of 18.0%, (4) discount rate of 19.0% and (5) a range of revenue and net income projections for the fiscal years 2023-2026.
The following table sets forth the fair value of the acquired identifiable intangible assets and related estimated useful lives:
 
(In thousands)   
Fair
Value
 
  
Useful Life
(
y
ears)
 
Customer Relations
   $ 3,060        5  
Trademarks/Tradenames
     420        5  
    
 
 
          
Total
   $ 3,480           
    
 
 
          
The Customer Relations intangible asset represents the relationships that will be maintained with certain historical customers of Astro Machine. The trademark/tradename intangible assets reflect the industry reputation of the Astro Machine name recognition and the registered trademarks for the use of several marks and logos held by Astro Machine.
Goodwill of $2.73 million, which is not deductible for tax purposes, represents the excess of the purchase price over the estimated fair value assigned to the tangible and identifiable intangible assets acquired and liabilities assumed from Astro Machine. The goodwill recognized under ASC 805 is attributable to synergies which are expected to enhance and expand our overall product portfolio, opportunities in new and existing markets, future technologies that have yet to be determined and Astro Machine’s assembled work force. The carrying amount of the goodwill was allocated to the Product Identification (“PI”) segment.
The amounts of revenue and earnings before taxes included in our consolidated statement of income from the period August 4, 2022 (acquisition date) through January 31, 2023 are as follows:
 
(In thousands)
  
2023
 
Revenue
   $ 12,515  
Earnings before Taxes
     1,571  
Astro Machine results are reported as part of the PI segment. Proforma results are not provided, as disclosure of such amounts was impractical to determine as the acquired business had insufficient financial records and no audit
history prior to the transaction.
 
F-18

Honeywell Asset Purchase and License Agreement
On June 30, 2022, AstroNova Inc. entered into an Asset Purchase and License Agreement with Honeywell Inc. (“New HW Agreement”) to acquire an exclusive, perpetual, world-wide license to manufacture Honeywell’s flight deck printers for the Boeing 787 aircraft.    The New HW Agreement provides for royalty payments to Honeywell based on gross revenues from the sales of the printers, paper and repair services of the licensed products in perpetuity. The royalty rates vary based on the year in which they are paid or earned and as products are sold or as services provided and range from single-digit to
mid-double-digit
percentages of gross revenue. The New HW Agreement included a provision for guaranteed minimum royalty payments to be paid in the event that the royalties earned by Honeywell do not meet the minimum for the preceding calendar year as follows: $100,000 in 2024, $200,000 in 2025, $233,000 in 2026 and 2027, and $234,000 in 2028.

This transaction was evaluated under ASC 805, “Business Combinations,” and was accounted for as an asset acquisition.

The purchase price was allocated to the customer relationship intangible, which was the only asset acquired as a result of this transaction. This asset will be amortized over the useful life of the intangible. The minimum royalty payment obligation and related customer relation intangible were recorded at the present value of the minimum royalty payments.
The acquired identifiable intangible asset is as follows:
 
(In thousands)
  
Fair
Value
 
  
Useful Life
(Years)
 
Customer Contract Relationships
  
$
530
 
  
 
20
 
The minimum royalty payment due was discounted based on the payment schedule and applicable discount rate, resulting in an outstanding royalty obligation of $0.5 million as of January 31, 2023, including $0.1 million recorded as a current liability.
Additional royalties based on sales activity will be recorded in the period that the associated revenue is earned. During the fourth quarter of 2023, we incurred $0.1 million
in e
xcess royalty expense, which is included in cost of revenue in our consolidated statement of income for the year ended January 31, 2023.
Note 3—Revenue Recognition
We derive revenue from the sale of (i) hardware including, digital color la
be
l printers and specialty OEM printing systems, portable data acquisition systems and airborne printers used in the flight deck and interior of commercial, business and military aircraft, (ii) related consumable supplies including paper, labels, tags, inks, toners and ribbons, (iii) repairs and maintenance of equipment and (iv) service agreements
.
Revenues disaggregated by primary geographic markets and major product types are as follows:
Primary geographical markets:

(In thousands)   
2023
    
2022
    
2021
 
United States
   $ 91,917      $ 68,185      $ 70,911  
Europe
     31,021        31,922        29,029  
Canada
     8,393        6,519        5,574  
Asia
     5,345        5,926        5,105  
Central and South America
     4,589        3,271        3,950  
Other
     1,262        1,657        1,464  
    
 
 
    
 
 
    
 
 
 
Total Revenue
   $ 142,527      $ 117,480      $ 116,033  
    
 
 
    
 
 
    
 
 
 
 
F-19

Major product types:
 
(In thousands)   
2023
    
2022
    
2021
 
Hardware
   $ 42,445      $ 31,492      $ 34,111  
Supplies
     82,072        73,244        71,772  
Service and Other
     18,010        12,744        10,150  
    
 
 
    
 
 
    
 
 
 
Total Revenue
   $ 142,527      $ 117,480      $ 116,033  
    
 
 
    
 
 
    
 
 
 
In December 2022, we entered into an amended contract with one of our T&M customers that provided for a total payment of $3.25
 million to be received as a result of our claims allowable under French law relating to additional component costs we have incurred and will continue to incur in order to supply aerospace printers under the contract for the period beginning in April 2022 and continuing through 2025. As of January 31, 2023, $
1.1 million was recognized as revenue in the consolidated income statement for the period ended January 31, 2023, in proportion to the total estimated shipments through the end of the contract period. The balance is recorded within deferred revenue, both current and
non-current,
and will be recognized into revenue based on shipments made of the printers during fiscal years 2024 and 2025.
Contract Assets and Liabilities
We normally do not have contract assets, which are primarily unbilled accounts receivable that are conditional on something other than the passage of time.
Our contract liabilities, which represent billings in excess of revenue recognized, are related to advanced billings for purchased service agreements and extended warranties. Contract liabilities were $412,000 and $262,000 at January 31, 2023 and January 31, 2022, respectively, and are recorded as current deferred revenue in the accompanying consolidated balance sheet. The decrease in the deferred revenue balance during the year ended January 31, 2023 is primarily due to $248,000 of revenue recognized during the period that was included in the deferred revenue balance at January 31, 2023 offset by cash payments received in advance of satisfying performance obligations.
Contract Costs
We have determined that certain costs related to obtaining sales contracts for our aerospace printer products meet the requirement to be capitalized. In the second quarter of fiscal 2022, we extended the remaining useful life of these deferred costs from 6 years to 20 years and changed the amortization method from units sold to the straight-line method. We believe these changes, based on
the life of the aircraft under the applicable sales contracts, appropriately reflects a more systematic and rational approach. This change was treated as a change in
 
accounting estimate that is affected by a change in accounting principle. The impact on net income was immaterial for the period ended January 
31
,
2022
. The balance of these contract assets at
January 31, 2022
, was $
1.3
 million, and in the first quarter of fiscal
2023
we incurred an additional $
0.1
 million in contract costs that will be amortized over
19
years. For the years ended January 
31
,
2023
,
2022
and
2021
, we amortized contract costs of $
75,000
, $
60,000
and $
27,000
, respectively. The balance of deferred incremental direct costs net of accumulated amortization at January 
31
,
2023
, was $
1.4
 million, of which $
0.1
 million is reported in other current assets and $
1.3
 million is reported in ot
her as
sets in the accompanying consolidated balance sheet.
 
F-20

Note 4—Intangibl
e
Assets
Intangible assets are as follows:
 
 
 
January 31, 2023
 
 
January 31, 2022
 
(In thousands)
 
Gross
Carrying
Amount
 
 
Accumulated
Amortization
 
 
Currency
Translation
Adjustment
 
 
Net
Carrying
Amount
 
 
Gross
Carrying
Amount
 
 
Accumulated
Amortization
 
 
Currency
Translation
Adjustment
 
 
Net
Carrying
Amount
 
Miltope:
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
$
3,100
 
 
$
(2,777
 
$
—  
 
 
$
323
 
 
$
3,100
 
 
$
(2,515
 
$
—  
 
 
$
585
 
RITEC:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
 
2,830
 
 
 
(1,623
 
 
—  
 
 
 
1,207
 
 
 
2,830
 
 
 
(1,557
 
 
—  
 
 
 
1,273
 
TrojanLabel:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Existing Technology
 
 
2,327
 
 
 
(2,087
 
 
94
 
 
 
334
 
 
 
2,327
 
 
 
(1,767
 
 
127
 
 
 
687
 
Distributor Relations
 
 
937
 
 
 
(588
 
 
27
 
 
 
376
 
 
 
937
 
 
 
(498
 
 
46
 
 
 
485
 
Honeywell:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
 
27,773
 
 
 
(11,913
 
 
—  
 
 
 
15,860
 
 
 
27,243
 
 
 
(11,073
 
 
—  
 
 
 
16,170
 
Astro Machine:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
 
3,060
 
 
 
(306
 
 
—  
 
 
 
2,754
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
Trademarks
 
 
420
 
 
 
(42
 
 
—  
 
 
 
378
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
Intangible Assets, net
 
$
40,447
 
 
$
(19,336
 
$
121
 
 
$
21,232
 
 
$
36,437
 
 
$
(17,410
 
$
173
 
 
$
19,200
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
In the second quarter of 2022, we extended the remaining useful life of the pre-existing customer contract relationship intangibles for Honeywell International, Inc. (“Honeywell”) from
6 years to 20 years and for the RITEC intangibles we changed the amortization method which was based on revenue with a remaining life of 4 years to the straight-line method with a
20-year
remaining life. We believe these changes, based on the life of the aircraft related to these intangibles, appropriately reflects a more systematic and rational approach to distributing the cost of these intangibles over their useful lives. The change in the amortization of the Honeywell customer contract relationship intangibles is being treated as a change in accounting estimate in 2022 and the change in the amortization of the RITEC customer contract relationship intangibles is being treated as a change in accounting estimate in 2022 that is effected by a change in accounting principle. The changes in amortization resulted in a $1.8 million decrease in amortization expense and a $1.8 million increase to net income for the period ended January 31, 2022.
There were no impairments to intangible assets during the periods ended January 31, 2023 and 2022. Amortization expense of $1.9 million, $2.2 million, and $4.1 million with regard to acquired intangibles has been included in the consolidated statements of income for the years ended January 31, 2023, 2022 and 2021, respectively.
Estimated amortization expense for the next
five
fiscal years is as follows:
 
(In thousands)   
2024
    
2025
    
2026
    
2027
    
2028
 
Estimated amortization expense
   $ 2,378      $ 1,719      $ 1,718      $ 1,7192      $ 1,281  

F-21

Note 5—Inventories
The components of invento
ries
are as follows:
 
    
January 31,
 
    
2023
    
2022
 
(In thousands)              
Materials and Supplies
   $ 38,387      $ 22,709  
Work-in-Progress
     1,146        1,489  
Finished Goods
     23,221        19,718  
    
 
 
    
 
 
 
       62,754        43,916  
Inventory Reserve
     (11,430      (9,307
    
 
 
    
 
 
 
     $ 51,324      $ 34,609  
    
 
 
    
 
 
 
Finished goods inventory includes $2.3 million and $3.4 million of demonstration equipment at January 31, 2023 and 2022, respectively.
Note 6—Property, Plant and Equipment
Property, plant and equipment consist of the following:
 
    
January 31,
 
    
2023
    
2022
 
(In thousands)              
Land and Land Improvements
   $ 2,304      $ 1,004  
Buildings and Leasehold Improvements
     14,158        12,666  
Machinery and Equipment
     24,960        23,238  
Computer Equipment and Software
     13,972        13,913  
    
 
 
    
 
 
 
Gross Property, Plant and Equipment
     55,394        50,821  
Accumulated Depreciation
     (41,106      (39,380
    
 
 
    
 
 
 
Net Property Plant and Equipment
   $ 14,288      $ 11,441  
    
 
 
    
 
 
 
Depreciation expense on property, plant and equipment was $2.0 million for the year ended January 31, 2023 and $1.7 million and $1.9 million for the years ended January 31, 2022 and 2021, respectively.
During fiscal 2022, we
wrote-off
our Oracle EnterpriseOne enterprise resource planning (“ERP”) system due to the full implementation of a new ERP system in our US operations. The book value and related accumulated depreciation of the Oracle EnterpriseOne ERP system along with the balance of the related prepaid service and maintenance contracts were removed from the accompanying consolidated balance sheet at January 31, 2022, and we have recorded a net loss on the disposal of $696,000, which is included in other income (expense) in the accompanying consolidated income statement for the year ended January 31, 2022.
 
F-22

Note 7—Accrued Expenses
Accrued expenses consist of the following:

 
  
January 31,
 
(In thousands)   
2023
    
2022
 
Warranty
   $ 1,072      $ 834  
Professional Fees
     311        411  
Freight
               347  
Lease Liability
     275        327  
Accrued Property & Sales Tax
     187        316  
Stockholder Relation Fees
     86        102  
Dealer Commissions
     78        139  
Other Accrued Expenses
     1,299        1,637  
    
 
 
    
 
 
 
     $ 3,308      $ 4,113  
    
 
 
    
 
 
 
Note 8—Credit Agreement and Long-Term Debt
Credit Agreement
In connection with the purchase of Astro Machine, on August 4, 2022, we entered into a Second Amendment to Amended and Restated Credit Agreement (the “Second Amendment”) with Bank of America, N.A., as lender (the “Lender”). The Second Amendment amended the Amended and Restated Credit Agreement dated as of July 30, 2020, as amended by the First Amendment to Amended and Restated Credit Agreement, dated as of March 24, 2021, and the LIBOR Transition Amendment, dated as of December 24, 2021 (the “Existing Credit Agreement,” and the Existing Credit Agreement as amended by the Second Amendment, the “Amended Credit Agreement”), between the Company and the Lender.
The Amended Credit Agreement provides for (i) a new term loan in the principal amount of $6.0 million, which term loan was in addition to the existing term loan outstanding under the Existing Credit Agreement in the principal amount of $9.0 million as of the effective date of the Second Amendment, and (ii) an increase in the aggregate principal amount of the revolving credit facility available thereunder from $22.5 million to $25.0 million. At the closing of the Second Amendment, we borrowed the entire $6.0 million term loan and $12.4 million under the revolving credit facility, and the proceeds of such borrowings were used in part to pay the purchase price payable under the Purchase Agreement and certain related transaction costs. The revolving credit facility may otherwise be used for corporate purposes.
The Amended Credit Agreement requires that the term loan be paid in quarterly installments on the last day of each of our fiscal quarters over the term of the Amended Credit Agreement on the following repayment schedule: the principal amount of each quarterly installment required to be paid on the last day of each of our fiscal quarters ending on or about October 31, 2022 through July 31, 2023 is $375,000; and the principal amount of each quarterly installment required to be paid on the last day of each of our fiscal quarters ending on or about October 31, 2023 through April 30, 2027 is $675,000. The entire remaining principal balance of the term loan is required to be paid on August 4, 2027. We may voluntarily prepay the term loan, in whole or in part, from time to time without premium or penalty (other than customary breakage costs, if applicable). We may repay borrowings under the revolving credit facility at any time without premium or penalty (other than customary breakage costs, if applicable), but in any event no later than August 4, 2027, and any outstanding revolving loans thereunder will be due and payable in full, and the revolving credit facility will terminate, on such date. We may reduce or terminate the revolving line of credit at any time, subject to certain thresholds and conditions, without premium or penalty.
The interest rates under the Amended Credit Agreement are as follows: the term loan and revolving credit loans bear interest at a rate per annum equal to, at our option, either (a) the BSBY Rate as defined in the
 
F-23

Amended Credit Agreement (or, in the case of revolving credit loans denominated in a currency other than U.S. Dollars, the applicable quoted rate), plus a margin that varies within a range of 1.60% to 2.50% based on our consolidated leverage ratio, or (b) a fluctuating reference rate equal to the highest of (i) the federal fund rate plus 0.50%, (ii) Bank of America’s publicly announced prime rate, (iii) the BSBY Rate plus 1.00%, or (iv) 0.50%, plus a margin that varies within a range of 0.60% to 1.50% based on our consolidated leverage ratio. In addition to certain other fees and expenses that we are required to pay to the Lender, we are required to pay a commitment fee on the undrawn portion of the revolving credit facility that varies within a range of 0.15% and 0.35% based on our consolidated leverage ratio. The loans under the Amended Credit Agreement are subject to certain mandatory prepayments, subject to various exceptions, from (a) net cash proceeds from certain dispositions of property, (b) net cash proceeds from certain issuances of equity, (c) net cash proceeds from certain issuances of additional debt and (d) net cash proceeds from certain extraordinary receipts.
Amounts repaid under the revolving credit facility may be reborrowed, subject to our continued compliance with the Amended Credit Agreement. No amount of the term loan that is repaid may be reborrowed.
We must comply with various customary financial and
non-financial
covenants under the Amended Credit Agreement. The financial covenants under the Amended Credit Agreement consist of a maximum consolidated leverage ratio, a minimum consolidated fixed charge coverage ratio and a minimum consolidated asset coverage ratio. The primary
non-financial
covenants limit our and our subsidiaries’ ability to incur future indebtedness, to place liens on assets, to pay dividends or distributions on our or our subsidiaries’ capital stock, to repurchase or acquire our or our subsidiaries’ capital stock, to conduct mergers or acquisitions, to sell assets, to alter our or our subsidiaries’ capital structure, to make investments and loans, to change the nature of our or our subsidiaries’ business, and to prepay subordinated indebtedness, in each case subject to certain exceptions and thresholds as set forth in the Amended Credit Agreement, certain of which provisions were modified by the Second Amendment. As of January 31, 2023, we believe we are in compliance with all of the covenants in the Credit Agreement.
The Lender is entitled to accelerate repayment of the loans and to terminate its revolving credit commitment under the Amended Credit Agreement upon the occurrence of any of various customary events of default, which include, among other events, the following (which are subject, in some cases, to certain grace periods): failure to pay when due any principal, interest or other amounts in respect of the loans, breach of any of our covenants or representations under the loan documents, default under any other of our or our subsidiaries’ significant indebtedness agreements, a bankruptcy, insolvency or similar event with respect to us or any of our subsidiaries, a significant unsatisfied judgment against us or any of our subsidiaries, or a change of control.
Our obligations under the Amended Credit Agreement continue to be secured by substantially all of our personal property assets (including a pledge of the equity interests we hold in ANI ApS, AstroNova GmbH and AstroNova SAS), subject to certain exceptions, and by a mortgage on our owned real property in West Warwick, Rhode Island, and are guaranteed by, and secured by substantially all of the personal property assets of Astro Machine.
Summary of Outstanding Debt
Revolving Credit Facility
During fiscal 2023 we borrowed a net of $15.9 million on our revolving line of credit. The balance outstanding under the revolving line of credit bore interest at a weighted average rate of 6.71% and 4.10% for the years ended January 31, 2023 and January 31, 2022, respectively, and we incurred $752,000 and $4,000 for interest on this obligation during the years ended January 31, 2023 and January 31, 2022, respectively. Commitment fees on the undrawn portion of our revolving credit facility of $30,000 and $50,000 were incurred for the yea
rs ended January 31
, 2023
and January 31
, 2022
, respectively. Both the interest expense and commitment fees are included as interest expense in the accompanying consolidated income statement for all periods presented. At January 31
, 2023
, $
9.1
 million remains available for borrowing under our revolving line of credit.
 
F-24

Long-Term Debt
Long-term debt in the accompanying condensed consolidated balance sheets under the Amended Credit Agreement is as follows:
 
    
January 31,
 
(In thousands)   
2023
    
2022
 
USD Term Loan (6.78% as of January 31, 2023); maturity date of August 4, 2027
   $ 14,250      $     
USD Term Loan (2.35% as of January 31, 2022); maturity date of September 30, 2025
             $ 9,250  
    
 
 
    
 
 
 
       14,250        9,250  
Debt Issuance Costs, net of accumulated amortization
     (110      (96
Current Portion of Term Loan
     (2,100      (1,000
    
 
 
    
 
 
 
Long-Term Debt
   $ 12,040      $ 8,154  
    
 
 
    
 
 
 
During the years ended January 31, 2023, 2022 and 2021, we recognized $0.6 million, $0.3 million and $0.5 million of interest expense on our long-term debt, respectively, which was included in interest expense in the accompanying consolidated income statement for all periods presented.
The schedule of required principal payments remaining on our long-term debt outstanding as of January 31, 2023 is as follows:
 
(In thousands)       
Fiscal 2024
   $ 2,100  
Fiscal 2025
     2,700  
Fiscal 2026
     2,700  
Fiscal 2027
     2,700  
Fiscal 2028
     4,050  
    
 
 
 
     $ 14,250  
    
 
 
 
Note 9—Paycheck Protection Program Loan
On May 6, 2020, we entered into a loan agreement with, and executed a promissory note in favor of Greenwood pursuant to which we borrowed $4.4 million (the “PPP Loan”) from Greenwood under the Paycheck Protection Program (“PPP”) administered by the SBA and authorized by the CARES Act.
The PPP Loan, originally scheduled to mature on May 6, 2022, was unsecured and bore interest at a rate of 1.0% per annum, accruing from the loan date.
On June 15, 2021, Greenwood notified us that the SBA approved our application for forgiveness of the entire $4.4 million principal balance of our PPP Loan and all accrued interest thereon. As a result, in the second quarter of fiscal 2022, we recorded a $4.5 million gain on extinguishment of debt, which is included in the accompanying consolidated income statement for the period ended January 31,
2022.
Note 10—Derivative Financial Instruments and Risk Management
In 2017, we entered into a cross-currency interest rate swap and an interest rate swap to manage the interest rate risk.
 
F-25

On July 30, 2020, we terminated these two swaps. The terms of the Amended and Restated Credit Agreement dated as of July 30, 2020, caused those swaps to cease to be effective hedges of the underlying exposures. The termination of the swaps was contracted immediately prior to the end of the second quarter of fiscal 2021 at a cash cost of approximately $0.7 million which was settled in the third quarter of fiscal 2021. Upon termination, the remaining balance of $58,000 in accumulated other comprehensive loss related to the cross-currency interest rate swap was reclassified into earnings as the forecasted foreign currency interest payments will not occur.
The $0.2 million remaining balance in accumulated other comprehensive loss related to the interest rate swap was amortized into earnings through the original term of the hedge relationship as the underlying floating interest rate debt still exists.
At January 31, 2023, we have fully reclassified all of the net losses on the frozen other comprehensive income balance from accumulated other comprehensive loss to earnings associated with the terminated interest rate swap due to the payment of variable interest associated with the floating interest rate debt.
The following tables present the impact of the derivative instruments in our consolidated financial statements for the years ended January 31, 2023 and 2022:
 
    
Years Ended
 
Cash Flow Hedge
(In thousands)
  
Amount of Gain(Loss)
Recognized in OCI
on
Derivative
    
Location of Gain (Loss)
Reclassified from
Accumulated OCI into
Income
    
Amount of Gain (Loss)
Reclassified from
Accumulated OCI into
Income
 
  
January 31,
2023
    
January 31,
2022
    
January 31,
2023
   
January 31,
2022
 
Swap contracts
   $         $           Other Income      $ (59   $ (79
    
 
 
    
 
 
             
 
 
   
 
 
 
Note 11—Employee Retention Credit
The CARES Act provides an employee retention credit (“ERC”) that is a refundable tax credit against certain employer taxes. On December 27, 2020, Congress enacted the Taxpayer Certainty and Disaster Tax Relief Act of 2020, which amended and extended ERC availability under Section 2301 of the CARES Act. Before the enactment of the Taxpayer Certainty and Disaster Tax Relief Act of 2020, we were ineligible for the ERC because we received the PPP Loan. Following enactment of the Taxpayer Certainty and Disaster Tax Relief Act of 2020, we and other businesses that received loans under that program became retroactively eligible for the ERC.
As a result of the foregoing legislation, we were eligible to claim a refundable tax credit against the employer share of Social Security taxes equal to seventy percent (70%) of the qualified wages that we paid to our employees between December 31, 2020 and June 30, 2021. Qualified wages are limited to $10,000 per employee per calendar quarter in 2021 for a maximum ERC per employee of $7,000 per calendar quarter in 2021.
We evaluated our eligibility for the ERC in the second quarter of calendar year 2021
. In order to qualify for the ERC, we needed to experience a
20
% reduction in gross receipts from either (1)
 the same quarter in calendar year 2019
or (2)
 the immediately preceding quarter to the corresponding calendar quarter in 2019
. We determined that we qualified for the employee retention credit under the first scenario for wages paid in calendar year 2020
and the first calendar quarter of 2021
. In the second quarter of the current year, we amended certain payroll tax filings and applied for a refund of $
3.1
 
million. Since there is no US GAAP guidance for
for-profit
business entities that receive government assistance that is not in the form of a loan, an income tax credit or revenue from a contract with a customer, we determined the appropriate accounting treatment by analogy to other guidance. We accounted for the employee retention credit by analogy to International Accounting Standards (IAS) 20, Accounting for Government Grants and Disclosure of Government Assistance, of
 
F-26

International Financial Reporting Standards (IFRS). Under an IAS 20 analogy, a business entity would recognize the credit on a systematic basis over the periods in which the entity recognizes the payroll expenses for which the grant (i.e., tax credit) is intended to compensate when there is reasonable assurance (i.e., it is probable) that the entity will comply with any conditions attached to the grant and the grant (i.e., tax credit) will be received.
We recorded a $
3.1
 million receivable in the second quarter of fiscal 2022
for the ERC receivable, which was outstanding as of January 31
, 2022
and is included as such in the accompanying consolidated balance sheet. The $
3.1
 mil
lion of ERCs was recognized as a reduction in employer payroll taxes and allocated to the financial statement captions from which the employee’s taxes were originally incurred. As a result, we recorded a reduction in expenses of $1.7 million in cost of revenue, $0.8 million in selling and marketing, $0.3 million in research and development and $0.3 million in general and administrative which is reflected in the accompanying consolidated income statement for the year ended January 31, 2022. On March 22, 2022, we received the $3.1 million for the ERC.
Note 12—Royalty Obligation
In fiscal 2018, AstroNova, Inc. entered into an Asset Purchase and License Agreement with Honeywell International, Inc. to acquire an exclusive, perpetual, world-wide license to manufacture Honeywell’s narrow-format flight deck printers for two aircraft families along with certain inventory used in the manufacturing of the licensed printers. The purchase price included a guaranteed minimum royalty payment of $15.0 million, to be paid in quarterly installments over a
ten-year
period. Royalty payments are based on gross revenues from the sales of the printers, paper and repair services of the licensed products. The royalty rates vary based on the year in which they are paid or earned and product sold or service provided, and range from single-digit to mid double-digit percentages of gross revenue.
The guaranteed minimum royalty payment obligation was recorded at the present value of the minimum annual royalty payments. As of January 31, 2023, we had paid an aggregate of $
9.5 million of the guaranteed minimum royalty obligation. At January 31, 2023, the current portion of the outstanding guaranteed minimum royalty obligation of $1.6 million is to be paid over the next twelve months and is reported as a current liability and the remainder of $3.0 million is reported as a long-term liability on our consolidated balance sheet. In addition to the guaranteed minimum royalty payments, for the periods ended January 31, 2023 and January 31, 2022, we also incurred excess royalty expense of $1.3 million and $0.5 million, respectively, which is included in cost of revenue in our consolidated statements of income. A total of $0.4 million of excess royalty is payable and reported as a current liability on our consolidated balance sheet at January 31, 2023.
In fiscal 2023, AstroNova, Inc. entered into a second Asset Purchase and License Agreement with Honeywell International, Inc. as further discussed in Note 2.
Note 13—Leases
We enter into lease contracts for certain of our facilities at various locations worldwide. Our leases have remaining lease terms of one to six years, some of which include options to extend the lease term for periods of up to five years when it is reasonably certain that we will exercise such options.
Balance sheet and other information related to our leases is as follows:
 
Operating Leases
(In thousands)
  
Balance Sheet Classification
  
January 31,
2023
    
January 31,
2022
 
Lease Assets
   Right of Use Assets    $ 794      $ 1,094  
Lease Liabilities—Current
   Other Accrued Expenses    $ 275      $ 327  
Lease Liabilities—Long Term
   Lease Liabilities    $ 555      $ 808  
 
F-27

Lease cost information is as follows:
 
Operating Leases
(In thousands)
  
Statement of Income Classification
 
  
2023
 
  
2022
 
Operating Lease Costs
  
 
General and Administrative Expense
 
   $ 460      $ 510  
At January 31, 2023, maturities of operating lease liabilities
are
as follows:
 
(In thousands)
      
2024
   $ 302  
2025
     199  
2026
     154  
2027
     149  
2028
     92  
Thereafter
         
    
 
 
 
Total Lease Payments
     896  
Less: Imputed Interest
     (66
    
 
 
 
Total Lease Liabilities
   $ 830  
    
 
 
 
As of January 31, 2023, the weighted-average remaining lease term and weighted-average discount rate for our operating leases are 3.8 years and 3.87%, respectively. We calculated the weighted-average discount rate using incremental borrowing rates, which equal the rates of interest that we would pay to borrow funds on a fully collateralized basis over a similar term.
Supplemental cash flow information related to leases is as follows:
 
(In thousands)
  
2023
    
2022
 
Cash paid for operating lease liabilities
   $ 314      $ 372  
Note 14—Accumulat
ed O
ther Comprehensive Loss
The changes in the balance of accumulated other comprehensive loss by component are as follows:
 
(In thousands)   
Foreign Currency
Translation
Adjustments
    
Net
Unrealized
Gain (Losses)
on Cash Flow
Hedges
    
Total
 
Balance at January 31, 2020
   $ (985    $ (108    $ (1,093
Other Comprehensive Income (Loss) before reclassification
     710        (239      471  
Amounts Reclassified from AOCI to Earnings
     —          193        193  
Cross-Currency Interest Rate Swap Termination
     —          45        45  
    
 
 
    
 
 
    
 
 
 
Other Comprehensive Income (Loss)
     710        (1      709  
    
 
 
    
 
 
    
 
 
 
Balance at January 31, 2021
   $ (275    $ (109    $ (384
Other Comprehensive Loss before reclassification
     (1,426      —          (1,426
Amounts Reclassified from AOCI to Earnings
     —          62        62  
    
 
 
    
 
 
    
 
 
 
Other Comprehensive Income (Loss)
     (1,426      62        (1,364
    
 
 
    
 
 
    
 
 
 
Balance at January 31, 2022
   $ (1,701    $ (47    $ (1,748
Other Comprehensive Income (Loss) before reclassification
     (537      —          (537
Amounts reclassified from AOCI to Earnings
     —          47        47  
    
 
 
    
 
 
    
 
 
 
Other Comprehensive Income (Loss)
     (537      47        (490
    
 
 
    
 
 
    
 
 
 
Balance at January 31, 2023
   $ (2,238    $ —        $ (2,238
    
 
 
    
 
 
    
 
 
 
 
F-28

The amounts presented above in other comprehensive income (loss) are net of taxes except for translation adjustments associated with our German, Danish and Shanghai subsidiaries.
Note 15—Shareholders’ Equity
During fiscal years 2023 and 2022, certain of our employees delivered a total of 17,752 and 27,222 shares, respectively, of our common stock to satisfy the exercise price and related taxes for stock options exercised and restricted stock vesting. The shares delivered were valued at a total of $0.3 million and $0.4 millio
n, resp
ectively, and are included in treasury stock in the accompanying consolidated balance sheets
a
t January 31, 2023 and 2022. These transactions did not impact the number of shares authorized for repurchase under our current repurchase program.
Note 16—Share-Based Compensation
The Company maintains the following share-based compensation plans:
Stock Plans:
We have one equity incentive plan from which we are authorized to grant equity awards, the AstroNova, Inc. 2018 Equity Incentive Plan (the “2018 Plan”). The 2018 Plan provides for, among other things, the issuance of awards, including incentive stock options,
non-qualified
stock options, stock appreciation rights, time-based restricted stock units (“RSUs”), or performance-based restricted stock units (“PSUs”) and restricted stock awards (RSAs). The 2018 Plan authorizes the issuance of up to 950,000 shares of common stock, plus an additional number of shares equal to the number of shares subject to awards granted under the previous equity incentive plans that are forfeited, cancelled, satisfied without the issuance of stock, otherwise terminated (other than by exercise), or, for shares of stock issued pursuant to any unvested award, that are reacquired by us at not more than the grantee’s purchase price (other than by exercise). Under the 2018 Plan, all awards to employees generally have a minimum vesting period of one year. Options granted under the 2018 Plan must be issued at an exercise price of not less than the fair market value of our common stock on the date of grant and expire after ten years. Under the 2018 Plan, there were 124,962 unvested RSUs; 128,793 unvested PSUs; 21,172 unvested RSAs and options to purchase an aggregate of 135,500 shares outstanding as of January 31, 2023.
In addition to the 2018 Plan, we previously granted equity awards under our 2015 Equity Incentive Plan (the “2015 Plan”) and our 2007 Equity Incentive Plan (the “2007 Plan”). No new awards may be issued under either the 2007 or 2015 Plans, but outstanding awards will continue to be governed by those plans. As of January 31, 2023, options to purchase an aggregate of 276,574 shares were outstanding under the 2007 Plan and options to purchase an aggregate of 135,125 shares were outstanding under the 2015 Plan.
We also have a
Non-Employee
Director Annual Compensation Program (the “Program”), under which each of our
non-employee
directors automatically receives a grant of restricted stock on the date of their
re-election
to our board of directors. The number of whole shares granted is equal to the number calculated by dividing the stock component of the director compensation amount determined by the compensation committee for that year by the fair market value of our stock on that day. The value of the restricted stock award for fiscal 2023 was $65,000. Shares of restricted stock granted under the Program become vested on the first anniversary of the date of grant, conditi
one
d upon the recipient’s continued service on our board of directors through that date.
 
F-29

Share-Based Compensation:
Share-based compensation expense has been recognized as follows:
 
    
Years Ended January 31
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Stock Options
   $ 7      $ 210      $ 517  
Restricted Stock Awards and Restricted Stock Units
     1,271        1,266        1,285  
Employee Stock Purchase Plan
     12        17        17  
    
 
 
    
 
 
    
 
 
 
Total
   $ 1,290      $ 1,493      $ 1,819  
    
 
 
    
 
 
    
 
 
 
Stock Options:
Aggregated information regarding stock options granted under the plans is summarized below:
 
    
Number
of Shares
    
Weighted-
Average
Exercise
Price Per
Share
 
Options Outstanding, January 31, 2020
     679,044      $ 14.46  
Options Granted
                   
Options Exercised
     (1,200      7.60  
Options Forfeited
     (54,361      12.89  
Options Cancelled
     (1,400      7.36  
    
 
 
    
 
 
 
Options Outstanding, January 31, 2021
     622,083      $ 14.63  
Options Granted
                   
Options Exercised
     (6,425      9.34  
Options Forfeited
     (17,615      15.09  
Options Cancelled
                   
    
 
 
    
 
 
 
Options Outstanding, January 31, 2022
     598,043      $ 14.67  
Options Granted
                   
Options Exercised
     (42,944      8.74  
Options Forfeited
     (5,500      15.42  
Options Cancelled
     (2,400      8.09  
    
 
 
    
 
 
 
Options Outstanding, January 31, 2023
     547,199      $ 15.16  
    
 
 
    
 
 
 
Set forth below is a summary of options outstanding at January 31, 2023:
 
Outstanding
 
  
Exercisable
 
Range of
Exercise prices
  
Number of
Shares
 
  
Weighted-
Average
Exercise Price
 
  
Weighted-
Average
Remaining
Contractual Life
 
  
Number of
Shares
 
  
Weighted-
Average
Exercise Price
 
  
Weighted
Average
Remaining
Contractual
Life
 
$5.00-10.00
             $           —                  $           —    
$10.01-15.00
     332,849        13.68        2.9        332,849        13.68        2.9  
$15.01-20.00
     214,350        17.45        4.8        214,350        17.45        4.8  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
       547,199      $ 15.16        3.7        547,199      $ 15.16        3.7  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
No options were granted during fiscal 2023 or fiscal 2022. As of January 31, 2023, there was no unrecognized compensation expense related to the unvested stock options granted under the plans
.
 
F-30

As of January 31, 2023, the aggregate intrinsic value (the aggregate difference between the closing stock price of our common stock on January 31, 2023, and the exercise price of the outstanding options) that would have been received by the option holders if all options had been exercised was $50,000 for all exercisable options and all options outstanding. The total aggregate intrinsic value of options exercised during fiscal 2023, 2022 and 2021 was $200,000, $26,000, and $4,000,
respectively.

Restricted Stock Units, Performance-Based Restricted Stock Units and Restricted Stock Awards :
Aggregated information regarding RSUs, PSUs and RSAs granted under the Plan is summarized below:
 
    
RSUs, PSUs &
RSAs
    
Weighted-Average
Grant Date Fair Value
 
Outstanding at January 31, 2020
     134,634      $ 16.79  
Granted
     245,131        7.61  
Vested
     (64,997      17.28  
Forfeited
     (117,355      8.83  
    
 
 
    
 
 
 
Outstanding at January 31, 2021
     197,413      $ 9.96  
Granted
     151,406        14.51  
Vested
     (126,939      10.43  
Forfeited
     (900      14.26  
    
 
 
    
 
 
 
Outstanding at January 31, 2022
     220,980      $ 13.23  
Granted
     141,371        12.70  
Vested
     (85,324      13.45  
Forfeited
     (2,100      13.25  
    
 
 
    
 
 
 
Outstanding at January 31, 2023
     274,927      $ 12.82  
    
 
 
    
 
 
 
As of January 31, 2023, there was $2.0 million of unrecognized compensation expense related to unvested RSUs, PSUs and RSAs. This expense is expected to be recognized over a weighted average period of 1.3 years.
Employee Stock Purchase Plan (ESPP):
On June 7, 2022, we adopted the AstroNova Inc. 2022 Employee Stock Purchase Plan (“2022 ESPP”) to replace our previous Employee Stock Purchase Plan (the “Prior ESPP”). The 2022 ESPP allows eligible employees to purchase shares of common stock at a 15% discount from fair value on the first or last day of an offering period, whichever is less. A total of 40,000 shares were reserved for issuance under this plan and 5,045 shares were purchased under the 2022 ESSP during the year ended January 31, 2023. During the periods ended January 31, 2023 and January 31, 2022, there were 1,550 and 8,092 shares, respectively, purchased under the Prior ESPP, and no additional purchases may be made under the Prior ESPP. As of January 31, 2023, 34,955 shares remain available for purchase under the 2022 ESPP.
Note 17—Income Taxes
The components of income (loss) before income taxes are as follows:
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Domestic
   $ 1,773      $ 5,046      $ (1,193
Foreign
     1,637        1,988        3,372  
    
 
 
    
 
 
    
 
 
 
     $ 3,410      $ 7,034      $ 2,179  
    
 
 
    
 
 
    
 
 
 
 
F-31

The components of the provision for income taxes are as follows:
 
 
  
2023
 
  
2022
 
  
2021
 
(In thousands)
  
 
 
  
 
 
  
 
 
Current:
                          
Federal
   $ 902      $ (183    $ 1,272  
State
     313        76        224  
Foreign
     870        501        420  
    
 
 
    
 
 
    
 
 
 
       2,085        394        1,916  
    
 
 
    
 
 
    
 
 
 
Deferred:
                          
Federal
   $ (1,053    $ 180      $ (910
State
     (315      177        (189
Foreign
     32        (146      78  
    
 
 
    
 
 
    
 
 
 
       (1,336      211        (1,021
    
 
 
    
 
 
    
 
 
 
     $ 749      $ 605      $ 895  
    
 
 
    
 
 
    
 
 
 
Total income tax provision differs from the expected tax provision as a result of the following:
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Income Tax Provision at Statutory Rate
   $ 716      $ 1,477      $ 458  
Change in Valuation Allowance
     182        57        (81
Foreign Rate Differential
     157        61        197  
Change in Reserves Related to ASC 740 Liability
     93        (245      (10
Denmark Statutory Audit
                         341  
Meals and Entertainment
               9        11  
Canada Withholding Taxes
                         62  
Global Intangible Low Taxed Income
                         14  
Foreign Derived Intangible Income
     (180      (55      (150
R&D Credits
     (160      (180      (157
Share Based Compensation
     (52      (95      171  
Return to Provision Adjustment
     (22      368        (2
State Taxes, Net of Federal Tax Effect
     (2      143        28  
PPP Loan Forgiveness
               (937          
Other
     17        2        13  
    
 
 
    
 
 
    
 
 
 
     $ 749      $ 605      $ 895  
    
 
 
    
 
 
    
 
 
 
Our effective tax rate for fiscal 2023 was 22.0% compared to 8.6% in fiscal 2022 and 41.1% in fiscal 2021. The increase in the effective tax rate in fiscal 2023 from fiscal 2022 is primarily related to the absence of the PPP loan forgiveness which is
tax-exempt
income that was a
one-time
item that reduced the rate in fiscal 2022. Specific items increasing the effective tax rate in fiscal 2023 include the change in reserves related to ASC 740 liability and the increase in the valuation allowance recorded on China net operating losses. This increase was offset by state taxes, return to provision adjustments, share-based compensation, R&D tax credits, and foreign derived intangible income (“FDII”) deduction.
The decrease in the effective tax rate in fiscal 2022 from fiscal 2021 is primarily related to the
one-time
impact of the PPP loan forgiveness
tax-exempt
income. Specific items decreasing the effective tax rate include PPP loan forgiveness
tax-exempt
income, R&D tax credits, foreign derived intangible income (“FDII”) deduction and change in reserves related to ASC 740 liabilities. This decrease was offset by state taxes, return to provision adjustments, and taxes on foreign earnings.
 
F-32

The components of deferred income tax expense arise from various temporary differences and relate to items included in the statement of income. The tax effects of temporary differences that gave rise to significant portions of the deferred tax assets and liabilities are as follows:
 
    
January 31,
 
(In thousands)

  
2023
    
2022
 
Deferred Tax Assets:
                 
Inventory
   $ 2,710      $ 2,159  
Honeywell Royalty Liability
     3,008        2,655  
State R&D Credits
     1,851        1,925  
Share-Based Compensation
     620        593  
Bad Debt
     180        213  
Warranty Reserve
     258        198  
Compensation Accrual
     248        322  
Net Operating Loss
     135        152  
ASU 842 Adjustment – Lease Liability
     53        93  
Unrecognized State Tax Benefits
     58        64  
Foreign Tax Credit
     154        154  
Deferred Service Contract Revenue
     90        61  
Section 174 Capitalization*
     1,175            
Other
     281        224  
    
 
 
    
 
 
 
     10,821      8,813  
Deferred Tax Liabilities:
                 
Accumulated Tax Depreciation in Excess of Book Depreciation
     1,037        455  
Intangibles
     694        767  
ASU 842 Adjustment – Lease Liability
     50        90  
Other
     180        318  
    
 
 
    
 
 
 
     1,961      1,630  
    
 
 
    
 
 
 
Subtotal
     8,860        7,183  
Valuation Allowance
     (2,120      (1,778
    
 
 
    
 
 
 
Net Deferred Tax Assets
   $ 6,740      $ 5,405  
    
 
 
    
 
 
 
 
*
Beginning in fiscal 2023, changes to Section 174 of the Internal Revenue Code made by the Tax Cuts and Jobs Act of 2017 no longer permit an immediate deduction for research and development expenditures in the tax year that such costs are incurred. These costs are capitalized resulting in an increase in deferred tax assets of $1.2 million.
Deferred taxes are reflected in the consolidated balance sheet as follows:
 
    
January 31,
 
    
2023
    
2022
 
Deferred Tax Assets
     6,907        5,591  
Deferred Tax Liabilities
     (167      (186
    
 
 
    
 
 
 
Total Net Deferred Tax Assets
   $ 6,740      $ 5,405  
    
 
 
    
 
 
 
The valuation allowances of $2.1 million at January 31, 2023 and $1.8 million at January 31, 2022, relate to Rhode Island research and development tax credit carryforwards, foreign tax credit carryforwards, and China’s net operating losses that are expected to expire unutilized.
 
F-33

At January 31, 2023, we had net operating loss carryforwards of $0.1 million in China, which expire in 2024 through 2028. We have net operating loss carryforwards of less than $0.1 million in France, which can be carried forward indefinitely. We expect to utilize the net operating loss carryforwards in France before in future tax periods.
At January 31, 2023, we had state research credit carryforwards of approximately $1.9 million which expire in 2023 through 2030. Additionally, we had $0.2 million of foreign tax credits. We maintain a full valuation allowance against these credits as we expect these credits to expire unused.
We believe that it is reasonably possible that some unrecognized tax benefits, accrued interest and penalties could decrease income tax expense in the next year due to either the review of previously filed tax returns or the expiration of certain statutes of limitation. The changes in the balances of unrecognized tax benefits, excluding interest and penalties are as follows:
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Balance, beginning of the year
   $ 303      $ 384      $ 362  
Increases in prior period tax positions
     24        63        59  
Increases in current period tax positions
     136        67        5  
Reductions related to lapse of statutes of limitations
     (49      (211      (42
    
 
 
    
 
 
    
 
 
 
Balance, end of the year
   $ 414      $ 303      $ 384  
    
 
 
    
 
 
    
 
 
 
During fiscal 2023 and 2022, we released $49,000 and $211,000, respectively, of uncertain tax positions including accrued interest and penalties relating to a change in various unrecognized tax positions. The Company has accrued potential interest and penalties of $77,000 included in income taxes payable in the accompanying consolidated balance sheet at the end of January 31, 2023.
The Company and its subsidiaries file income tax returns in U.S. federal jurisdictions, various state jurisdictions, and various foreign jurisdictions. In fiscal 2023, we released $27,000 related to a federal tax exposure for the fiscal 2019 tax year and $22,000 of state nexus positions as a result of the expiration of the statute of limitations.
U.S. income taxes have not been provided on $8.5 million of undistributed earnings of our foreign subsidiaries since it is our intention to permanently reinvest such earnings offshore. If the earnings were distributed in the form of dividends, the Company would not be subject to U.S. tax as a result of the Tax Act but could be subject to foreign income and withholding taxes. Determination of the amount of this unrecognized deferred income tax liability is not practical.
Note 18—Nature of Operations, Segment Reporting and Geographical Information
Our operations consist of the design, development, manufacture and sale of specialty printers and data acquisition and analysis systems, including both hardware and software and related consumable supplies. We organize and manage our business as a portfolio of products and services designed around a common theme of data acquisition and information output. We have two reporting segments consistent with our revenue product groups: Product Identification (“PI”) and Test & Measurement (“T&M”).
Our PI segment produces an array of high-technology digital color and monochrome label printers and mini presses, labeling software and supplies for a variety of commercial industries worldwide and includes our newly acquired Astro Machine. AstroNova’s T&M segment produces data acquisition systems used worldwide for a variety of recording, monitoring and troubleshooting applications for many industries including aerospace, automotive, defense, rail, energy, industrial and general manufacturing. The T&M segment also includes our line of aerospace flight deck and cabin printers.
 
F-34

Business is conducted in the United States and through foreign branch offices and subsidiaries in Canada, Europe, China, Southeast Asia and Mexico. Manufacturing activities are primarily conducted in the United States. Revenue and service activities outside the United States are conducted through wholly owned entities and, to a lesser extent, through authorized distributors and agents. Transfer prices are intended to produce gross profit margins as would be associated with an arms-length transaction.
The accounting policies of the reporting segments are the same as those described in the summary of significant accounting policies herein. We evaluate segment performance based on the segment profit before corporate and financial administration expenses.
Summarized below are the revenue and segment operating profit (loss) (both in dollars and as a percentage of revenue) for each reporting segment:
 
($ in thousands)
 
Revenue
 
 
Segment Operating Profit
(Loss)
 
 
Segment Operating Profit (Loss)
as a % of Revenue
 
 
 
2023
 
 
2022
 
 
2021
 
 
2023
 
 
2022
 
 
2021
 
 
2023
 
 
2022
 
 
2021
 
Product Identification
  $ 103,089     $ 90,915     $ 90,268     $ 7,889     $ 10,411     $ 12,885       7.7     11.5     14.3
T&M
    39,438       26,565       25,765       8,989       3,398       (1,032     22.8     12.8     (4.0 )% 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
Total
  $ 142,527     $ 117,480     $ 116,033       16,878       13,809       11,853       11.8     11.8     10.2
   
 
 
   
 
 
   
 
 
                           
 
 
   
 
 
   
 
 
 
Corporate Expenses
                            11,435       9,553       9,420                          
                           
 
 
   
 
 
   
 
 
                         
Operating Income
                            5,443       4,256       2,433                          
Other Income (Expense), Net
                            (2,033     2,778       (254                        
                           
 
 
   
 
 
   
 
 
                         
Income Before Income Taxes
                            3,410       7,034       2,179                          
Income Tax Provision
                            749       605       895                          
                           
 
 
   
 
 
   
 
 
                         
Net Income
                          $ 2,661     $ 6,429     $ 1,284                          
                           
 
 
   
 
 
   
 
 
                         
No customer accounted for greater than 10% of net revenue in fiscal 2023, 2022 or 2021.
Other information by segment is presented below:
 
(In thousands)   
Assets
 
    
January 31,
 
    
2023
    
2022
 
Product Identification
   $ 69,607      $ 51,732  
T&M
     60,730        50,374  
Corporate*
     8,870        12,849  
    
 
 
    
 
 
 
Total
   $ 139,207      $ 114,955  
    
 
 
    
 
 
 
 
*
Corporate assets consist principally of cash, cash equivalents, deferred tax assets and refunds, and certain prepaid corporate assets.
 
(In thousands)   
Depreciation and
Amortization
    
Capital Expenditures
 
    
2023
    
2022
    
2021
    
2023
    
2022
    
2021
 
Product Identification
   $ 2,219      $ 1,157      $ 1,835      $ 121      $ 847      $ 1,563  
T&M
     1,697        2,837        4,148        108        949        1,024  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
Total
   $ 3,916      $ 3,994      $ 5,983      $ 229      $ 1,796      $ 2,587  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 

F-35

Geographical Data
Presented below is selected financial information by geogr
ap
hic area:
 
                  
Long-Lived Assets*
 
(In thousands)   
Revenue
    
January 31,
 
    
2023
    
2022
    
2021
    
2023
    
2022
 
United States
   $ 91,917      $ 68,185      $ 70,911      $ 34,277      $ 29,131  
Europe
     31,021        31,922        29,029        1,230        1,486  
Canada
     8,393        6,519        5,574        4        9  
Asia
     5,345        5,926        5,105        9        15  
Central and South America
     4,589        3,271        3,950        —          —    
Other
     1,262        1,657        1,464        —          —    
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
Total
   $ 142,527      $ 117,480      $ 116,033      $ 35,520      $ 30,641  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
 
*
Long-lived assets exclude goodwill assigned to the T&M segment of $4.5 million at both January 31, 2023 and 2022 and $10.1 million and $7.6 million assigned to the PI segment at January 31, 2023 and 2022, respectively. 
Note 19—Employee Benefit Plans
We sponsor a Profit-Sharing Plan (the “Plan”) which provides retirement benefits to all eligible domestic employees. The Plan allows participants to defer a portion of their cash compensation and contribute such deferral to the Plan through payroll deductions. The Company makes matching contributions up to specified levels. The deferrals are made within the limits prescribed by Section 401(k) of the Internal Revenue Code.
All contributions are deposited into trust funds. It is our policy to fund any contributions accrued. Our annual contribution amounts are determined by the Board of Directors. Contributions paid or accrued amounted to $0.5 million in fiscal 2023, $0.5 million in fiscal 2022 and $0.4 million in fiscal 2021.
Note 20—Product Warranty Liability
We offer a manufacturer’s warranty for the majority of our hardware products. The specific terms and conditions of warranty vary depending upon the products sold and the country in which we do business. We estimate the warranty costs based on historical claims experience and record a liability in the amount of such estimates at the time product revenue is recognized. We regularly assess the adequacy of our recorded warranty liabilities and adjust the amounts as necessary. Activity in the product warranty liability, which is included in other accrued expenses in the accompanying consolidated balance sheet, is as follows:
 
(
In thousands)
  
2023
    
2022
    
2021
 
Balance, beginning of the year
   $ 834      $ 730      $ 850  
Provision for Warranty Expense
     2,077        2,174        855  
Cost of Warranty Repairs
     (1,839      (2,070      (975
    
 
 
    
 
 
    
 
 
 
Balance, end of the year
   $ 1,072      $ 834      $ 730  
    
 
 
    
 
 
    
 
 
 

During fiscal 2022, we incurred incremental costs because of a product quality issue with one of our vendors. As the result of discussions with the vendor, which was responsible for the product quality issue, we entered into an agreement wh
ere
by the vendor paid us $975,000 as partial reimbursement of the costs we incurred in supporting our customers with respect to the product quality issue. For the period ended January 31, 2022, we recorded this payment to offset cost of goods in our PI segment for the product lines effected to partially reverse the accounting impact when the original costs of the quality issues were
incurred.
 
F-36

Note 21—Concentration of Risk
Credit is generally extended on an uncollateralized basis to almost all customers after review of credit worthiness. Concentration of credit and geographic risk with respect to accounts receivable is limited due to the large number and general dispersion of accounts, which constitute our customer base. We periodically perform
on-going
credit evaluations of our customers. We have not historically experienced significant credit losses on collection of our accounts receivable.
During the years ended January 31, 2023, 2022 and 2021, one vendor accounted for 18.7%, 23.3% and 23.2% of purchases, respectively, and 16.2%, 15.4% and 28.3% of accounts payable, respectively, as of January 31, 2023, 2022 and 2021.
Note 22—Commitments and Contingencies
In order to meet our manufacturing demands and, in some cases, lock in particular pricing structures for specific goods used in manufacturing, we enter into purchase commitments with our suppliers. At January 31, 2023, our purchase commitments totaled $25.8 million, with $22.8 million due within 12 months, some of which are
non-cancelable.
We are also subject to contingencies, including legal proceedings and claims arising in the normal course of business that cover a wide range of matters including, among others, contract and employment claims; workers compensation claims; product liability; warranty and modification; and adjustment or replacement of component parts of units sold.
Direct costs associated with the estimated resolution of contingencies are accrued at the earliest date at which it is deemed probable that a liability has been incurred and the amount of such liability can be reasonably estimated. While it is impossible to ascertain the ultimate legal and financial liability with respect to contingent liabilities, including lawsuits, we believe that the aggregate amount of such liabilities, if any, in excess of amounts provided or covered by insurance, will not have a material adverse effect on the consolidated financial position or results of operations. It is possible, however, that future results of operations for any particular future period could be materially affected by changes in our assumptions or strategies related to these contingencies or changes out of our control.
Note 23—Fair Value Measurements
Assets and Liabilities Not Recorded at Fair Value on the Cons
olid
ated Balance Sheet
Our long-term debt, including the current portion of long-term debt not reflected in the financial statements at fair value, is reflected in the table below:
 
    
Fair Value Measurement at
January 31, 2023
        
(In thousands)   
Level 1
    
Level 2
    
Level 3
    
Total
    
Carrying
Value
 
Long-Term Debt and Related Current Maturities
   $ —        $ —        $ 14,310      $ 14,310      $ 14,250  
     
    
Fair Value Measurement at
January 31, 2022
        
(In thousands)   
Level 1
    
Level 2
    
Level 3
    
Total
    
Carrying
Value
 
Long-Term Debt and Related Current Maturities
   $ —        $ —        $ 9,255      $ 9,255      $ 9,250  
The fair value of our long-term debt, including the current portion, is estimated by discounting the future cash flows using current interest rates at which similar borrowings with the same maturities would be made to borrowers with similar credit ratings and is classified as Level 3.
 
F-3
7

ASTRONOVA, INC.
SCHEDULE II—VA
LUA
TION AND Q
U
AL
IFY
ING ACCOUNTS AND RESERVES
 
Description
  
Balance at
Beginning
of Year
    
Provision/
(Benefit)
Charged to
Operations
    
Deductions(2)
   
Balance
at End
of Year
 
Allowance for Doubtful Accounts (1):
                                  
(In thousands)
                                  
Year Ended January 31,
                                  
2023
   $ 826      $ 100      $ (195   $ 731  
2022
   $ 1,054      $ 50      $ (278   $ 826  
2021
   $ 856      $ 194      $ 4     $ 1,054  
 
(1)
The allowance for doubtful accounts has been netted against accounts receivable in the balance sheets as of the respective balance sheet dates.
(2)
Uncollectible accounts written off, net of recoveries.
 
F-3
8
EX-21 2 d415415dex21.htm EX-21 EX-21

Exhibit 21

LIST OF SUBSIDIARIES OF THE COMPANY

 

Name

  

Jurisdiction of Organization

AstroNova GmbH    Germany
AstroNova (Shanghai) Trading Co., Ltd    China
AstroNova Aerospace, Inc.    Delaware
Astro Machine, LLC    Delaware
AstroNova Scandinavia ApS (formally TrojanLabel ApS)    Denmark
AstroNova (Singapore) Pte Ltd.    Singapore
AstroNova SAS    France
AstroDigital Data de México, S.A. de C.V.    Mexico
EX-23.1 3 d415415dex231.htm EX-23.1 EX-23.1

Exhibit 23.1

Consent Of Independent Registered Public Accounting Firm

We consent to the incorporation by reference in Registration Statements (Nos. 333-265841, 333-231953, 333-143854, 333-204619, and 333-225404) on Form S-8 of our reports dated April 17, 2023, with respect to the consolidated financial statements and the financial statement schedule of AstroNova, Inc. and the effectiveness of internal control over financial reporting.

 

/s/ Wolf & Company, P.C.
Boston, Massachusetts
April 17, 2023
EX-31.1 4 d415415dex311.htm EX-31.1 EX-31.1

Exhibit 31.1

CERTIFICATION OF THE CHIEF EXECUTIVE OFFICER PURSUANT TO

RULES 13a-14(a) AND 15d-14(a) UNDER THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF

THE SARBANES-OXLEY ACT OF 2002

I, Gregory A. Woods, certify that:

1. I have reviewed this annual report on Form 10-K of AstroNova, Inc.;

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3. Based on my knowledge, the financial statements, and other financial information included in this annual report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(a) designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b) designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c) evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report, based on our evaluation; and

(d) disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of registrant’s board of directors (or persons performing the equivalent function):

(a) all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

(b) any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date April 17, 2023

 

/s/ GREGORY A. WOODS

Gregory A. Woods
President and Chief Executive Officer
(Principal Executive Officer)
EX-31.2 5 d415415dex312.htm EX-31.2 EX-31.2

Exhibit 31.2

CERTIFICATION OF THE CHIEF FINANCIAL OFFICER PURSUANT TO

RULES 13a-14(a) AND 15d-14(a) UNDER THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF

THE SARBANES-OXLEY ACT OF 2002

I, David S. Smith, certify that:

1. I have reviewed this annual report on Form 10-K of AstroNova, Inc.;

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3. Based on my knowledge, the financial statements, and other financial information included in this annual report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(a) designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b) designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c) evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report, based on our evaluation; and

(d) disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of registrant’s board of directors (or persons performing the equivalent function):

(a) all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

(b) any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date April 17, 2023

 

/s/ David S. Smith

David S. Smith

Vice President, Chief Financial Officer and

Treasurer (Principal Financial Officer and

Principal Accounting Officer)

EX-32.1 6 d415415dex321.htm EX-32.1 EX-32.1

Exhibit 32.1

AstroNova Inc.

CERTIFICATION OF THE CHIEF EXECUTIVE OFFICER

PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 906 OF THE

SARBANES-OXLEY ACT OF 2002

In connection with the Annual Report on Form 10-K of AstroNova, Inc. (the “Company”) for the year ended January 31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Gregory A. Woods, Chief Executive Officer, hereby certify, to my best knowledge and believe pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

(a) The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

(b) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Dated this 17th day of April 2023

 

/s/ GREGORY A. WOODS

Gregory A. Woods

President and Chief Executive Officer

(Principal Executive Officer)

A signed original of this written statement required by Section 906 has been provided to AstroNova, Inc. and will be retained by AstroNova, Inc. and furnished to the Securities and Exchange Commission or its staff upon request.

EX-32.2 7 d415415dex322.htm EX-32.2 EX-32.2

Exhibit 32.2

AstroNova Inc.

CERTIFICATION OF THE CHIEF FINANCIAL OFFICER

PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 906 OF THE

SARBANES-OXLEY ACT OF 2002

In connection with the Annual Report on Form 10-K of AstroNova , Inc. (the “Company”) for the year ended January 31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, David S. Smith, Vice President, Chief Financial Officer and Treasurer, hereby certify, to my best knowledge and believe pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

(a) The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

(b) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Dated this 17th day of April 2023

 

/s/ David S. Smith

David S. Smith
Vice President, Chief Financial Officer and Treasurer (Principal Financial Officer and Principal Accounting Officer)

A signed original of this written statement required by Section 906 has been provided to AstroNova, Inc. and will be retained by AstroNova, Inc. and furnished to the Securities and Exchange Commission or its staff upon request.

EX-101.SCH 8 alot-20230131.xsd XBRL TAXONOMY EXTENSION SCHEMA 1001 - Document - Cover Page link:presentationLink link:definitionLink link:calculationLink 1002 - Statement - Consolidated Balance Sheets link:presentationLink link:definitionLink link:calculationLink 1003 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:definitionLink link:calculationLink 1004 - Statement - Consolidated Statements of Income link:presentationLink link:definitionLink link:calculationLink 1005 - Statement - Consolidated Statements of Comprehensive Income link:presentationLink link:definitionLink link:calculationLink 1006 - Statement - Consolidated Statements of Changes in Shareholders' Equity link:presentationLink link:definitionLink link:calculationLink 1007 - Statement - Consolidated Statements of Changes in Shareholders' Equity (Parenthetical) link:presentationLink link:definitionLink link:calculationLink 1008 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:definitionLink link:calculationLink 1009 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:definitionLink link:calculationLink 1010 - Disclosure - Acquisitions link:presentationLink link:definitionLink link:calculationLink 1011 - Disclosure - Revenue Recognition link:presentationLink link:definitionLink link:calculationLink 1012 - Disclosure - Intangible Assets link:presentationLink link:definitionLink link:calculationLink 1013 - Disclosure - Inventories link:presentationLink link:definitionLink link:calculationLink 1014 - Disclosure - Property, Plant and Equipment link:presentationLink link:definitionLink link:calculationLink 1015 - Disclosure - Accrued Expenses link:presentationLink link:definitionLink link:calculationLink 1016 - Disclosure - Credit Agreement and Long-Term Debt link:presentationLink link:definitionLink link:calculationLink 1017 - Disclosure - Paycheck Protection Program Loan link:presentationLink link:definitionLink link:calculationLink 1018 - Disclosure - Derivative Financial Instruments and Risk Management link:presentationLink link:definitionLink link:calculationLink 1019 - Disclosure - Employee Retention Credit link:presentationLink link:definitionLink link:calculationLink 1020 - Disclosure - Royalty Obligation link:presentationLink link:definitionLink link:calculationLink 1021 - Disclosure - Leases link:presentationLink link:definitionLink link:calculationLink 1022 - Disclosure - Accumulated Other Comprehensive Loss link:presentationLink link:definitionLink link:calculationLink 1023 - Disclosure - Shareholders' Equity link:presentationLink link:definitionLink link:calculationLink 1024 - Disclosure - Share-Based Compensation link:presentationLink link:definitionLink link:calculationLink 1025 - Disclosure - Income Taxes link:presentationLink link:definitionLink link:calculationLink 1026 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information link:presentationLink link:definitionLink link:calculationLink 1027 - Disclosure - Employee Benefit Plans link:presentationLink link:definitionLink link:calculationLink 1028 - Disclosure - Product Warranty Liability link:presentationLink link:definitionLink link:calculationLink 1029 - Disclosure - Concentration of Risk link:presentationLink link:definitionLink link:calculationLink 1030 - Disclosure - Commitments and Contingencies link:presentationLink link:definitionLink link:calculationLink 1031 - Disclosure - Fair Value Measurements link:presentationLink link:definitionLink link:calculationLink 1032 - Disclosure - Schedule II - Valuation and Qualifying Accounts and Reserves link:presentationLink link:definitionLink link:calculationLink 1033 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:definitionLink link:calculationLink 1034 - Disclosure - Acquisitions (Tables) link:presentationLink link:definitionLink link:calculationLink 1035 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:definitionLink link:calculationLink 1036 - Disclosure - Intangible Assets (Tables) link:presentationLink link:definitionLink link:calculationLink 1037 - Disclosure - Inventories (Tables) link:presentationLink link:definitionLink link:calculationLink 1038 - Disclosure - Property, Plant and Equipment (Tables) link:presentationLink link:definitionLink link:calculationLink 1039 - Disclosure - Accrued Expenses (Tables) link:presentationLink link:definitionLink link:calculationLink 1040 - Disclosure - Credit Agreement and Long-Term Debt (Tables) link:presentationLink link:definitionLink link:calculationLink 1041 - Disclosure - Derivative Financial Instruments and Risk Management (Tables) link:presentationLink link:definitionLink link:calculationLink 1042 - Disclosure - Leases (Tables) link:presentationLink link:definitionLink link:calculationLink 1043 - Disclosure - Accumulated Other Comprehensive Loss (Tables) link:presentationLink link:definitionLink link:calculationLink 1044 - Disclosure - Share-Based Compensation (Tables) link:presentationLink link:definitionLink link:calculationLink 1045 - Disclosure - Income Taxes (Tables) link:presentationLink link:definitionLink link:calculationLink 1046 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information (Tables) link:presentationLink link:definitionLink link:calculationLink 1047 - Disclosure - Product Warranty Liability (Tables) link:presentationLink link:definitionLink link:calculationLink 1048 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:definitionLink link:calculationLink 1049 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1050 - Disclosure - Acquisitions - Summary of Purchase Price of Acquisition Allocated on Basis of Fair Value (Detail) link:presentationLink link:definitionLink link:calculationLink 1051 - Disclosure - Acquisitions - Summary of Fair Value of the Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail) link:presentationLink link:definitionLink link:calculationLink 1052 - Disclosure - Acquisitions - Summary of Revenue and Earnings Before Taxes (Detail) link:presentationLink link:definitionLink link:calculationLink 1053 - Disclosure - Acquisitions - Summary of Acquired Identifiable Intangible Asset (Detail) link:presentationLink link:definitionLink link:calculationLink 1054 - Disclosure - Acquisitions - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1055 - Disclosure - Revenue Recognition - Summary of Revenues Disaggregated by Primary Geographic Markets (Detail) link:presentationLink link:definitionLink link:calculationLink 1056 - Disclosure - Revenue Recognition - Summary of Revenues Disaggregated by Primary Product Type (Detail) link:presentationLink link:definitionLink link:calculationLink 1057 - Disclosure - Revenue Recognition - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1058 - Disclosure - Intangible Assets - Fair Value of Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail) link:presentationLink link:definitionLink link:calculationLink 1059 - Disclosure - Intangible Assets - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1060 - Disclosure - Intangible Assets - Summary of Estimated Amortization Expense (Detail) link:presentationLink link:definitionLink link:calculationLink 1061 - Disclosure - Inventories - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1062 - Disclosure - Inventories - Components of Inventories (Detail) link:presentationLink link:definitionLink link:calculationLink 1063 - Disclosure - Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail) link:presentationLink link:definitionLink link:calculationLink 1064 - Disclosure - Property, Plant and Equipment - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1065 - Disclosure - Accrued Expenses - Summary of Accrued Expenses (Detail) link:presentationLink link:definitionLink link:calculationLink 1066 - Disclosure - Credit Agreement and Long- Term Debt - Schedule of Long Term Debt in the Accompanying Condensed Consolidated Balance Sheets (Detail) link:presentationLink link:definitionLink link:calculationLink 1067 - Disclosure - Credit Agreement and Long- Term Debt- Schedule of Required Principal Payments Remaining on Long Term Debt Outstanding (Detail) link:presentationLink link:definitionLink link:calculationLink 1068 - Disclosure - Credit Agreement and Long- Term Debt - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1069 - Disclosure - Paycheck Protection Program Loan - Additional information (Detail) link:presentationLink link:definitionLink link:calculationLink 1070 - Disclosure - Derivative Financial Instruments and Risk Management - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1071 - Disclosure - Derivative Financial Instruments and Risk Management - Schedule of Impact of the Derivative Instruments in the Condensed Consolidated Financial Statements (Detail) link:presentationLink link:definitionLink link:calculationLink 1072 - Disclosure - Employee Retention Credit - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1073 - Disclosure - Royalty Obligation - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1074 - Disclosure - Leases - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1075 - Disclosure - Leases - Schedule Of Balance Sheet And Other Information Related To Operating Leases (Detail) link:presentationLink link:definitionLink link:calculationLink 1076 - Disclosure - Leases - Lease Cost Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1077 - Disclosure - Leases - Maturities of lease liabilities (Detail) link:presentationLink link:definitionLink link:calculationLink 1078 - Disclosure - Leases - Supplemental cash flow information (Detail) link:presentationLink link:definitionLink link:calculationLink 1079 - Disclosure - Accumulated Other Comprehensive Loss - Changes in Balance of Accumulated Other Comprehensive Loss (Detail) link:presentationLink link:definitionLink link:calculationLink 1080 - Disclosure - Shareholders' Equity - Additional information (Detail) link:presentationLink link:definitionLink link:calculationLink 1081 - Disclosure - Share-Based Compensation - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1082 - Disclosure - Share-Based Compensation - Share-Based Compensation Expense (Detail) link:presentationLink link:definitionLink link:calculationLink 1083 - Disclosure - Share-Based Compensation - Aggregated Information Regarding Stock Options Granted (Detail) link:presentationLink link:definitionLink link:calculationLink 1084 - Disclosure - Share-Based Compensation - Summary of Options Outstanding (Detail) link:presentationLink link:definitionLink link:calculationLink 1085 - Disclosure - Share-Based Compensation - Aggregated Information Regarding RSUs and RSAs Granted (Detail) link:presentationLink link:definitionLink link:calculationLink 1086 - Disclosure - Income Taxes - Components of Income before Income Taxes (Detail) link:presentationLink link:definitionLink link:calculationLink 1087 - Disclosure - Income Taxes - Components of Provision for Income Taxes (Detail) link:presentationLink link:definitionLink link:calculationLink 1088 - Disclosure - Income Taxes - Reconciliation of income tax provision/(benefit) With The Amount Computed By Applying The Statutory Federal Income Tax Rate To The Income Before Income Tax Provision/(benefit) (Detail) link:presentationLink link:definitionLink link:calculationLink 1089 - Disclosure - Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Detail) link:presentationLink link:definitionLink link:calculationLink 1090 - Disclosure - Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Parenthetical) (Detail) link:presentationLink link:definitionLink link:calculationLink 1091 - Disclosure - Income Taxes - Change in Balance of Unrecognized Tax Benefits, Excluding Interest and Penalties (Detail) link:presentationLink link:definitionLink link:calculationLink 1092 - Disclosure - Income Taxes - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1093 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1094 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Net Sales and Segment Operating Profit (loss) for Each Reporting Segment (Detail) link:presentationLink link:definitionLink link:calculationLink 1095 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Summary of Other Information by Segment (Detail) link:presentationLink link:definitionLink link:calculationLink 1096 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Summary of Selected Financial Information by Geographic Area (Detail) link:presentationLink link:definitionLink link:calculationLink 1097 - Disclosure - Employee Benefit Plans - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1098 - Disclosure - Product Warranty Liability - Activity in Product Warranty Liability (Detail) link:presentationLink link:definitionLink link:calculationLink 1099 - Disclosure - Product Warranty Liability - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1100 - Disclosure - Concentration of Risk - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1101 - Disclosure - Commitments and Contingencies - Additional Information (Detail) link:presentationLink link:definitionLink link:calculationLink 1102 - Disclosure - Fair Value Measurements - Schedule of Company's Long-Term Debt Including the Current Portion Not Reflected in Financial Statements at Fair Value (Detail) link:presentationLink link:definitionLink link:calculationLink 1103 - Disclosure - Schedule II - Valuation and Qualifying Accounts and Reserves (Detail) link:presentationLink link:definitionLink link:calculationLink EX-101.CAL 9 alot-20230131_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 10 alot-20230131_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 11 alot-20230131_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE EX-101.PRE 12 alot-20230131_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE XML 13 R1.htm IDEA: XBRL DOCUMENT v3.23.1
Cover Page - USD ($)
12 Months Ended
Jan. 31, 2023
Apr. 12, 2023
Jul. 30, 2022
Cover [Abstract]      
Document Type 10-K    
Amendment Flag false    
Document Period End Date Jan. 31, 2023    
Document Fiscal Year Focus 2023    
Document Fiscal Period Focus FY    
Entity Registrant Name AstroNova, Inc.    
Entity Central Index Key 0000008146    
Current Fiscal Year End Date --01-31    
Entity Voluntary Filers No    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Entity Well-known Seasoned Issuer No    
Entity Filer Category Accelerated Filer    
Trading Symbol ALOT    
Entity Shell Company false    
Entity Small Business true    
Entity Emerging Growth Company false    
Title of 12(b) Security Common Stock    
Security Exchange Name NASDAQ    
Entity Incorporation, State or Country Code RI    
Entity File Number 0-13200    
Document Annual Report true    
Document Transition Report false    
Entity Tax Identification Number 05-0318215    
Entity Address, Address Line One 600 East Greenwich Avenue    
Entity Address, City or Town West Warwick    
Entity Address, Postal Zip Code 02893    
Entity Address, State or Province RI    
City Area Code 401    
Local Phone Number 828-4000    
Entity Common Stock, Shares Outstanding   7,400,560  
Entity Public Float     $ 84,333,000
ICFR Auditor Attestation Flag true    
Auditor Name Wolf & Company, P.C.    
Auditor Firm ID 392    
Auditor Location Boston, MA    
XML 14 R2.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Balance Sheets - USD ($)
$ in Thousands
Jan. 31, 2023
Jan. 31, 2022
CURRENT ASSETS    
Cash and Cash Equivalents $ 3,946 $ 5,276
Accounts Receivable, net of reserves of $731 in 2023 and $826 in 2022 21,598 17,124
Inventories 51,324 34,609
Employee Retention Credit Receivable 0 3,135
Prepaid Expenses and Other Current Assets 2,894 3,634
Total Current Assets 79,762 63,778
Property, Plant and Equipment, net 14,288 11,441
Identifiable Intangibles, net 21,232 19,200
Goodwill 14,658 12,156
Deferred Tax Assets, net 6,907 5,591
Right of Use Asset 794 1,094
Other Assets 1,566 1,695
TOTAL ASSETS 139,207 114,955
CURRENT LIABILITIES    
Accounts Payable 8,618 8,590
Accrued Compensation 2,750 3,512
Other Accrued Expenses 3,308 4,113
Revolving Line of Credit 15,900 0
Current Portion of Long-Term Debt 2,100 1,000
Current Liability—Royalty Obligation 1,725 2,000
Current Liability—Excess Royalty Payment Due 423 235
Income Taxes Payable 786 323
Deferred Revenue 1,888 262
Total Current Liabilities 37,498 20,035
NON-CURRENT LIABILITIES    
Long-Term Debt, net of current portion 12,040 8,154
Royalty Obligation, net of current portion 3,415 4,361
Lease Liabilities, net of current portion 555 808
Income Taxes Payable 491 399
Deferred Revenue 674 0
Deferred Tax Liabilities 167 186
TOTAL LIABILITIES 54,840 33,943
Commitments and Contingencies
SHAREHOLDERS' EQUITY    
Preferred Stock 0 0
Common Stock 534 528
Additional Paid-in Capital 61,131 59,692
Retained Earnings 59,175 56,514
Treasury Stock, at Cost (34,235) (33,974)
Accumulated Other Comprehensive Loss, net of tax (2,238) (1,748)
TOTAL SHAREHOLDERS' EQUITY 84,367 81,012
TOTAL LIABILITIES AND SHAREHOLDERS' EQUITY $ 139,207 $ 114,955
XML 15 R3.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Jan. 31, 2023
Jan. 31, 2022
Statement of Financial Position [Abstract]    
Accounts Receivable, Reserves $ 731 $ 826
Preferred Stock, Par Value $ 10 $ 10
Preferred Stock, Shares Authorized 100,000 100,000
Preferred Stock, Shares Issued 0 0
Common Stock, Par Value $ 0.05 $ 0.05
Common Stock, Shares Authorized 13,000,000  
Common Stock, Shares Issued 10,676,851 10,566,404
Treasury Stock, Shares 3,342,032 3,324,280
XML 16 R4.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statements of Income - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Income Statement [Abstract]      
Revenue $ 142,527 $ 117,480 $ 116,033
Cost of Revenue 94,371 73,741 74,673
Gross Profit 48,156 43,739 41,360
Costs and Expenses:      
Selling and Marketing 24,456 23,177 23,301
Research and Development 6,822 6,753 6,206
General and Administrative 11,435 9,553 9,420
Operating Expenses 42,713 39,483 38,927
Operating Income 5,443 4,256 2,433
Other Income (Expense):      
Interest Expense (1,678) (677) (955)
Gain (Loss) on Foreign Currency Transactions (474) (288) 590
Gain on Extinguishment of Debt – PPP Loan 0 4,466  
Loss on Disposal of Assets 0 (696)  
Other, net 119 (27) 111
Other Income (Expense), net (2,033) 2,778 (254)
Income before Income Taxes 3,410 7,034 2,179
Income Tax Provision 749 605 895
Net Income $ 2,661 $ 6,429 $ 1,284
Net Income Per Common Share—Basic $ 0.36 $ 0.89 $ 0.18
Net Income Per Common Share—Diluted $ 0.36 $ 0.88 $ 0.18
Weighted Average Number of Common Shares Outstanding—Basic 7,307 7,207 7,104
Dilutive Effect of Common Stock Equivalents 67 132 62
Weighted Average Number of Common Shares Outstanding—Diluted 7,374 7,339 7,166
XML 17 R5.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Statement of Comprehensive Income [Abstract]      
Net Income $ 2,661 $ 6,429 $ 1,284
Other Comprehensive Income (Loss), net of taxes and reclassification adjustments:      
Foreign Currency Translation Adjustments (537) (1,426) 710
Change in Value of Derivatives Designated as Cash Flow Hedge 0 0 (239)
(Gains) Losses from Cash Flow Hedges Reclassified to Income Statement 47 62 193
Cross-Currency Interest Rate Swap Terminations 0 0 45
Other Comprehensive Income (Loss) (490) (1,364) 709
Comprehensive Income $ 2,171 $ 5,065 $ 1,993
XML 18 R6.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statements of Changes in Shareholders' Equity - USD ($)
$ in Thousands
Total
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
Treasury Stock [Member]
Accumulated Other Comprehensive Income (Loss) [Member]
Beginning Balance at Jan. 31, 2020 $ 71,375 $ 517 $ 56,130 $ 49,298 $ (33,477) $ (1,093)
Beginning Balance, Shares at Jan. 31, 2020   10,343,610        
Share-Based Compensation 1,819   1,819      
Employee Option Exercises $ 104 $ 1 103   0  
Employee Option Exercises, Shares 1,200 16,487        
Restricted Stock Awards Vested, net $ (111) $ 3 (3)   (111)  
Restricted Stock Awards Vested, net, Shares   64,997        
Common Stock—Cash Dividend—$0.07 per share (497)     (497)    
Net Income 1,284     1,284    
Other Comprehensive Income (Loss) 709         709
Ending Balance at Jan. 31, 2021 74,683 $ 521 58,049 50,085 (33,588) (384)
Ending Balance, Shares at Jan. 31, 2021   10,425,094        
Share-Based Compensation 1,493   1,493      
Employee Option Exercises $ 157 $ 1 156      
Employee Option Exercises, Shares 6,425 14,371        
Restricted Stock Awards Vested, net $ (386) $ 6 (6)   (386)  
Restricted Stock Awards Vested, net, Shares   126,939        
Net Income 6,429     6,429    
Other Comprehensive Income (Loss) (1,364)         (1,364)
Ending Balance at Jan. 31, 2022 81,012 $ 528 59,692 56,514 (33,974) (1,748)
Ending Balance, Shares at Jan. 31, 2022   10,566,404        
Share-Based Compensation 1,290   1,290      
Employee Option Exercises $ 155 $ 2 153      
Employee Option Exercises, Shares 42,944 25,123        
Restricted Stock Awards Vested, net $ (261) $ 4 (4)   (261)  
Restricted Stock Awards Vested, net, Shares   85,324        
Net Income 2,661     2,661    
Other Comprehensive Income (Loss) (490)         (490)
Ending Balance at Jan. 31, 2023 $ 84,367 $ 534 $ 61,131 $ 59,175 $ (34,235) $ (2,238)
Ending Balance, Shares at Jan. 31, 2023   10,676,851        
XML 19 R7.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statements of Changes in Shareholders' Equity (Parenthetical)
12 Months Ended
Jan. 31, 2021
$ / shares
Statement of Stockholders' Equity [Abstract]  
Cash dividend per share $ 0.07
XML 20 R8.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Cash Flows from Operating Activities:      
Net Income $ 2,661 $ 6,429 $ 1,284
Adjustments to Reconcile Net Income to Net Cash (Used) Provided By Operating Activities:      
Depreciation and Amortization 3,916 3,994 5,983
Amortization of Debt Issuance Costs 25 44 75
Share-Based Compensation 1,290 1,493 1,819
Loss on Disposal of Assets 0 696  
Gain on Extinguishment of Debt 0 (4,466)  
Deferred Income Tax Provision (Benefit) (1,336) 210 (1,021)
Changes in Assets and Liabilities, net of impact of acquisition:      
Accounts Receivable (1,234) 77 2,702
Other Receivable – Employee Retention Credit Receivable 3,135 (3,135)  
Inventories (11,581) (4,883) 4,247
Accounts Payable and Accrued Expenses (3,236) 4,052 (57)
Income Taxes Payable 1,710 (2,043) 1,482
Other 1,714 (1,074) (970)
Net Cash Provided (Used) by Operating Activities (2,936) 1,394 15,544
Cash Flows from Investing Activities:      
Cash Paid for Astro Machine Acquisition, net of cash acquired (17,034)    
Additions to Property, Plant and Equipment (229) (1,796) (2,587)
Net Cash Used by Investing Activities (17,263) (1,796) (2,587)
Cash Flows from Financing Activities:      
Net Cash Proceeds from Employee Stock Option Plans 85 60 9
Net Cash Proceeds from Share Purchases under Employee Stock Purchase Plan 70 96 95
Net Cash Used for Payment of Taxes Related to Vested Restricted Stock (261) (386) (111)
Net (Repayments)/Borrowings under Revolving Credit Facility 15,900   (6,500)
Payment of Minimum Guarantee Royalty Obligation (2,000) (2,000) (2,000)
Proceeds from Long-Term Debt – PPP Loan     4,422
Proceeds from Long-Term Debt Borrowings 6,000 10,000 15,232
Payoff of Long-Term Debt   (12,576) (11,732)
Principal Payments on Long-Term Debt (1,000) (750) (3,958)
Payments of Debt Issuance Costs (39)   (100)
Dividends Paid     (497)
Net Cash Provided (Used) by Financing Activities 18,755 (5,556) (5,140)
Effect of Foreign Exchange Rate Changes on Cash and Cash Equivalents 114 (205) (627)
Net Increase (Decrease) in Cash and Cash Equivalents (1,330) (6,163) 7,190
Cash and Cash Equivalents, Beginning of Year 5,276 11,439 4,249
Cash and Cash Equivalents, End of Year 3,946 5,276 11,439
Supplemental Information:      
Cash Paid During the Period for Interest 791 342 677
Cash Paid During the Period for Income Taxes, Net of Refunds 311 $ 2,414 $ 446
Non-Cash Transactions:      
Reclassifcation of Inventories to Property, Plant and Equipment 348    
Recognize intangible asset and royalty payable related to Honeywell Asset Purchase and License Agreement $ 530    
XML 21 R9.htm IDEA: XBRL DOCUMENT v3.23.1
Summary of Significant Accounting Policies
12 Months Ended
Jan. 31, 2023
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies
Note 1—Summary of Significant Accounting Policies
Basis of Presentation:
The accompanying financial statements and accompanying notes have been prepared by us pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (“SEC”) and are presented in conformity with U.S. generally accepted accounting principles (“U.S. GAAP”). Our fiscal year end is January 31. Unless otherwise stated, all years and dates refer to our fiscal year.
Principles of Consolidation:
The consolidated financial statements include the accounts of AstroNova, Inc. and its subsidiaries. All material intercompany accounts and transactions are eliminated in consolidation.
Reclassification:
Certain amounts in prior year’s financial statements have been reclassified to conform to the current year’s presentation.
Use of Estimates:
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 using information that is reasonably available to us at this time. Some of the more significant estimates relate to revenue recognition; the allowances for doubtful accounts; inventory valuation; income taxes; valuation of long-lived assets, intangible assets and goodwill; share-based compensation; and warranty reserves. Management’s estimates are based on the facts and circumstances available at the time estimates are made, historical experience, risk of loss, general economic conditions and trends, and management’s assessments of the probable future outcome of these matters, including our expectations at the time
regarding
the ongoing impact from the
COVID-19
pandemic. Consequently, actual results could differ from those estimates.
Cash and Cash Equivalents:
Highly liquid investments with an original maturity of 90 days or less are considered to be cash equivalents. At
January
 31, 2023 and 2022, $3.2 million and $3.7 million, respectively, was held in foreign bank accounts.
Inventories:
Inventories are stated at the lower of standard and average cost or net realizable value and include material, labor and manufacturing overhead.
Property, Plant and Equipment:
Property
, plant and equipment are stated at cost less accumulated depreciation. Depreciation is provided on the straight-line basis over the estimated useful lives of the assets (land improvements—10 to 20 years; buildings and leasehold improvements—10 to 45 years; machinery and equipment—3 to 10 years and
computer
equipment and software—3 to 10 years).
Revenue Recognition:
We recognize revenue in accordance with Accounting Standards Codification (“ASC”) 606 “Revenue from Contracts with Customers (“ASC 606”).” The core principle of ASC 606 is to recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC 606 defines a five-step process to recognize revenue and requires judgment and estimates within the revenue recognition process, including identifying contracts with customers, identifying performance obligations in the contract, determining and estimating the amount of any variable consideration to include in the transaction price and allocating the transaction price to each separate performance obligation and recognizing revenue when the entity satisfies each performance obligation.
The vast majority of our revenue is generated from the sale of distinct products. Revenue is measured as the amount of consideration we expect to receive in exchange for such products, which is generally at the contractually stated prices, and is recognized when we satisfy a performance obligation by transferring control of
a product to a customer. The transfer of control generally occurs at one point in time, upon shipment, when title and risk of loss pass to the customer. Returns and customer credits are infrequent and are recorded as a reduction to revenue. Sales taxes and value added taxes collected concurrently with revenue generating activities are excluded from revenue.
Many of the contracts entered into with customers are commonly comprised of a combination of equipment, supplies, installation and/or training services. We determine performance obligations by assessing whether the products or services are distinct from other elements of the contract. In order to be distinct, the product must perform either on its own or with readily available resources and must be separate within the context of the contract.
Most of our hardware products contain embedded operating systems and data management software which is included in the purchase price of the equipment. The software is deemed incidental to the systems as a whole, as it is not sold or marketed separately, and its production costs are minor compared to those of the hardware system. Hardware and software elements are typically delivered at the same time and are accounted for as a single performance obligation for which revenue is recognized at the point in time when ownership is transferred to the customer.
Installation and training services vary based on certain factors such as the complexity of the equipment, staffing availability in a geographic location and customer preferences, and can range from a few days to a few months. The delivery of installation and training services are not assessed to determine whether they are separate performance obligations, as the amounts are not material to the contract.
Shipping and handling activities that occur after control over a product has transferred to a customer are accounted for as fulfillment activities rather than performance obligations, as allowed under a practical expedient provided by ASC 606. The shipping and handling fees charged to customers are recognized as revenue and the related costs are included in cost of revenue at the point in time when ownership of the product is transferred to the customer.
We may perform services at the request of the customer, generally for the repair and maintenance of products previously sold. These services are short in duration and total approximately 5.0% and 4.4% of revenue for the years ended January 31, 2023 and 2022, respectively. Revenue is recognized as services are rendered and accepted by the customer. We also provide service agreements on certain of our Product Identification equipment. Service agreements are purchased separately from the equipment and provide for the right to obtain service and maintenance on the equipment for a period of typically one to two years. Accordingly, revenue on these agreements is recognized over the term of the agreements. The portion of service agreement contracts that are uncompleted at the end of any reporting period are included in deferred revenue.
We generally provide warranties for our products. The standard warranty period is typically 12 months for most hardware products except for airborne printers, which typically have warranties that extend for
3-5
years, consistent with industry practice. Such assurance-type warranties are not deemed to be separate performance obligations from the hardware product and costs associated with providing the warranties are accrued in accordance with ASC 450, “Contingencies,” as we have the ability to ascertain the likelihood of the liability and can reasonably estimate the amount of the liability. Our estimate of costs to service the warranty obligations is based on historical experience and expectations of future conditions. To the extent that our experience in warranty claims or costs associated with servicing those claims differ from the original estimates, revisions to the estimated warranty liability are recorded at that time, with an offsetting adjustment to cost of revenue. On occasion, customers request a warranty period longer than our standard warranty. In those instances, in which extended warranty services are separately quoted to the customer, an additional performance obligation is created, and the associated revenue is deferred and recognized as service revenue ratably over the term of the extended warranty period. The portion of service contracts and extended warranty services agreements that are uncompleted at the end of any reporting period are included in deferred revenue.
 
We recognize and subsequently amortize an asset for the incremental direct costs of obtaining a contract with a customer if we expect the benefit of those costs to be longer than one year (Refer to Note 3, “Revenue Recognition” included in our notes to the consolidated financial statement). We apply the practical expedient to expense costs incurred for costs to obtain a contract when the amortization period would have been less than a year. These costs include sales commissions paid to the internal direct sales team as well as to third-party representatives and distributors. Contractual agreements with each of these parties outline commission structures and rates to be paid. Generally speaking, the contracts are all individual procurement decisions by the customers and do not include renewal provisions and, as such, the majority of the contracts have an economic life of significantly less than a year.
Accounts Receivables and Allowance for Doubtful Accounts:
Standard payment terms are typically 30 days after shipment but vary by type and geographic location of our customer. Credit is extended based upon an evaluation of the customer’s financial condition. In circumstances where we are aware of a customer’s inability to meet its financial obligations, an allowance is established. The remainder of the allowance established is based on a variety of factors, including the age of amounts outstanding relative to their contractual due date, historical
write-off
experience and current market assessments. Accounts receivable are stated at their estimated net realizable value.
Business Combinations:
We account for business acquisitions under the acquisition method of accounting in accordance with ASC 805, ‘‘Business Combinations,’’ where the total purchase price is allocated to the tangible and identified intangible assets acquired and liabilities assumed based on their estimated fair values. The purchase price is allocated using the information currently available, and may be adjusted, up to one year from acquisition date, after obtaining more information regarding, among other things, asset valuations, liabilities assumed and revisions to preliminary estimates. The purchase price in excess of the fair value of the tangible and identified intangible assets acquired less liabilities assumed is recognized as goodwill. Determining the fair value of assets acquired and liabilities assumed requires management to use significant judgment and estimates, including the selection of valuation methodologies, estimates of future revenue, costs and cash flows, discount rates, and selection of comparable companies. Management’s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and unpredictable. As a result, actual results may differ from these estimates. During the measurement period, we may record adjustments to acquired assets and assumed liabilities, with corresponding offsets to goodwill. Upon the conclusion of a measurement period, any subsequent adjustments are recorded to earnings.
At the acquisition date, the Company measures the fair values of all assets acquired and liabilities assumed that arise from contractual contingencies. The Company also measures the fair values of all
non-contractual
contingencies if, as of the acquisitions date, it is more likely than not that the contingencies will give rise to assets or liabilities.
Acquisition related costs not considered part of the considerations are expensed as incurred and recorded in Acquisition costs within the consolidated statement of operations.
Research
and Development Costs:
We charge costs to expense in the period incurred, and these expenses are presented in the consolidated statement of income. The following costs are included in research and development expense: salaries and benefits, external engineering service costs, engineering related information costs and supplies.
Foreign Currency Translation:
The financial statements of foreign subsidiaries and branches are measured using the local currency as the functional currency. Foreign currency-denominated assets and liabilities are translated into U.S. dollars at
year-end
exchange rates with the translation adjustment recorded as a component of accumulated comprehensive income (loss) in shareholders’ equity. Revenues and expenses are translated at the average monthly exchange rates in effect during the related period. We do not provide for U.S. income taxes on foreign currency translation adjustments associated with our subsidiaries in Germany, Denmark and China since
 
their undistributed earnings are considered to be permanently invested. Included in our consolidated statements of income was a net transaction foreign exchange loss of $0.5 million and $0.3 million in fiscal 2022 and 2023, respectively, and a net transaction foreign exchange gain of $0.6 million in fiscal 2021.
Advertising:
We expense advertising costs as incurred. Advertising costs including advertising production, trade shows and other activities are designed to enhance demand for our products and amounted to approximately $1.6 million, $1.3 million, and $0.9 million in fiscal years 2023, 2022, and 2021, respectively.
Long-Lived Assets:
Long-lived assets to be held and used are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the projected undiscounted cash flows are less than the carrying value, then an impairment charge would be recorded for the excess of the carrying value over the fair value, as determined by the discounting of future cash flows. There were no impairment charges for our long-lived assets in fiscal years 2023, 2022, or 2021.
Intangible Assets:
Intangible assets include the value of customer and distributor relationships, trademarks and existing technology acquired in connection with business and asset acquisitions and are stated at cost (fair value at acquisition) less accumulated amortization. These intangible assets have a definite life and are amortized over the assets’ useful lives using a systematic and rational basis which is representative of the assets’ use. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. If necessary, an impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows used in determining the fair value of the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value. Fair value is generally determined using a discounted cash flow analysis. There were no impairment charges for our intangible assets in fiscal years 2023, 2022, or 2021.
Goodwill:
Goodwill represents the excess of the aggregate purchase price over the fair value of the net assets acquired in a purchase business combination. Management evaluates the recoverability of goodwill annually or more frequently if events or changes in circumstances, such as declines in revenue, earnings or cash flows, or material adverse changes in the business climate indicate that the carrying value of an asset might be impaired. Goodwill is tested for impairment at the reporting unit level. A reporting unit is an operating segment, or a business unit one level below an operating segment if discrete financial information for that business is prepared and regularly reviewed by segment management. However, components within an operating segment are aggregated as a single reporting unit if they have similar economic characteristics. We determined that each of our operating segments (Product Identification (“PI”) and Test & Measurement (“T&M”) represents a reporting unit for purposes of goodwill impairment testing.
The accounting guidance related to goodwill impairment testing allows for the performance of an optional qualitative assessment of whether it is more likely than not that the fair value of a reporting unit is less than its carrying value. Factors that management considers in this qualitative assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management and strategy and changes in the composition or carrying amount of net assets. If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying value, then a quantitative assessment is required for the reporting unit. Additionally, we can elect to forgo the qualitative assessment and perform the quantitative test. The quantitative assessment compares the fair value of the reporting unit with its carrying value. If the quantitative assessment is performed, we estimate the fair value of our reporting units using a blended income and market approach. The income approach is based on a discounted cash flow model and provides a fair value estimate based upon the reporting unit’s expected long-term operating cash flow performance. The market approach compares the reporting unit to publicly traded companies and transactions involving similar business, and requires the use of many assumptions and estimates including future revenue, expenses, capital expenditures, and working capital, as well as discount factors and
 
income tax rates. If the fair value of the reporting unit exceeds the carrying value of the net assets including goodwill assigned to that unit, goodwill is not impaired. If the carrying value of the reporting unit’s net assets including goodwill exceeds the fair value of the reporting unit, then we record an impairment charge based on that difference. We performed a qualitative assessment for our fiscal 2023 analysis of goodwill. Based on this assessment, management does not believe that it is more likely than not that the carrying values of the reporting units exceed their fair values. Accordingly, no quantitative assessment was performed. There were no impairment charges for our goodwill in fiscal years 2023, 2022, or 2021.
Leases:
We account for our leases in accordance with ASC 842, “Leases” (“ASC 842”). ASC 842 requires a lessee to recognize assets and liabilities on the balance sheet for all leases, with the result being the recognition of a right of use (“ROU”) asset and a lease liability. The lease liability is equal to the present value of the minimum lease payments for the term of the lease, including any optional renewal periods determined to be reasonably certain to be exercised, using a discount rate determined at lease commencement. This discount rate is the rate implicit in the lease, if known; otherwise, the incremental borrowing rate for the expected lease term is used. Our incremental borrowing rate approximates the rate we would have to pay to borrow on a collateralized basis over a similar term at lease inception. The value of the ROU asset is equal to the initial measurement of the lease liability plus any lease payments made to the lessor at or before the commencement date and any unamortized initial direct costs incurred by the lessee, less any unamortized lease incentives received. Several of our lease contracts include options to extend the lease term and we include the renewal options for these leases in the determination of the ROU asset and lease liability when the likelihood of renewal is determined to be reasonably certain.
We enter into lease contracts for certain of our facilities at various locations worldwide. At inception of a contract, we determine whether the contract is or contains a lease. If we have a right to obtain substantially all of the economic benefits from the use of the identified asset and the right to direct the use of the asset, then the contract contains a lease.
There are two types of leases, operating leases and finance leases. Lease classification is determined at lease commencement. We have made an accounting policy election to apply the short-term exception, which does not require the capitalization of leases with terms of 12 months or less. All of our leases are classified as operating leases. Operating lease expense is recognized on a straight-line basis over the lease term and included in general and administrative expense on the consolidated statement of income. ROU assets are classified as such on the consolidated balance sheet, short-term lease liabilities are classified in accrued expenses, and long-term lease liabilities are classified as such in the consolidated balance sheet. In the statement of cash flow, payments for operating leases are classified as operating activities.
In addition, several of our lease agreements include
non-lease
components for items such as common area maintenance and utilities which are accounted for separately from the lease component.
Income Taxes:
We use the liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on the differences between the financial reporting basis and tax basis of the assets and liabilities and are measured using statutory tax rates that will be in effect when the differences are expected to reverse. Our deferred taxes are presented as
non-current
in the accompanying consolidated balance sheet. An allowance against deferred tax assets is recognized when it is
more-likely-than-not
that some portion or all of the deferred tax assets will not be realized. At January 31, 2023, a valuation allowance was provided for deferred tax assets attributable to certain domestic R&D, foreign tax credit carryforwards and China net operating losses, all of which are expected to expire unused. At January 31, 2022, a valuation allowance was provided for deferred tax assets attributed to certain domestic R&D and foreign tax credit carryforwards.
We account for uncertain tax positions in accordance with the guidance provided in ASC 740, “Accounting for Income Taxes.” This guidance describes a recognition threshold and measurement attribute for the financial statement disclosure of tax positions taken or expected to be taken in a tax return and requires recognition of tax
 
benefits that satisfy a
more-likely-than-not
threshold. ASC 740 also provides guidance on
de-recognition,
classification, interest and penalties, accounting in interim periods and disclosure.
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was signed into law. The legislation had sweeping effects including various types of economic relief for impacted businesses and industries. One such relief provision was the Paycheck Protection Program, which provided short-term cash flow assistance to finance employee payroll and qualified expenses. On May 6, 2020, we entered into a loan agreement with, and executed a promissory note in favor of Greenwood Credit Union (“Greenwood”) pursuant to which we borrowed
 $4.4
million (the “PPP Loan”). On December 27, 2020, the Consolidated Appropriations Act, 2021, H.R. 133 was signed into law. The legislation permits the deductibility of expenses to the extent that the payment of such expenses results (or is expected to result) in the forgiveness of a loan (covered loan) guaranteed under the Paycheck Protection Program. We have fully utilized the PPP Loan proceeds for qualifying expenses and applied for forgiveness
of the PPP Loan. Consistent with the legislation, we deducted the full
 $4.4 million of qualified expenses on our 2020 federal tax return. On June 15, 2021, Greenwood notified us that the United States Small Business Administration (the “SBA”) approved our application for forgiveness of the entire $4.4 million principal balance of our PPP Loan and all accrued interest thereon. As a result, in the second quarter of fiscal 2022, we recorded a
$4.5 million gain on extinguishment of debt. The PPP loan forgiveness is excluded from taxable income under Section 1106(i) of the CARES Act.
Net Income Per Common Share:
Basic net income per share is based on the weighted average number of shares outstanding during the period. Diluted net income per share is based on the basic weighted average number of shares and potential common equivalent shares for stock options, restricted stock awards and restricted stock units outstanding during the period using the treasury stock method. In fiscal years 2023, 2022, and 2021, there were 685,667; 345,085; and 642,623, respectively, common equivalent shares that were not included in the computation of diluted net income per common share because their inclusion would be anti-dilutive.
Fair Value Measurement:
We measure our assets and liabilities at fair value on a recurring and
non-recurring
basis in accordance with the guidance provided in ASC 820, “Fair Value Measurement and Disclosures,” which defines fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. In addition, ASC 820 establishes a three-tiered hierarchy for inputs used in management’s determination of fair value of financial instruments that emphasizes the use of observable inputs over the use of unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that reflect management’s belief about the assumptions market participants would use in pricing a financial instrument based on the best information available in the circumstances.
The fair value hierarchy is summarized as follows:
 
   
Level 1—Quoted prices in active markets for identical assets or liabilities;
 
   
Level 2—Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and
 
   
Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities
Cash and cash equivalents, accounts receivable, accounts payable, accrued compensation, other accrued expenses and income tax payable are reflected in the consolidated balance sheet at carrying value, which approximates fair value due to the short-term nature of these instruments.
 
Self-Insurance:
We are self-insured for U.S. medical and dental benefits for qualifying employees and maintain stop-loss coverage from a third party which limits our exposure to large claims. We record a liability associated with these benefits that includes an estimate of both claims filed and losses incurred but not yet reported based on historical claims experience. In estimating this accrual, we utilize an independent third-party broker to estimate a range of expected losses, which are based on analyses of historical data. Assumptions are closely monitored and adjusted when warranted by changing circumstances. Our liability for self-insured claims is included within accrued compensation in our consolidated balance sheets and was
$0.3 million and $0.2 million at January 31, 2023 and 2022, respectively.
Share-Based Compensation:
Compensation expense for time-based restricted stock units is measured at the grant date and recognized ratably over the vesting period. We determine the fair value of time-based and performance-based restricted stock units based on the closing market price of our common stock on the grant date. The recognition of compensation expense associated with performance-based restricted stock units requires judgment in assessing the probability of meeting the performance goals, as well as defined criteria for assessing achievement of the performance-related goals. For purposes of measuring compensation expense, the number of shares ultimately expected to vest is estimated at each reporting date based on management’s expectations regarding the relevant performance criteria. The performance shares begin vesting only upon the achievement of the performance criteria. The achievement of the performance goals can impact the valuation and associated expense of the restricted stock units. The assumptions used in accounting for the share-based payment awards represent management’s best estimates, but these estimates involve inherent uncertainties and the application of management judgment. As a result, if circumstances change and we use different assumptions, our stock-based compensation expense could be materially different in the future.
Share-based compensation becomes deductible for determining income taxes when the related award vests, is exercised, or is forfeited depending on the type of share-based award and subject to relevant tax law.
Derivative Financial Instruments:
We occasionally use derivative instruments as part of our overall strategy to manage exposure to market risks primarily associated with fluctuations in foreign currency exchange rates and interest rates. Derivative instruments are recognized as either assets or liabilities in the balance sheet at fair value. The accounting for changes in the fair value (i.e., gains or losses) of a derivative instrument depends on whether it has been designated and qualifies as part of a hedging relationship and, further, on the type of hedging relationship. For derivative instruments not designated as hedging instruments, the gain or loss is recognized in the statement of income during the current period. For those derivative instruments that are designated and qualify as hedging instruments, a company must designate the hedging instrument, based upon the exposure being hedged, as a fair value hedge, cash flow hedge, or a hedge of a net investment in a foreign operation.
For derivative instruments that are designated and qualify as a cash flow hedge, the gain or loss on the derivative instrument is reported as a component of other comprehensive income/(loss) and reclassified into earnings in the same line item associated with the forecasted transaction, and in the same period or periods during which the hedged transaction affects earnings (e.g., in “Interest Expense” when the hedged transactions are interest cash flows associated with floating-rate debt, or “Other, Net” for portions reclassified relating to the remeasurement of the debt). The remaining gain or loss on the derivative instrument in excess of the cumulative change in the present value of future cash flows of the hedged item, if any, are recognized in the statement of income during the current period.
Recent Accounting Pronouncements
There were no new accounting pronouncements, issued or effective during fiscal 2023, that have had or are expected to have a material impact on our consolidated financial statements.
 
XML 22 R10.htm IDEA: XBRL DOCUMENT v3.23.1
Acquisitions
12 Months Ended
Jan. 31, 2023
Business Combinations [Abstract]  
Acquisitions
Note 2 – Acquisitions
Astro Machine
On August 4, 2022, we acquired Astro Machine LLC (“Astro Machine”), an Illinois-based manufacturer of printing equipment, including label printers, tabbers, conveyors, and envelope feeders, for aggregate consideration of $17.1 million.
The acquisition was accomplished pursuant to an Equity Interest Purchase Agreement dated as of August 4, 2022 (the “Purchase Agreement”) by and among us, GSND Holding Corporation (“GSND”), the parent company of Astro Machine, and Astro Machine. Pursuant to the Purchase Agreement, we purchased 100% of the issued and outstanding equity interests of Astro Machine from GSND for a purchase price of $15.6 million. The acquisition was funded using borrowings under our credit facility. We obtained a representation and warranty insurance policy and placed $300,000 of the purchase price into an escrow account, which pursuant to the terms and conditions of the Purchase Agreement, are our sole recourse for breaches of representations and warranties by GSND. Upon the closing of the transaction, Astro Machine became a wholly owned subsidiary of AstroNova, Inc.
Concurrently with the signing of the Purchase Agreement, our newly acquired subsidiary, Astro Machine, entered into a Purchase and Sale Agreement with Selak Real Estate Limited Partnership (“SRE”), pursuant to which Astro Machine purchased certain real property assets of SRE for a purchase price, paid in cash, of $1.5 million. These real estate assets are comprised of a 34,460 square foot industrial manufacturing building (including offices) on 1.26 acres of land, which is Astro Machine’s principal place of business.
This transaction is a business combination and was accounted for using the acquisition method of accounting prescribed by ASC 805, “Business Combinations” (“ASC 805”), whereby the results of operations, including the revenues and earnings of Astro Machine, are included in our financial statements from the date of acquisition. The purchase price of Astro Machine was allocated to the tangible and intangible assets acquired and liabilities assumed and recognized at their fair value based on widely accepted valuation techniques in accordance with ASC 820, “Fair Value Measurement,” as of the acquisition date. The process for estimating fair values requires the use of significant estimates, assumptions and judgments, including determining the timing and estimates of future cash flows and developing appropriate discount rates. The excess of the purchase price over the fair value of the net identified assets acquired and liabilities assumed was recorded as goodwill. ASC 805 establishes a measurement period to provide companies with a reasonable amount of time to obtain the information necessary to identify and measure various items in a business combination and cannot extend beyond one year from the acquisition date.
We completed our final fair value determination of the assets acquired and liabilities assumed during the fourth quarter of fiscal 2023. Since the initial preliminary estimates reported in the third quarter of fiscal 2023, we have adjusted certain amounts for the fair value of the assets acquired and liabilities assumed as a result of obtaining additional information that allowed us to determine the final purchase price allocation, as summarized in the table below. Measurement period adjustments were recognized in the reporting period in which the adjustments were determined and calculated as if the accounting had been completed at the acquisition date.
Total acquisition-related costs of $0.7 million are included in the general and administrative expenses in our consolidated statement of income for the year ended January 31, 2023.
 
The following table sets forth the final purchase price allocation of the Astro Machine acquisition for the estimated fair value of the net asset acquired and liabilities assumed as of the date of acquisition:
 
(In thousands)

 
 
 
 
Cash
   $ 91  
Accounts Receivable
     3,393  
Inventory
     5,715  
Property, Plant and Equipment
     4,200  
Identifiable Intangible Assets
     3,480  
Goodwill
     2,730  
Accounts Payable and Other Current Liabilities
     (2,484
    
 
 
 
Total Purchase Price
   $ 17,125  
The fair value of the intangible assets acquired was estimated by applying the income approach. This fair value measurement is based on significant inputs that are not observable in the market and therefore represent a Level 3 measurement as defined in ASC 820, “Fair Value Measurement.” Key assumptions in estimating the fair value of the intangibles include (1) remaining useful life of the tradename/trademarks and customer relations (2) the royalty rate of 0.75%, (3) customer attrition rate of 18.0%, (4) discount rate of 19.0% and (5) a range of revenue and net income projections for the fiscal years 2023-2026.
The following table sets forth the fair value of the acquired identifiable intangible assets and related estimated useful lives:
 
(In thousands)   
Fair
Value
 
  
Useful Life
(
y
ears)
 
Customer Relations
   $ 3,060        5  
Trademarks/Tradenames
     420        5  
    
 
 
          
Total
   $ 3,480           
    
 
 
          
The Customer Relations intangible asset represents the relationships that will be maintained with certain historical customers of Astro Machine. The trademark/tradename intangible assets reflect the industry reputation of the Astro Machine name recognition and the registered trademarks for the use of several marks and logos held by Astro Machine.
Goodwill of $2.73 million, which is not deductible for tax purposes, represents the excess of the purchase price over the estimated fair value assigned to the tangible and identifiable intangible assets acquired and liabilities assumed from Astro Machine. The goodwill recognized under ASC 805 is attributable to synergies which are expected to enhance and expand our overall product portfolio, opportunities in new and existing markets, future technologies that have yet to be determined and Astro Machine’s assembled work force. The carrying amount of the goodwill was allocated to the Product Identification (“PI”) segment.
The amounts of revenue and earnings before taxes included in our consolidated statement of income from the period August 4, 2022 (acquisition date) through January 31, 2023 are as follows:
 
(In thousands)
  
2023
 
Revenue
   $ 12,515  
Earnings before Taxes
     1,571  
Astro Machine results are reported as part of the PI segment. Proforma results are not provided, as disclosure of such amounts was impractical to determine as the acquired business had insufficient financial records and no audit
history prior to the transaction.
 
On June 30, 2022, AstroNova Inc. entered into an Asset Purchase and License Agreement with Honeywell Inc. (“New HW Agreement”) to acquire an exclusive, perpetual, world-wide license to manufacture Honeywell’s flight deck printers for the Boeing 787 aircraft.    The New HW Agreement provides for royalty payments to Honeywell based on gross revenues from the sales of the printers, paper and repair services of the licensed products in perpetuity. The royalty rates vary based on the year in which they are paid or earned and as products are sold or as services provided and range from single-digit to
mid-double-digit
percentages of gross revenue. The New HW Agreement included a provision for guaranteed minimum royalty payments to be paid in the event that the royalties earned by Honeywell do not meet the minimum for the preceding calendar year as follows: $100,000 in 2024, $200,000 in 2025, $233,000 in 2026 and 2027, and $234,000 in 2028.

This transaction was evaluated under ASC 805, “Business Combinations,” and was accounted for as an asset acquisition.

The purchase price was allocated to the customer relationship intangible, which was the only asset acquired as a result of this transaction. This asset will be amortized over the useful life of the intangible. The minimum royalty payment obligation and related customer relation intangible were recorded at the present value of the minimum royalty payments.
The acquired identifiable intangible asset is as follows:
 
(In thousands)
  
Fair
Value
 
  
Useful Life
(Years)
 
Customer Contract Relationships
  
$
530
 
  
 
20
 
The minimum royalty payment due was discounted based on the payment schedule and applicable discount rate, resulting in an outstanding royalty obligation of $0.5 million as of January 31, 2023, including $0.1 million recorded as a current liability.
Additional royalties based on sales activity will be recorded in the period that the associated revenue is earned. During the fourth quarter of 2023, we incurred $0.1 million
in e
xcess royalty expense, which is included in cost of revenue in our consolidated statement of income for the year ended January 31, 2023.
XML 23 R11.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition
12 Months Ended
Jan. 31, 2023
Revenue from Contract with Customer [Abstract]  
Revenue Recognition
Note 3—Revenue Recognition
We derive revenue from the sale of (i) hardware including, digital color la
be
l printers and specialty OEM printing systems, portable data acquisition systems and airborne printers used in the flight deck and interior of commercial, business and military aircraft, (ii) related consumable supplies including paper, labels, tags, inks, toners and ribbons, (iii) repairs and maintenance of equipment and (iv) service agreements
.
Revenues disaggregated by primary geographic markets and major product types are as follows:
Primary geographical markets:

(In thousands)   
2023
    
2022
    
2021
 
United States
   $ 91,917      $ 68,185      $ 70,911  
Europe
     31,021        31,922        29,029  
Canada
     8,393        6,519        5,574  
Asia
     5,345        5,926        5,105  
Central and South America
     4,589        3,271        3,950  
Other
     1,262        1,657        1,464  
    
 
 
    
 
 
    
 
 
 
Total Revenue
   $ 142,527      $ 117,480      $ 116,033  
    
 
 
    
 
 
    
 
 
 
 
Major product types:
 
(In thousands)   
2023
    
2022
    
2021
 
Hardware
   $ 42,445      $ 31,492      $ 34,111  
Supplies
     82,072        73,244        71,772  
Service and Other
     18,010        12,744        10,150  
    
 
 
    
 
 
    
 
 
 
Total Revenue
   $ 142,527      $ 117,480      $ 116,033  
    
 
 
    
 
 
    
 
 
 
In December 2022, we entered into an amended contract with one of our T&M customers that provided for a total payment of $3.25
 million to be received as a result of our claims allowable under French law relating to additional component costs we have incurred and will continue to incur in order to supply aerospace printers under the contract for the period beginning in April 2022 and continuing through 2025. As of January 31, 2023, $
1.1 million was recognized as revenue in the consolidated income statement for the period ended January 31, 2023, in proportion to the total estimated shipments through the end of the contract period. The balance is recorded within deferred revenue, both current and
non-current,
and will be recognized into revenue based on shipments made of the printers during fiscal years 2024 and 2025.
Contract Assets and Liabilities
We normally do not have contract assets, which are primarily unbilled accounts receivable that are conditional on something other than the passage of time.
Our contract liabilities, which represent billings in excess of revenue recognized, are related to advanced billings for purchased service agreements and extended warranties. Contract liabilities were $412,000 and $262,000 at January 31, 2023 and January 31, 2022, respectively, and are recorded as current deferred revenue in the accompanying consolidated balance sheet. The decrease in the deferred revenue balance during the year ended January 31, 2023 is primarily due to $248,000 of revenue recognized during the period that was included in the deferred revenue balance at January 31, 2023 offset by cash payments received in advance of satisfying performance obligations.
Contract Costs
We have determined that certain costs related to obtaining sales contracts for our aerospace printer products meet the requirement to be capitalized. In the second quarter of fiscal 2022, we extended the remaining useful life of these deferred costs from 6 years to 20 years and changed the amortization method from units sold to the straight-line method. We believe these changes, based on
the life of the aircraft under the applicable sales contracts, appropriately reflects a more systematic and rational approach. This change was treated as a change in
 
accounting estimate that is affected by a change in accounting principle. The impact on net income was immaterial for the period ended January 
31
,
2022
. The balance of these contract assets at
January 31, 2022
, was $
1.3
 million, and in the first quarter of fiscal
2023
we incurred an additional $
0.1
 million in contract costs that will be amortized over
19
years. For the years ended January 
31
,
2023
,
2022
and
2021
, we amortized contract costs of $
75,000
, $
60,000
and $
27,000
, respectively. The balance of deferred incremental direct costs net of accumulated amortization at January 
31
,
2023
, was $
1.4
 million, of which $
0.1
 million is reported in other current assets and $
1.3
 million is reported in ot
her as
sets in the accompanying consolidated balance sheet.
XML 24 R12.htm IDEA: XBRL DOCUMENT v3.23.1
Intangible Assets
12 Months Ended
Jan. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible Assets
Note 4—Intangibl
e
Assets
Intangible assets are as follows:
 
 
 
January 31, 2023
 
 
January 31, 2022
 
(In thousands)
 
Gross
Carrying
Amount
 
 
Accumulated
Amortization
 
 
Currency
Translation
Adjustment
 
 
Net
Carrying
Amount
 
 
Gross
Carrying
Amount
 
 
Accumulated
Amortization
 
 
Currency
Translation
Adjustment
 
 
Net
Carrying
Amount
 
Miltope:
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
$
3,100
 
 
$
(2,777
 
$
—  
 
 
$
323
 
 
$
3,100
 
 
$
(2,515
 
$
—  
 
 
$
585
 
RITEC:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
 
2,830
 
 
 
(1,623
 
 
—  
 
 
 
1,207
 
 
 
2,830
 
 
 
(1,557
 
 
—  
 
 
 
1,273
 
TrojanLabel:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Existing Technology
 
 
2,327
 
 
 
(2,087
 
 
94
 
 
 
334
 
 
 
2,327
 
 
 
(1,767
 
 
127
 
 
 
687
 
Distributor Relations
 
 
937
 
 
 
(588
 
 
27
 
 
 
376
 
 
 
937
 
 
 
(498
 
 
46
 
 
 
485
 
Honeywell:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
 
27,773
 
 
 
(11,913
 
 
—  
 
 
 
15,860
 
 
 
27,243
 
 
 
(11,073
 
 
—  
 
 
 
16,170
 
Astro Machine:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
 
3,060
 
 
 
(306
 
 
—  
 
 
 
2,754
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
Trademarks
 
 
420
 
 
 
(42
 
 
—  
 
 
 
378
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
Intangible Assets, net
 
$
40,447
 
 
$
(19,336
 
$
121
 
 
$
21,232
 
 
$
36,437
 
 
$
(17,410
 
$
173
 
 
$
19,200
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
In the second quarter of 2022, we extended the remaining useful life of the pre-existing customer contract relationship intangibles for Honeywell International, Inc. (“Honeywell”) from
6 years to 20 years and for the RITEC intangibles we changed the amortization method which was based on revenue with a remaining life of 4 years to the straight-line method with a
20-year
remaining life. We believe these changes, based on the life of the aircraft related to these intangibles, appropriately reflects a more systematic and rational approach to distributing the cost of these intangibles over their useful lives. The change in the amortization of the Honeywell customer contract relationship intangibles is being treated as a change in accounting estimate in 2022 and the change in the amortization of the RITEC customer contract relationship intangibles is being treated as a change in accounting estimate in 2022 that is effected by a change in accounting principle. The changes in amortization resulted in a $1.8 million decrease in amortization expense and a $1.8 million increase to net income for the period ended January 31, 2022.
There were no impairments to intangible assets during the periods ended January 31, 2023 and 2022. Amortization expense of $1.9 million, $2.2 million, and $4.1 million with regard to acquired intangibles has been included in the consolidated statements of income for the years ended January 31, 2023, 2022 and 2021, respectively.
Estimated amortization expense for the next
five
fiscal years is as follows:
 
(In thousands)   
2024
    
2025
    
2026
    
2027
    
2028
 
Estimated amortization expense
   $ 2,378      $ 1,719      $ 1,718      $ 1,7192      $ 1,281  
XML 25 R13.htm IDEA: XBRL DOCUMENT v3.23.1
Inventories
12 Months Ended
Jan. 31, 2023
Inventory Disclosure [Abstract]  
Inventories
Note 5—Inventories
The components of invento
ries
are as follows:
 
    
January 31,
 
    
2023
    
2022
 
(In thousands)              
Materials and Supplies
   $ 38,387      $ 22,709  
Work-in-Progress
     1,146        1,489  
Finished Goods
     23,221        19,718  
    
 
 
    
 
 
 
       62,754        43,916  
Inventory Reserve
     (11,430      (9,307
    
 
 
    
 
 
 
     $ 51,324      $ 34,609  
    
 
 
    
 
 
 
Finished goods inventory includes $2.3 million and $3.4 million of demonstration equipment at January 31, 2023 and 2022, respectively.
XML 26 R14.htm IDEA: XBRL DOCUMENT v3.23.1
Property, Plant and Equipment
12 Months Ended
Jan. 31, 2023
Property, Plant and Equipment [Abstract]  
Property, Plant and Equipment
Note 6—Property, Plant and Equipment
Property, plant and equipment consist of the following:
 
    
January 31,
 
    
2023
    
2022
 
(In thousands)              
Land and Land Improvements
   $ 2,304      $ 1,004  
Buildings and Leasehold Improvements
     14,158        12,666  
Machinery and Equipment
     24,960        23,238  
Computer Equipment and Software
     13,972        13,913  
    
 
 
    
 
 
 
Gross Property, Plant and Equipment
     55,394        50,821  
Accumulated Depreciation
     (41,106      (39,380
    
 
 
    
 
 
 
Net Property Plant and Equipment
   $ 14,288      $ 11,441  
    
 
 
    
 
 
 
Depreciation expense on property, plant and equipment was $2.0 million for the year ended January 31, 2023 and $1.7 million and $1.9 million for the years ended January 31, 2022 and 2021, respectively.
During fiscal 2022, we
wrote-off
our Oracle EnterpriseOne enterprise resource planning (“ERP”) system due to the full implementation of a new ERP system in our US operations. The book value and related accumulated depreciation of the Oracle EnterpriseOne ERP system along with the balance of the related prepaid service and maintenance contracts were removed from the accompanying consolidated balance sheet at January 31, 2022, and we have recorded a net loss on the disposal of $696,000, which is included in other income (expense) in the accompanying consolidated income statement for the year ended January 31, 2022.
XML 27 R15.htm IDEA: XBRL DOCUMENT v3.23.1
Accrued Expenses
12 Months Ended
Jan. 31, 2023
Payables and Accruals [Abstract]  
Accrued Expenses
Note 7—Accrued Expenses
Accrued expenses consist of the following:

 
  
January 31,
 
(In thousands)   
2023
    
2022
 
Warranty
   $ 1,072      $ 834  
Professional Fees
     311        411  
Freight
     —          347  
Lease Liability
     275        327  
Accrued Property & Sales Tax
     187        316  
Stockholder Relation Fees
     86        102  
Dealer Commissions
     78        139  
Other Accrued Expenses
     1,299        1,637  
    
 
 
    
 
 
 
     $ 3,308      $ 4,113  
    
 
 
    
 
 
 
XML 28 R16.htm IDEA: XBRL DOCUMENT v3.23.1
Credit Agreement and Long-Term Debt
12 Months Ended
Jan. 31, 2023
Debt Disclosure [Abstract]  
Credit Agreement and Long-Term Debt
Note 8—Credit Agreement and Long-Term Debt
Credit Agreement
In connection with the purchase of Astro Machine, on August 4, 2022, we entered into a Second Amendment to Amended and Restated Credit Agreement (the “Second Amendment”) with Bank of America, N.A., as lender (the “Lender”). The Second Amendment amended the Amended and Restated Credit Agreement dated as of July 30, 2020, as amended by the First Amendment to Amended and Restated Credit Agreement, dated as of March 24, 2021, and the LIBOR Transition Amendment, dated as of December 24, 2021 (the “Existing Credit Agreement,” and the Existing Credit Agreement as amended by the Second Amendment, the “Amended Credit Agreement”), between the Company and the Lender.
The Amended Credit Agreement provides for (i) a new term loan in the principal amount of $6.0 million, which term loan was in addition to the existing term loan outstanding under the Existing Credit Agreement in the principal amount of $9.0 million as of the effective date of the Second Amendment, and (ii) an increase in the aggregate principal amount of the revolving credit facility available thereunder from $22.5 million to $25.0 million. At the closing of the Second Amendment, we borrowed the entire $6.0 million term loan and $12.4 million under the revolving credit facility, and the proceeds of such borrowings were used in part to pay the purchase price payable under the Purchase Agreement and certain related transaction costs. The revolving credit facility may otherwise be used for corporate purposes.
The Amended Credit Agreement requires that the term loan be paid in quarterly installments on the last day of each of our fiscal quarters over the term of the Amended Credit Agreement on the following repayment schedule: the principal amount of each quarterly installment required to be paid on the last day of each of our fiscal quarters ending on or about October 31, 2022 through July 31, 2023 is $375,000; and the principal amount of each quarterly installment required to be paid on the last day of each of our fiscal quarters ending on or about October 31, 2023 through April 30, 2027 is $675,000. The entire remaining principal balance of the term loan is required to be paid on August 4, 2027. We may voluntarily prepay the term loan, in whole or in part, from time to time without premium or penalty (other than customary breakage costs, if applicable). We may repay borrowings under the revolving credit facility at any time without premium or penalty (other than customary breakage costs, if applicable), but in any event no later than August 4, 2027, and any outstanding revolving loans thereunder will be due and payable in full, and the revolving credit facility will terminate, on such date. We may reduce or terminate the revolving line of credit at any time, subject to certain thresholds and conditions, without premium or penalty.
The interest rates under the Amended Credit Agreement are as follows: the term loan and revolving credit loans bear interest at a rate per annum equal to, at our option, either (a) the BSBY Rate as defined in the
 
Amended Credit Agreement (or, in the case of revolving credit loans denominated in a currency other than U.S. Dollars, the applicable quoted rate), plus a margin that varies within a range of 1.60% to 2.50% based on our consolidated leverage ratio, or (b) a fluctuating reference rate equal to the highest of (i) the federal fund rate plus 0.50%, (ii) Bank of America’s publicly announced prime rate, (iii) the BSBY Rate plus 1.00%, or (iv) 0.50%, plus a margin that varies within a range of 0.60% to 1.50% based on our consolidated leverage ratio. In addition to certain other fees and expenses that we are required to pay to the Lender, we are required to pay a commitment fee on the undrawn portion of the revolving credit facility that varies within a range of 0.15% and 0.35% based on our consolidated leverage ratio. The loans under the Amended Credit Agreement are subject to certain mandatory prepayments, subject to various exceptions, from (a) net cash proceeds from certain dispositions of property, (b) net cash proceeds from certain issuances of equity, (c) net cash proceeds from certain issuances of additional debt and (d) net cash proceeds from certain extraordinary receipts.
Amounts repaid under the revolving credit facility may be reborrowed, subject to our continued compliance with the Amended Credit Agreement. No amount of the term loan that is repaid may be reborrowed.
We must comply with various customary financial and
non-financial
covenants under the Amended Credit Agreement. The financial covenants under the Amended Credit Agreement consist of a maximum consolidated leverage ratio, a minimum consolidated fixed charge coverage ratio and a minimum consolidated asset coverage ratio. The primary
non-financial
covenants limit our and our subsidiaries’ ability to incur future indebtedness, to place liens on assets, to pay dividends or distributions on our or our subsidiaries’ capital stock, to repurchase or acquire our or our subsidiaries’ capital stock, to conduct mergers or acquisitions, to sell assets, to alter our or our subsidiaries’ capital structure, to make investments and loans, to change the nature of our or our subsidiaries’ business, and to prepay subordinated indebtedness, in each case subject to certain exceptions and thresholds as set forth in the Amended Credit Agreement, certain of which provisions were modified by the Second Amendment. As of January 31, 2023, we believe we are in compliance with all of the covenants in the Credit Agreement.
The Lender is entitled to accelerate repayment of the loans and to terminate its revolving credit commitment under the Amended Credit Agreement upon the occurrence of any of various customary events of default, which include, among other events, the following (which are subject, in some cases, to certain grace periods): failure to pay when due any principal, interest or other amounts in respect of the loans, breach of any of our covenants or representations under the loan documents, default under any other of our or our subsidiaries’ significant indebtedness agreements, a bankruptcy, insolvency or similar event with respect to us or any of our subsidiaries, a significant unsatisfied judgment against us or any of our subsidiaries, or a change of control.
Our obligations under the Amended Credit Agreement continue to be secured by substantially all of our personal property assets (including a pledge of the equity interests we hold in ANI ApS, AstroNova GmbH and AstroNova SAS), subject to certain exceptions, and by a mortgage on our owned real property in West Warwick, Rhode Island, and are guaranteed by, and secured by substantially all of the personal property assets of Astro Machine.
Summary of Outstanding Debt
Revolving Credit Facility
During fiscal 2023 we borrowed a net of $15.9 million on our revolving line of credit. The balance outstanding under the revolving line of credit bore interest at a weighted average rate of 6.71% and 4.10% for the years ended January 31, 2023 and January 31, 2022, respectively, and we incurred $752,000 and $4,000 for interest on this obligation during the years ended January 31, 2023 and January 31, 2022, respectively. Commitment fees on the undrawn portion of our revolving credit facility of $30,000 and $50,000 were incurred for the yea
rs ended January 31
, 2023
and January 31
, 2022
, respectively. Both the interest expense and commitment fees are included as interest expense in the accompanying consolidated income statement for all periods presented. At January 31
, 2023
, $
9.1
 million remains available for borrowing under our revolving line of credit.
 
Long-Term Debt
Long-term debt in the accompanying condensed consolidated balance sheets under the Amended Credit Agreement is as follows:
 
    
January 31,
 
(In thousands)   
2023
    
2022
 
USD Term Loan (6.78% as of January 31, 2023); maturity date of August 4, 2027
   $ 14,250      $ —    
USD Term Loan (2.35% as of January 31, 2022); maturity date of September 30, 2025
     —        $ 9,250  
    
 
 
    
 
 
 
       14,250        9,250  
Debt Issuance Costs, net of accumulated amortization
     (110      (96
Current Portion of Term Loan
     (2,100      (1,000
    
 
 
    
 
 
 
Long-Term Debt
   $ 12,040      $ 8,154  
    
 
 
    
 
 
 
During the years ended January 31, 2023, 2022 and 2021, we recognized $0.6 million, $0.3 million and $0.5 million of interest expense on our long-term debt, respectively, which was included in interest expense in the accompanying consolidated income statement for all periods presented.
The schedule of required principal payments remaining on our long-term debt outstanding as of January 31, 2023 is as follows:
 
(In thousands)       
Fiscal 2024
   $ 2,100  
Fiscal 2025
     2,700  
Fiscal 2026
     2,700  
Fiscal 2027
     2,700  
Fiscal 2028
     4,050  
    
 
 
 
     $ 14,250  
    
 
 
 
XML 29 R17.htm IDEA: XBRL DOCUMENT v3.23.1
Paycheck Protection Program Loan
12 Months Ended
Jan. 31, 2023
Debt Disclosure [Abstract]  
Paycheck Protection Program Loan
Note 9—Paycheck Protection Program Loan
On May 6, 2020, we entered into a loan agreement with, and executed a promissory note in favor of Greenwood pursuant to which we borrowed $4.4 million (the “PPP Loan”) from Greenwood under the Paycheck Protection Program (“PPP”) administered by the SBA and authorized by the CARES Act.
The PPP Loan, originally scheduled to mature on May 6, 2022, was unsecured and bore interest at a rate of 1.0% per annum, accruing from the loan date.
On June 15, 2021, Greenwood notified us that the SBA approved our application for forgiveness of the entire $4.4 million principal balance of our PPP Loan and all accrued interest thereon. As a result, in the second quarter of fiscal 2022, we recorded a $4.5 million gain on extinguishment of debt, which is included in the accompanying consolidated income statement for the period ended January 31,
2022.
XML 30 R18.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Financial Instruments and Risk Management
12 Months Ended
Jan. 31, 2023
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Derivative Financial Instruments and Risk Management
Note 10—Derivative Financial Instruments and Risk Management
In 2017, we entered into a cross-currency interest rate swap and an interest rate swap to manage the interest rate risk.
 
On July 30, 2020, we terminated these two swaps. The terms of the Amended and Restated Credit Agreement dated as of July 30, 2020, caused those swaps to cease to be effective hedges of the underlying exposures. The termination of the swaps was contracted immediately prior to the end of the second quarter of fiscal 2021 at a cash cost of approximately $0.7 million which was settled in the third quarter of fiscal 2021. Upon termination, the remaining balance of $58,000 in accumulated other comprehensive loss related to the cross-currency interest rate swap was reclassified into earnings as the forecasted foreign currency interest payments will not occur.
The $0.2 million remaining balance in accumulated other comprehensive loss related to the interest rate swap was amortized into earnings through the original term of the hedge relationship as the underlying floating interest rate debt still exists.
At January 31, 2023, we have fully reclassified all of the net losses on the frozen other comprehensive income balance from accumulated other comprehensive loss to earnings associated with the terminated interest rate swap due to the payment of variable interest associated with the floating interest rate debt.
The following tables present the impact of the derivative instruments in our consolidated financial statements for the years ended January 31, 2023 and 2022:
 
    
Years Ended
 
Cash Flow Hedge
(In thousands)
  
Amount of Gain(Loss)
Recognized in OCI
on
Derivative
    
Location of Gain (Loss)
Reclassified from
Accumulated OCI into
Income
    
Amount of Gain (Loss)
Reclassified from
Accumulated OCI into
Income
 
  
January 31,
2023
    
January 31,
2022
    
January 31,
2023
   
January 31,
2022
 
Swap contracts
   $ —        $ —          Other Income      $ (59   $ (79
    
 
 
    
 
 
             
 
 
   
 
 
 
XML 31 R19.htm IDEA: XBRL DOCUMENT v3.23.1
Employee Retention Credit
12 Months Ended
Jan. 31, 2023
Employee Retention Credit Disclosure [Abstract]  
Employee Retention Credit
Note 11—Employee Retention Credit
The CARES Act provides an employee retention credit (“ERC”) that is a refundable tax credit against certain employer taxes. On December 27, 2020, Congress enacted the Taxpayer Certainty and Disaster Tax Relief Act of 2020, which amended and extended ERC availability under Section 2301 of the CARES Act. Before the enactment of the Taxpayer Certainty and Disaster Tax Relief Act of 2020, we were ineligible for the ERC because we received the PPP Loan. Following enactment of the Taxpayer Certainty and Disaster Tax Relief Act of 2020, we and other businesses that received loans under that program became retroactively eligible for the ERC.
As a result of the foregoing legislation, we were eligible to claim a refundable tax credit against the employer share of Social Security taxes equal to seventy percent (70%) of the qualified wages that we paid to our employees between December 31, 2020 and June 30, 2021. Qualified wages are limited to $10,000 per employee per calendar quarter in 2021 for a maximum ERC per employee of $7,000 per calendar quarter in 2021.
We evaluated our eligibility for the ERC in the second quarter of calendar year 2021
. In order to qualify for the ERC, we needed to experience a
20
% reduction in gross receipts from either (1)
 the same quarter in calendar year 2019
or (2)
 the immediately preceding quarter to the corresponding calendar quarter in 2019
. We determined that we qualified for the employee retention credit under the first scenario for wages paid in calendar year 2020
and the first calendar quarter of 2021
. In the second quarter of the current year, we amended certain payroll tax filings and applied for a refund of $
3.1
 
million. Since there is no US GAAP guidance for
for-profit
business entities that receive government assistance that is not in the form of a loan, an income tax credit or revenue from a contract with a customer, we determined the appropriate accounting treatment by analogy to other guidance. We accounted for the employee retention credit by analogy to International Accounting Standards (IAS) 20, Accounting for Government Grants and Disclosure of Government Assistance, of
 
International Financial Reporting Standards (IFRS). Under an IAS 20 analogy, a business entity would recognize the credit on a systematic basis over the periods in which the entity recognizes the payroll expenses for which the grant (i.e., tax credit) is intended to compensate when there is reasonable assurance (i.e., it is probable) that the entity will comply with any conditions attached to the grant and the grant (i.e., tax credit) will be received.
We recorded a $
3.1
 million receivable in the second quarter of fiscal 2022
for the ERC receivable, which was outstanding as of January 31
, 2022
and is included as such in the accompanying consolidated balance sheet. The $
3.1
 mil
lion of ERCs was recognized as a reduction in employer payroll taxes and allocated to the financial statement captions from which the employee’s taxes were originally incurred. As a result, we recorded a reduction in expenses of $1.7 million in cost of revenue, $0.8 million in selling and marketing, $0.3 million in research and development and $0.3 million in general and administrative which is reflected in the accompanying consolidated income statement for the year ended January 31, 2022. On March 22, 2022, we received the $3.1 million for the ERC.
XML 32 R20.htm IDEA: XBRL DOCUMENT v3.23.1
Royalty Obligation
12 Months Ended
Jan. 31, 2023
Royalty Obligation Disclosure [Abstract]  
Royalty Obligation
Note 12—Royalty Obligation
In fiscal 2018, AstroNova, Inc. entered into an Asset Purchase and License Agreement with Honeywell International, Inc. to acquire an exclusive, perpetual, world-wide license to manufacture Honeywell’s narrow-format flight deck printers for two aircraft families along with certain inventory used in the manufacturing of the licensed printers. The purchase price included a guaranteed minimum royalty payment of $15.0 million, to be paid in quarterly installments over a
ten-year
period. Royalty payments are based on gross revenues from the sales of the printers, paper and repair services of the licensed products. The royalty rates vary based on the year in which they are paid or earned and product sold or service provided, and range from single-digit to mid double-digit percentages of gross revenue.
The guaranteed minimum royalty payment obligation was recorded at the present value of the minimum annual royalty payments. As of January 31, 2023, we had paid an aggregate of $
9.5 million of the guaranteed minimum royalty obligation. At January 31, 2023, the current portion of the outstanding guaranteed minimum royalty obligation of $1.6 million is to be paid over the next twelve months and is reported as a current liability and the remainder of $3.0 million is reported as a long-term liability on our consolidated balance sheet. In addition to the guaranteed minimum royalty payments, for the periods ended January 31, 2023 and January 31, 2022, we also incurred excess royalty expense of $1.3 million and $0.5 million, respectively, which is included in cost of revenue in our consolidated statements of income. A total of $0.4 million of excess royalty is payable and reported as a current liability on our consolidated balance sheet at January 31, 2023.
In fiscal 2023, AstroNova, Inc. entered into a second Asset Purchase and License Agreement with Honeywell International, Inc. as further discussed in Note 2.
XML 33 R21.htm IDEA: XBRL DOCUMENT v3.23.1
Leases
12 Months Ended
Jan. 31, 2023
Leases [Abstract]  
Leases
Note 13—Leases
We enter into lease contracts for certain of our facilities at various locations worldwide. Our leases have remaining lease terms of one to six years, some of which include options to extend the lease term for periods of up to five years when it is reasonably certain that we will exercise such options.
Balance sheet and other information related to our leases is as follows:
 
Operating Leases
(In thousands)
  
Balance Sheet Classification
  
January 31,
2023
    
January 31,
2022
 
Lease Assets
   Right of Use Assets    $ 794      $ 1,094  
Lease Liabilities—Current
   Other Accrued Expenses    $ 275      $ 327  
Lease Liabilities—Long Term
   Lease Liabilities    $ 555      $ 808  
 
Lease cost information is as follows:
 
Operating Leases
(In thousands)
  
Statement of Income Classification
 
  
2023
 
  
2022
 
Operating Lease Costs
  
 
General and Administrative Expense
 
   $ 460      $ 510  
At January 31, 2023, maturities of operating lease liabilities
are
as follows:
 
(In thousands)
      
2024
   $ 302  
2025
     199  
2026
     154  
2027
     149  
2028
     92  
Thereafter
     —    
    
 
 
 
Total Lease Payments
     896  
Less: Imputed Interest
     (66
    
 
 
 
Total Lease Liabilities
   $ 830  
    
 
 
 
As of January 31, 2023, the weighted-average remaining lease term and weighted-average discount rate for our operating leases are 3.8 years and 3.87%, respectively. We calculated the weighted-average discount rate using incremental borrowing rates, which equal the rates of interest that we would pay to borrow funds on a fully collateralized basis over a similar term.
Supplemental cash flow information related to leases is as follows:
 
(In thousands)
  
2023
    
2022
 
Cash paid for operating lease liabilities
   $ 314      $ 372  
XML 34 R22.htm IDEA: XBRL DOCUMENT v3.23.1
Accumulated Other Comprehensive Loss
12 Months Ended
Jan. 31, 2023
Equity [Abstract]  
Accumulated Other Comprehensive Loss
Note 14—Accumulat
ed O
ther Comprehensive Loss
The changes in the balance of accumulated other comprehensive loss by component are as follows:
 
(In thousands)   
Foreign Currency
Translation
Adjustments
    
Net
Unrealized
Gain (Losses)
on Cash Flow
Hedges
    
Total
 
Balance at January 31, 2020
   $ (985    $ (108    $ (1,093
Other Comprehensive Income (Loss) before reclassification
     710        (239      471  
Amounts Reclassified from AOCI to Earnings
     —          193        193  
Cross-Currency Interest Rate Swap Termination
     —          45        45  
    
 
 
    
 
 
    
 
 
 
Other Comprehensive Income (Loss)
     710        (1      709  
    
 
 
    
 
 
    
 
 
 
Balance at January 31, 2021
   $ (275    $ (109    $ (384
Other Comprehensive Loss before reclassification
     (1,426      —          (1,426
Amounts Reclassified from AOCI to Earnings
     —          62        62  
    
 
 
    
 
 
    
 
 
 
Other Comprehensive Income (Loss)
     (1,426      62        (1,364
    
 
 
    
 
 
    
 
 
 
Balance at January 31, 2022
   $ (1,701    $ (47    $ (1,748
Other Comprehensive Income (Loss) before reclassification
     (537      —          (537
Amounts reclassified from AOCI to Earnings
     —          47        47  
    
 
 
    
 
 
    
 
 
 
Other Comprehensive Income (Loss)
     (537      47        (490
    
 
 
    
 
 
    
 
 
 
Balance at January 31, 2023
   $ (2,238    $ —        $ (2,238
    
 
 
    
 
 
    
 
 
 
 
The amounts presented above in other comprehensive income (loss) are net of taxes except for translation adjustments associated with our German, Danish and Shanghai subsidiaries.
XML 35 R23.htm IDEA: XBRL DOCUMENT v3.23.1
Shareholders' Equity
12 Months Ended
Jan. 31, 2023
Federal Home Loan Banks [Abstract]  
Shareholders' Equity
Note 15—Shareholders’ Equity
During fiscal years 2023 and 2022, certain of our employees delivered a total of 17,752 and 27,222 shares, respectively, of our common stock to satisfy the exercise price and related taxes for stock options exercised and restricted stock vesting. The shares delivered were valued at a total of $0.3 million and $0.4 millio
n, resp
ectively, and are included in treasury stock in the accompanying consolidated balance sheets
a
t January 31, 2023 and 2022. These transactions did not impact the number of shares authorized for repurchase under our current repurchase program.
XML 36 R24.htm IDEA: XBRL DOCUMENT v3.23.1
Share-Based Compensation
12 Months Ended
Jan. 31, 2023
Disclosure of Compensation Related Costs, Share-based Payments [Abstract]  
Share-Based Compensation
Note 16—Share-Based Compensation
The Company maintains the following share-based compensation plans:
Stock Plans:
We have one equity incentive plan from which we are authorized to grant equity awards, the AstroNova, Inc. 2018 Equity Incentive Plan (the “2018 Plan”). The 2018 Plan provides for, among other things, the issuance of awards, including incentive stock options,
non-qualified
stock options, stock appreciation rights, time-based restricted stock units (“RSUs”), or performance-based restricted stock units (“PSUs”) and restricted stock awards (RSAs). The 2018 Plan authorizes the issuance of up to 950,000 shares of common stock, plus an additional number of shares equal to the number of shares subject to awards granted under the previous equity incentive plans that are forfeited, cancelled, satisfied without the issuance of stock, otherwise terminated (other than by exercise), or, for shares of stock issued pursuant to any unvested award, that are reacquired by us at not more than the grantee’s purchase price (other than by exercise). Under the 2018 Plan, all awards to employees generally have a minimum vesting period of one year. Options granted under the 2018 Plan must be issued at an exercise price of not less than the fair market value of our common stock on the date of grant and expire after ten years. Under the 2018 Plan, there were 124,962 unvested RSUs; 128,793 unvested PSUs; 21,172 unvested RSAs and options to purchase an aggregate of 135,500 shares outstanding as of January 31, 2023.
In addition to the 2018 Plan, we previously granted equity awards under our 2015 Equity Incentive Plan (the “2015 Plan”) and our 2007 Equity Incentive Plan (the “2007 Plan”). No new awards may be issued under either the 2007 or 2015 Plans, but outstanding awards will continue to be governed by those plans. As of January 31, 2023, options to purchase an aggregate of 276,574 shares were outstanding under the 2007 Plan and options to purchase an aggregate of 135,125 shares were outstanding under the 2015 Plan.
We also have a
Non-Employee
Director Annual Compensation Program (the “Program”), under which each of our
non-employee
directors automatically receives a grant of restricted stock on the date of their
re-election
to our board of directors. The number of whole shares granted is equal to the number calculated by dividing the stock component of the director compensation amount determined by the compensation committee for that year by the fair market value of our stock on that day. The value of the restricted stock award for fiscal 2023 was $65,000. Shares of restricted stock granted under the Program become vested on the first anniversary of the date of grant, conditi
one
d upon the recipient’s continued service on our board of directors through that date.
 
Share-Based Compensation:
Share-based compensation expense has been recognized as follows:
 
    
Years Ended January 31
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Stock Options
   $ 7      $ 210      $ 517  
Restricted Stock Awards and Restricted Stock Units
     1,271        1,266        1,285  
Employee Stock Purchase Plan
     12        17        17  
    
 
 
    
 
 
    
 
 
 
Total
   $ 1,290      $ 1,493      $ 1,819  
    
 
 
    
 
 
    
 
 
 
Stock Options:
Aggregated information regarding stock options granted under the plans is summarized below:
 
    
Number
of Shares
    
Weighted-
Average
Exercise
Price Per
Share
 
Options Outstanding, January 31, 2020
     679,044      $ 14.46  
Options Granted
     —          —    
Options Exercised
     (1,200      7.60  
Options Forfeited
     (54,361      12.89  
Options Cancelled
     (1,400      7.36  
    
 
 
    
 
 
 
Options Outstanding, January 31, 2021
     622,083      $ 14.63  
Options Granted
     —          —    
Options Exercised
     (6,425      9.34  
Options Forfeited
     (17,615      15.09  
Options Cancelled
     —          —    
    
 
 
    
 
 
 
Options Outstanding, January 31, 2022
     598,043      $ 14.67  
Options Granted
     —          —    
Options Exercised
     (42,944      8.74  
Options Forfeited
     (5,500      15.42  
Options Cancelled
     (2,400      8.09  
    
 
 
    
 
 
 
Options Outstanding, January 31, 2023
     547,199      $ 15.16  
    
 
 
    
 
 
 
Set forth below is a summary of options outstanding at January 31, 2023:
 
Outstanding
 
  
Exercisable
 
Range of
Exercise prices
  
Number of
Shares
 
  
Weighted-
Average
Exercise Price
 
  
Weighted-
Average
Remaining
Contractual Life
 
  
Number of
Shares
 
  
Weighted-
Average
Exercise Price
 
  
Weighted
Average
Remaining
Contractual
Life
 
$5.00-10.00
     —        $ —          —          —        $ —          —    
$10.01-15.00
     332,849        13.68        2.9        332,849        13.68        2.9  
$15.01-20.00
     214,350        17.45        4.8        214,350        17.45        4.8  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
       547,199      $ 15.16        3.7        547,199      $ 15.16        3.7  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
No options were granted during fiscal 2023 or fiscal 2022. As of January 31, 2023, there was no unrecognized compensation expense related to the unvested stock options granted under the plans
.
 
As of January 31, 2023, the aggregate intrinsic value (the aggregate difference between the closing stock price of our common stock on January 31, 2023, and the exercise price of the outstanding options) that would have been received by the option holders if all options had been exercised was $50,000 for all exercisable options and all options outstanding. The total aggregate intrinsic value of options exercised during fiscal 2023, 2022 and 2021 was $200,000, $26,000, and $4,000,
respectively.

Restricted Stock Units, Performance-Based Restricted Stock Units and Restricted Stock Awards :
Aggregated information regarding RSUs, PSUs and RSAs granted under the Plan is summarized below:
 
    
RSUs, PSUs &
RSAs
    
Weighted-Average
Grant Date Fair Value
 
Outstanding at January 31, 2020
     134,634      $ 16.79  
Granted
     245,131        7.61  
Vested
     (64,997      17.28  
Forfeited
     (117,355      8.83  
    
 
 
    
 
 
 
Outstanding at January 31, 2021
     197,413      $ 9.96  
Granted
     151,406        14.51  
Vested
     (126,939      10.43  
Forfeited
     (900      14.26  
    
 
 
    
 
 
 
Outstanding at January 31, 2022
     220,980      $ 13.23  
Granted
     141,371        12.70  
Vested
     (85,324      13.45  
Forfeited
     (2,100      13.25  
    
 
 
    
 
 
 
Outstanding at January 31, 2023
     274,927      $ 12.82  
    
 
 
    
 
 
 
As of January 31, 2023, there was $2.0 million of unrecognized compensation expense related to unvested RSUs, PSUs and RSAs. This expense is expected to be recognized over a weighted average period of 1.3 years.
Employee Stock Purchase Plan (ESPP):
On June 7, 2022, we adopted the AstroNova Inc. 2022 Employee Stock Purchase Plan (“2022 ESPP”) to replace our previous Employee Stock Purchase Plan (the “Prior ESPP”). The 2022 ESPP allows eligible employees to purchase shares of common stock at a 15% discount from fair value on the first or last day of an offering period, whichever is less. A total of 40,000 shares were reserved for issuance under this plan and 5,045 shares were purchased under the 2022 ESSP during the year ended January 31, 2023. During the periods ended January 31, 2023 and January 31, 2022, there were 1,550 and 8,092 shares, respectively, purchased under the Prior ESPP, and no additional purchases may be made under the Prior ESPP. As of January 31, 2023, 34,955 shares remain available for purchase under the 2022 ESPP.
XML 37 R25.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes
12 Months Ended
Jan. 31, 2023
Income Tax Disclosure [Abstract]  
Income Taxes
Note 17—Income Taxes
The components of income (loss) before income taxes are as follows:
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Domestic
   $ 1,773      $ 5,046      $ (1,193
Foreign
     1,637        1,988        3,372  
    
 
 
    
 
 
    
 
 
 
     $ 3,410      $ 7,034      $ 2,179  
    
 
 
    
 
 
    
 
 
 
 
The components of the provision for income taxes are as follows:
 
 
  
2023
 
  
2022
 
  
2021
 
(In thousands)
  
 
 
  
 
 
  
 
 
Current:
                          
Federal
   $ 902      $ (183    $ 1,272  
State
     313        76        224  
Foreign
     870        501        420  
    
 
 
    
 
 
    
 
 
 
       2,085        394        1,916  
    
 
 
    
 
 
    
 
 
 
Deferred:
                          
Federal
   $ (1,053    $ 180      $ (910
State
     (315      177        (189
Foreign
     32        (146      78  
    
 
 
    
 
 
    
 
 
 
       (1,336      211        (1,021
    
 
 
    
 
 
    
 
 
 
     $ 749      $ 605      $ 895  
    
 
 
    
 
 
    
 
 
 
Total income tax provision differs from the expected tax provision as a result of the following:
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Income Tax Provision at Statutory Rate
   $ 716      $ 1,477      $ 458  
Change in Valuation Allowance
     182        57        (81
Foreign Rate Differential
     157        61        197  
Change in Reserves Related to ASC 740 Liability
     93        (245      (10
Denmark Statutory Audit
     —          —          341  
Meals and Entertainment
     —          9        11  
Canada Withholding Taxes
     —          —          62  
Global Intangible Low Taxed Income
     —          —          14  
Foreign Derived Intangible Income
     (180      (55      (150
R&D Credits
     (160      (180      (157
Share Based Compensation
     (52      (95      171  
Return to Provision Adjustment
     (22      368        (2
State Taxes, Net of Federal Tax Effect
     (2      143        28  
PPP Loan Forgiveness
     —          (937      —    
Other
     17        2        13  
    
 
 
    
 
 
    
 
 
 
     $ 749      $ 605      $ 895  
    
 
 
    
 
 
    
 
 
 
Our effective tax rate for fiscal 2023 was 22.0% compared to 8.6% in fiscal 2022 and 41.1% in fiscal 2021. The increase in the effective tax rate in fiscal 2023 from fiscal 2022 is primarily related to the absence of the PPP loan forgiveness which is
tax-exempt
income that was a
one-time
item that reduced the rate in fiscal 2022. Specific items increasing the effective tax rate in fiscal 2023 include the change in reserves related to ASC 740 liability and the increase in the valuation allowance recorded on China net operating losses. This increase was offset by state taxes, return to provision adjustments, share-based compensation, R&D tax credits, and foreign derived intangible income (“FDII”) deduction.
The decrease in the effective tax rate in fiscal 2022 from fiscal 2021 is primarily related to the
one-time
impact of the PPP loan forgiveness
tax-exempt
income. Specific items decreasing the effective tax rate include PPP loan forgiveness
tax-exempt
income, R&D tax credits, foreign derived intangible income (“FDII”) deduction and change in reserves related to ASC 740 liabilities. This decrease was offset by state taxes, return to provision adjustments, and taxes on foreign earnings.
 
The components of deferred income tax expense arise from various temporary differences and relate to items included in the statement of income. The tax effects of temporary differences that gave rise to significant portions of the deferred tax assets and liabilities are as follows:
 
    
January 31,
 
(In thousands)

  
2023
    
2022
 
Deferred Tax Assets:
                 
Inventory
   $ 2,710      $ 2,159  
Honeywell Royalty Liability
     3,008        2,655  
State R&D Credits
     1,851        1,925  
Share-Based Compensation
     620        593  
Bad Debt
     180        213  
Warranty Reserve
     258        198  
Compensation Accrual
     248        322  
Net Operating Loss
     135        152  
ASU 842 Adjustment – Lease Liability
     53        93  
Unrecognized State Tax Benefits
     58        64  
Foreign Tax Credit
     154        154  
Deferred Service Contract Revenue
     90        61  
Section 174 Capitalization*
     1,175        —    
Other
     281        224  
    
 
 
    
 
 
 
     10,821      8,813  
Deferred Tax Liabilities:
                 
Accumulated Tax Depreciation in Excess of Book Depreciation
     1,037        455  
Intangibles
     694        767  
ASU 842 Adjustment – Lease Liability
     50        90  
Other
     180        318  
    
 
 
    
 
 
 
     1,961      1,630  
    
 
 
    
 
 
 
Subtotal
     8,860        7,183  
Valuation Allowance
     (2,120      (1,778
    
 
 
    
 
 
 
Net Deferred Tax Assets
   $ 6,740      $ 5,405  
    
 
 
    
 
 
 
 
*
Beginning in fiscal 2023, changes to Section 174 of the Internal Revenue Code made by the Tax Cuts and Jobs Act of 2017 no longer permit an immediate deduction for research and development expenditures in the tax year that such costs are incurred. These costs are capitalized resulting in an increase in deferred tax assets of $1.2 million.
Deferred taxes are reflected in the consolidated balance sheet as follows:
 
    
January 31,
 
    
2023
    
2022
 
Deferred Tax Assets
     6,907        5,591  
Deferred Tax Liabilities
     (167      (186
    
 
 
    
 
 
 
Total Net Deferred Tax Assets
   $ 6,740      $ 5,405  
    
 
 
    
 
 
 
The valuation allowances of $2.1 million at January 31, 2023 and $1.8 million at January 31, 2022, relate to Rhode Island research and development tax credit carryforwards, foreign tax credit carryforwards, and China’s net operating losses that are expected to expire unutilized.
 
At January 31, 2023, we had net operating loss carryforwards of $0.1 million in China, which expire in 2024 through 2028. We have net operating loss carryforwards of less than $0.1 million in France, which can be carried forward indefinitely. We expect to utilize the net operating loss carryforwards in France before in future tax periods.
At January 31, 2023, we had state research credit carryforwards of approximately $1.9 million which expire in 2023 through 2030. Additionally, we had $0.2 million of foreign tax credits. We maintain a full valuation allowance against these credits as we expect these credits to expire unused.
We believe that it is reasonably possible that some unrecognized tax benefits, accrued interest and penalties could decrease income tax expense in the next year due to either the review of previously filed tax returns or the expiration of certain statutes of limitation. The changes in the balances of unrecognized tax benefits, excluding interest and penalties are as follows:
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Balance, beginning of the year
   $ 303      $ 384      $ 362  
Increases in prior period tax positions
     24        63        59  
Increases in current period tax positions
     136        67        5  
Reductions related to lapse of statutes of limitations
     (49      (211      (42
    
 
 
    
 
 
    
 
 
 
Balance, end of the year
   $ 414      $ 303      $ 384  
    
 
 
    
 
 
    
 
 
 
During fiscal 2023 and 2022, we released $49,000 and $211,000, respectively, of uncertain tax positions including accrued interest and penalties relating to a change in various unrecognized tax positions. The Company has accrued potential interest and penalties of $77,000 included in income taxes payable in the accompanying consolidated balance sheet at the end of January 31, 2023.
The Company and its subsidiaries file income tax returns in U.S. federal jurisdictions, various state jurisdictions, and various foreign jurisdictions. In fiscal 2023, we released $27,000 related to a federal tax exposure for the fiscal 2019 tax year and $22,000 of state nexus positions as a result of the expiration of the statute of limitations.
U.S. income taxes have not been provided on $8.5 million of undistributed earnings of our foreign subsidiaries since it is our intention to permanently reinvest such earnings offshore. If the earnings were distributed in the form of dividends, the Company would not be subject to U.S. tax as a result of the Tax Act but could be subject to foreign income and withholding taxes. Determination of the amount of this unrecognized deferred income tax liability is not practical.
XML 38 R26.htm IDEA: XBRL DOCUMENT v3.23.1
Nature of Operations, Segment Reporting and Geographical Information
12 Months Ended
Jan. 31, 2023
Segment Reporting [Abstract]  
Nature of Operations, Segment Reporting and Geographical Information
Note 18—Nature of Operations, Segment Reporting and Geographical Information
Our operations consist of the design, development, manufacture and sale of specialty printers and data acquisition and analysis systems, including both hardware and software and related consumable supplies. We organize and manage our business as a portfolio of products and services designed around a common theme of data acquisition and information output. We have two reporting segments consistent with our revenue product groups: Product Identification (“PI”) and Test & Measurement (“T&M”).
Our PI segment produces an array of high-technology digital color and monochrome label printers and mini presses, labeling software and supplies for a variety of commercial industries worldwide and includes our newly acquired Astro Machine. AstroNova’s T&M segment produces data acquisition systems used worldwide for a variety of recording, monitoring and troubleshooting applications for many industries including aerospace, automotive, defense, rail, energy, industrial and general manufacturing. The T&M segment also includes our line of aerospace flight deck and cabin printers.
 
Business is conducted in the United States and through foreign branch offices and subsidiaries in Canada, Europe, China, Southeast Asia and Mexico. Manufacturing activities are primarily conducted in the United States. Revenue and service activities outside the United States are conducted through wholly owned entities and, to a lesser extent, through authorized distributors and agents. Transfer prices are intended to produce gross profit margins as would be associated with an arms-length transaction.
The accounting policies of the reporting segments are the same as those described in the summary of significant accounting policies herein. We evaluate segment performance based on the segment profit before corporate and financial administration expenses.
Summarized below are the revenue and segment operating profit (loss) (both in dollars and as a percentage of revenue) for each reporting segment:
 
($ in thousands)
 
Revenue
 
 
Segment Operating Profit
(Loss)
 
 
Segment Operating Profit (Loss)
as a % of Revenue
 
 
 
2023
 
 
2022
 
 
2021
 
 
2023
 
 
2022
 
 
2021
 
 
2023
 
 
2022
 
 
2021
 
Product Identification
  $ 103,089     $ 90,915     $ 90,268     $ 7,889     $ 10,411     $ 12,885       7.7     11.5     14.3
T&M
    39,438       26,565       25,765       8,989       3,398       (1,032     22.8     12.8     (4.0 )% 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
Total
  $ 142,527     $ 117,480     $ 116,033       16,878       13,809       11,853       11.8     11.8     10.2
   
 
 
   
 
 
   
 
 
                           
 
 
   
 
 
   
 
 
 
Corporate Expenses
                            11,435       9,553       9,420                          
                           
 
 
   
 
 
   
 
 
                         
Operating Income
                            5,443       4,256       2,433                          
Other Income (Expense), Net
                            (2,033     2,778       (254                        
                           
 
 
   
 
 
   
 
 
                         
Income Before Income Taxes
                            3,410       7,034       2,179                          
Income Tax Provision
                            749       605       895                          
                           
 
 
   
 
 
   
 
 
                         
Net Income
                          $ 2,661     $ 6,429     $ 1,284                          
                           
 
 
   
 
 
   
 
 
                         
No customer accounted for greater than 10% of net revenue in fiscal 2023, 2022 or 2021.
Other information by segment is presented below:
 
(In thousands)   
Assets
 
    
January 31,
 
    
2023
    
2022
 
Product Identification
   $ 69,607      $ 51,732  
T&M
     60,730        50,374  
Corporate*
     8,870        12,849  
    
 
 
    
 
 
 
Total
   $ 139,207      $ 114,955  
    
 
 
    
 
 
 
 
*
Corporate assets consist principally of cash, cash equivalents, deferred tax assets and refunds, and certain prepaid corporate assets.
 
(In thousands)   
Depreciation and
Amortization
    
Capital Expenditures
 
    
2023
    
2022
    
2021
    
2023
    
2022
    
2021
 
Product Identification
   $ 2,219      $ 1,157      $ 1,835      $ 121      $ 847      $ 1,563  
T&M
     1,697        2,837        4,148        108        949        1,024  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
Total
   $ 3,916      $ 3,994      $ 5,983      $ 229      $ 1,796      $ 2,587  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 

Geographical Data
Presented below is selected financial information by geogr
ap
hic area:
 
                  
Long-Lived Assets*
 
(In thousands)   
Revenue
    
January 31,
 
    
2023
    
2022
    
2021
    
2023
    
2022
 
United States
   $ 91,917      $ 68,185      $ 70,911      $ 34,277      $ 29,131  
Europe
     31,021        31,922        29,029        1,230        1,486  
Canada
     8,393        6,519        5,574        4        9  
Asia
     5,345        5,926        5,105        9        15  
Central and South America
     4,589        3,271        3,950        —          —    
Other
     1,262        1,657        1,464        —          —    
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
Total
   $ 142,527      $ 117,480      $ 116,033      $ 35,520      $ 30,641  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
 
*
Long-lived assets exclude goodwill assigned to the T&M segment of $4.5 million at both January 31, 2023 and 2022 and $10.1 million and $7.6 million assigned to the PI segment at January 31, 2023 and 2022, respectively. 
XML 39 R27.htm IDEA: XBRL DOCUMENT v3.23.1
Employee Benefit Plans
12 Months Ended
Jan. 31, 2023
Postemployment Benefits [Abstract]  
Employee Benefit Plans
Note 19—Employee Benefit Plans
We sponsor a Profit-Sharing Plan (the “Plan”) which provides retirement benefits to all eligible domestic employees. The Plan allows participants to defer a portion of their cash compensation and contribute such deferral to the Plan through payroll deductions. The Company makes matching contributions up to specified levels. The deferrals are made within the limits prescribed by Section 401(k) of the Internal Revenue Code.
All contributions are deposited into trust funds. It is our policy to fund any contributions accrued. Our annual contribution amounts are determined by the Board of Directors. Contributions paid or accrued amounted to $0.5 million in fiscal 2023, $0.5 million in fiscal 2022 and $0.4 million in fiscal 2021.
XML 40 R28.htm IDEA: XBRL DOCUMENT v3.23.1
Product Warranty Liability
12 Months Ended
Jan. 31, 2023
Guarantees and Product Warranties [Abstract]  
Product Warranty Liability
Note 20—Product Warranty Liability
We offer a manufacturer’s warranty for the majority of our hardware products. The specific terms and conditions of warranty vary depending upon the products sold and the country in which we do business. We estimate the warranty costs based on historical claims experience and record a liability in the amount of such estimates at the time product revenue is recognized. We regularly assess the adequacy of our recorded warranty liabilities and adjust the amounts as necessary. Activity in the product warranty liability, which is included in other accrued expenses in the accompanying consolidated balance sheet, is as follows:
 
(
In thousands)
  
2023
    
2022
    
2021
 
Balance, beginning of the year
   $ 834      $ 730      $ 850  
Provision for Warranty Expense
     2,077        2,174        855  
Cost of Warranty Repairs
     (1,839      (2,070      (975
    
 
 
    
 
 
    
 
 
 
Balance, end of the year
   $ 1,072      $ 834      $ 730  
    
 
 
    
 
 
    
 
 
 

During fiscal 2022, we incurred incremental costs because of a product quality issue with one of our vendors. As the result of discussions with the vendor, which was responsible for the product quality issue, we entered into an agreement wh
ere
by the vendor paid us $975,000 as partial reimbursement of the costs we incurred in supporting our customers with respect to the product quality issue. For the period ended January 31, 2022, we recorded this payment to offset cost of goods in our PI segment for the product lines effected to partially reverse the accounting impact when the original costs of the quality issues were
incurred.
XML 41 R29.htm IDEA: XBRL DOCUMENT v3.23.1
Concentration of Risk
12 Months Ended
Jan. 31, 2023
Risks and Uncertainties [Abstract]  
Concentration of Risk
 
Note 21—Concentration of Risk
Credit is generally extended on an uncollateralized basis to almost all customers after review of credit worthiness. Concentration of credit and geographic risk with respect to accounts receivable is limited due to the large number and general dispersion of accounts, which constitute our customer base. We periodically perform
on-going
credit evaluations of our customers. We have not historically experienced significant credit losses on collection of our accounts receivable.
During the years ended January 31, 2023, 2022 and 2021, one vendor accounted for 18.7%, 23.3% and 23.2% of purchases, respectively, and 16.2%, 15.4% and 28.3% of accounts payable, respectively, as of January 31, 2023, 2022 and 2021.
XML 42 R30.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies
12 Months Ended
Jan. 31, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies
Note 22—Commitments and Contingencies
In order to meet our manufacturing demands and, in some cases, lock in particular pricing structures for specific goods used in manufacturing, we enter into purchase commitments with our suppliers. At January 31, 2023, our purchase commitments totaled $25.8 million, with $22.8 million due within 12 months, some of which are
non-cancelable.
We are also subject to contingencies, including legal proceedings and claims arising in the normal course of business that cover a wide range of matters including, among others, contract and employment claims; workers compensation claims; product liability; warranty and modification; and adjustment or replacement of component parts of units sold.
Direct costs associated with the estimated resolution of contingencies are accrued at the earliest date at which it is deemed probable that a liability has been incurred and the amount of such liability can be reasonably estimated. While it is impossible to ascertain the ultimate legal and financial liability with respect to contingent liabilities, including lawsuits, we believe that the aggregate amount of such liabilities, if any, in excess of amounts provided or covered by insurance, will not have a material adverse effect on the consolidated financial position or results of operations. It is possible, however, that future results of operations for any particular future period could be materially affected by changes in our assumptions or strategies related to these contingencies or changes out of our control.
XML 43 R31.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value Measurements
12 Months Ended
Jan. 31, 2023
Fair Value Disclosures [Abstract]  
Fair Value Measurements
Note 23—Fair Value Measurements
Assets and Liabilities Not Recorded at Fair Value on the Cons
olid
ated Balance Sheet
Our long-term debt, including the current portion of long-term debt not reflected in the financial statements at fair value, is reflected in the table below:
 
    
Fair Value Measurement at
January 31, 2023
        
(In thousands)   
Level 1
    
Level 2
    
Level 3
    
Total
    
Carrying
Value
 
Long-Term Debt and Related Current Maturities
   $ —        $ —        $ 14,310      $ 14,310      $ 14,250  
     
    
Fair Value Measurement at
January 31, 2022
        
(In thousands)   
Level 1
    
Level 2
    
Level 3
    
Total
    
Carrying
Value
 
Long-Term Debt and Related Current Maturities
   $ —        $ —        $ 9,255      $ 9,255      $ 9,250  
The fair value of our long-term debt, including the current portion, is estimated by discounting the future cash flows using current interest rates at which similar borrowings with the same maturities would be made to borrowers with similar credit ratings and is classified as Level 3.
XML 44 R32.htm IDEA: XBRL DOCUMENT v3.23.1
Schedule II - Valuation and Qualifying Accounts and Reserves
12 Months Ended
Jan. 31, 2023
SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]  
Schedule II - Valuation and Qualifying Accounts and Reserves
SCHEDULE II—VA
LUA
TION AND Q
U
AL
IFY
ING ACCOUNTS AND RESERVES
 
Description
  
Balance at
Beginning
of Year
    
Provision/
(Benefit)
Charged to
Operations
    
Deductions(2)
   
Balance
at End
of Year
 
Allowance for Doubtful Accounts (1):
                                  
(In thousands)
                                  
Year Ended January 31,
                                  
2023
   $ 826      $ 100      $ (195   $ 731  
2022
   $ 1,054      $ 50      $ (278   $ 826  
2021
   $ 856      $ 194      $ 4     $ 1,054  
 
(1)
The allowance for doubtful accounts has been netted against accounts receivable in the balance sheets as of the respective balance sheet dates.
(2)
Uncollectible accounts written off, net of recoveries.
XML 45 R33.htm IDEA: XBRL DOCUMENT v3.23.1
Summary of Significant Accounting Policies (Policies)
12 Months Ended
Jan. 31, 2023
Accounting Policies [Abstract]  
Basis of Presentation
Basis of Presentation:
The accompanying financial statements and accompanying notes have been prepared by us pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (“SEC”) and are presented in conformity with U.S. generally accepted accounting principles (“U.S. GAAP”). Our fiscal year end is January 31. Unless otherwise stated, all years and dates refer to our fiscal year.
Principles of Consolidation
Principles of Consolidation:
The consolidated financial statements include the accounts of AstroNova, Inc. and its subsidiaries. All material intercompany accounts and transactions are eliminated in consolidation.
Reclassification
Reclassification:
Certain amounts in prior year’s financial statements have been reclassified to conform to the current year’s presentation.
Use of Estimates
Use of Estimates:
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 using information that is reasonably available to us at this time. Some of the more significant estimates relate to revenue recognition; the allowances for doubtful accounts; inventory valuation; income taxes; valuation of long-lived assets, intangible assets and goodwill; share-based compensation; and warranty reserves. Management’s estimates are based on the facts and circumstances available at the time estimates are made, historical experience, risk of loss, general economic conditions and trends, and management’s assessments of the probable future outcome of these matters, including our expectations at the time
regarding
the ongoing impact from the
COVID-19
pandemic. Consequently, actual results could differ from those estimates.
Cash and Cash Equivalents
Cash and Cash Equivalents:
Highly liquid investments with an original maturity of 90 days or less are considered to be cash equivalents. At
January
 31, 2023 and 2022, $3.2 million and $3.7 million, respectively, was held in foreign bank accounts.
Inventories
Inventories:
Inventories are stated at the lower of standard and average cost or net realizable value and include material, labor and manufacturing overhead.
Property, Plant and Equipment
Property, Plant and Equipment:
Property
, plant and equipment are stated at cost less accumulated depreciation. Depreciation is provided on the straight-line basis over the estimated useful lives of the assets (land improvements—10 to 20 years; buildings and leasehold improvements—10 to 45 years; machinery and equipment—3 to 10 years and
computer
equipment and software—3 to 10 years).
Revenue Recognition
Revenue Recognition:
We recognize revenue in accordance with Accounting Standards Codification (“ASC”) 606 “Revenue from Contracts with Customers (“ASC 606”).” The core principle of ASC 606 is to recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC 606 defines a five-step process to recognize revenue and requires judgment and estimates within the revenue recognition process, including identifying contracts with customers, identifying performance obligations in the contract, determining and estimating the amount of any variable consideration to include in the transaction price and allocating the transaction price to each separate performance obligation and recognizing revenue when the entity satisfies each performance obligation.
The vast majority of our revenue is generated from the sale of distinct products. Revenue is measured as the amount of consideration we expect to receive in exchange for such products, which is generally at the contractually stated prices, and is recognized when we satisfy a performance obligation by transferring control of
a product to a customer. The transfer of control generally occurs at one point in time, upon shipment, when title and risk of loss pass to the customer. Returns and customer credits are infrequent and are recorded as a reduction to revenue. Sales taxes and value added taxes collected concurrently with revenue generating activities are excluded from revenue.
Many of the contracts entered into with customers are commonly comprised of a combination of equipment, supplies, installation and/or training services. We determine performance obligations by assessing whether the products or services are distinct from other elements of the contract. In order to be distinct, the product must perform either on its own or with readily available resources and must be separate within the context of the contract.
Most of our hardware products contain embedded operating systems and data management software which is included in the purchase price of the equipment. The software is deemed incidental to the systems as a whole, as it is not sold or marketed separately, and its production costs are minor compared to those of the hardware system. Hardware and software elements are typically delivered at the same time and are accounted for as a single performance obligation for which revenue is recognized at the point in time when ownership is transferred to the customer.
Installation and training services vary based on certain factors such as the complexity of the equipment, staffing availability in a geographic location and customer preferences, and can range from a few days to a few months. The delivery of installation and training services are not assessed to determine whether they are separate performance obligations, as the amounts are not material to the contract.
Shipping and handling activities that occur after control over a product has transferred to a customer are accounted for as fulfillment activities rather than performance obligations, as allowed under a practical expedient provided by ASC 606. The shipping and handling fees charged to customers are recognized as revenue and the related costs are included in cost of revenue at the point in time when ownership of the product is transferred to the customer.
We may perform services at the request of the customer, generally for the repair and maintenance of products previously sold. These services are short in duration and total approximately 5.0% and 4.4% of revenue for the years ended January 31, 2023 and 2022, respectively. Revenue is recognized as services are rendered and accepted by the customer. We also provide service agreements on certain of our Product Identification equipment. Service agreements are purchased separately from the equipment and provide for the right to obtain service and maintenance on the equipment for a period of typically one to two years. Accordingly, revenue on these agreements is recognized over the term of the agreements. The portion of service agreement contracts that are uncompleted at the end of any reporting period are included in deferred revenue.
We generally provide warranties for our products. The standard warranty period is typically 12 months for most hardware products except for airborne printers, which typically have warranties that extend for
3-5
years, consistent with industry practice. Such assurance-type warranties are not deemed to be separate performance obligations from the hardware product and costs associated with providing the warranties are accrued in accordance with ASC 450, “Contingencies,” as we have the ability to ascertain the likelihood of the liability and can reasonably estimate the amount of the liability. Our estimate of costs to service the warranty obligations is based on historical experience and expectations of future conditions. To the extent that our experience in warranty claims or costs associated with servicing those claims differ from the original estimates, revisions to the estimated warranty liability are recorded at that time, with an offsetting adjustment to cost of revenue. On occasion, customers request a warranty period longer than our standard warranty. In those instances, in which extended warranty services are separately quoted to the customer, an additional performance obligation is created, and the associated revenue is deferred and recognized as service revenue ratably over the term of the extended warranty period. The portion of service contracts and extended warranty services agreements that are uncompleted at the end of any reporting period are included in deferred revenue.
 
We recognize and subsequently amortize an asset for the incremental direct costs of obtaining a contract with a customer if we expect the benefit of those costs to be longer than one year (Refer to Note 3, “Revenue Recognition” included in our notes to the consolidated financial statement). We apply the practical expedient to expense costs incurred for costs to obtain a contract when the amortization period would have been less than a year. These costs include sales commissions paid to the internal direct sales team as well as to third-party representatives and distributors. Contractual agreements with each of these parties outline commission structures and rates to be paid. Generally speaking, the contracts are all individual procurement decisions by the customers and do not include renewal provisions and, as such, the majority of the contracts have an economic life of significantly less than a year.
Accounts Receivables and Allowance for Doubtful Accounts
Accounts Receivables and Allowance for Doubtful Accounts:
Standard payment terms are typically 30 days after shipment but vary by type and geographic location of our customer. Credit is extended based upon an evaluation of the customer’s financial condition. In circumstances where we are aware of a customer’s inability to meet its financial obligations, an allowance is established. The remainder of the allowance established is based on a variety of factors, including the age of amounts outstanding relative to their contractual due date, historical
write-off
experience and current market assessments. Accounts receivable are stated at their estimated net realizable value.
Business Combinations
Business Combinations:
We account for business acquisitions under the acquisition method of accounting in accordance with ASC 805, ‘‘Business Combinations,’’ where the total purchase price is allocated to the tangible and identified intangible assets acquired and liabilities assumed based on their estimated fair values. The purchase price is allocated using the information currently available, and may be adjusted, up to one year from acquisition date, after obtaining more information regarding, among other things, asset valuations, liabilities assumed and revisions to preliminary estimates. The purchase price in excess of the fair value of the tangible and identified intangible assets acquired less liabilities assumed is recognized as goodwill. Determining the fair value of assets acquired and liabilities assumed requires management to use significant judgment and estimates, including the selection of valuation methodologies, estimates of future revenue, costs and cash flows, discount rates, and selection of comparable companies. Management’s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and unpredictable. As a result, actual results may differ from these estimates. During the measurement period, we may record adjustments to acquired assets and assumed liabilities, with corresponding offsets to goodwill. Upon the conclusion of a measurement period, any subsequent adjustments are recorded to earnings.
At the acquisition date, the Company measures the fair values of all assets acquired and liabilities assumed that arise from contractual contingencies. The Company also measures the fair values of all
non-contractual
contingencies if, as of the acquisitions date, it is more likely than not that the contingencies will give rise to assets or liabilities.
Acquisition related costs not considered part of the considerations are expensed as incurred and recorded in Acquisition costs within the consolidated statement of operations.
Research and Development Costs
Research
and Development Costs:
We charge costs to expense in the period incurred, and these expenses are presented in the consolidated statement of income. The following costs are included in research and development expense: salaries and benefits, external engineering service costs, engineering related information costs and supplies.
Foreign Currency Translation
Foreign Currency Translation:
The financial statements of foreign subsidiaries and branches are measured using the local currency as the functional currency. Foreign currency-denominated assets and liabilities are translated into U.S. dollars at
year-end
exchange rates with the translation adjustment recorded as a component of accumulated comprehensive income (loss) in shareholders’ equity. Revenues and expenses are translated at the average monthly exchange rates in effect during the related period. We do not provide for U.S. income taxes on foreign currency translation adjustments associated with our subsidiaries in Germany, Denmark and China since
 
their undistributed earnings are considered to be permanently invested. Included in our consolidated statements of income was a net transaction foreign exchange loss of $0.5 million and $0.3 million in fiscal 2022 and 2023, respectively, and a net transaction foreign exchange gain of $0.6 million in fiscal 2021.
Advertising
Advertising:
We expense advertising costs as incurred. Advertising costs including advertising production, trade shows and other activities are designed to enhance demand for our products and amounted to approximately $1.6 million, $1.3 million, and $0.9 million in fiscal years 2023, 2022, and 2021, respectively.
Long-Lived Assets
Long-Lived Assets:
Long-lived assets to be held and used are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the projected undiscounted cash flows are less than the carrying value, then an impairment charge would be recorded for the excess of the carrying value over the fair value, as determined by the discounting of future cash flows. There were no impairment charges for our long-lived assets in fiscal years 2023, 2022, or 2021.
Intangible Assets
Intangible Assets:
Intangible assets include the value of customer and distributor relationships, trademarks and existing technology acquired in connection with business and asset acquisitions and are stated at cost (fair value at acquisition) less accumulated amortization. These intangible assets have a definite life and are amortized over the assets’ useful lives using a systematic and rational basis which is representative of the assets’ use. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. If necessary, an impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows used in determining the fair value of the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value. Fair value is generally determined using a discounted cash flow analysis. There were no impairment charges for our intangible assets in fiscal years 2023, 2022, or 2021.
Goodwill
Goodwill:
Goodwill represents the excess of the aggregate purchase price over the fair value of the net assets acquired in a purchase business combination. Management evaluates the recoverability of goodwill annually or more frequently if events or changes in circumstances, such as declines in revenue, earnings or cash flows, or material adverse changes in the business climate indicate that the carrying value of an asset might be impaired. Goodwill is tested for impairment at the reporting unit level. A reporting unit is an operating segment, or a business unit one level below an operating segment if discrete financial information for that business is prepared and regularly reviewed by segment management. However, components within an operating segment are aggregated as a single reporting unit if they have similar economic characteristics. We determined that each of our operating segments (Product Identification (“PI”) and Test & Measurement (“T&M”) represents a reporting unit for purposes of goodwill impairment testing.
The accounting guidance related to goodwill impairment testing allows for the performance of an optional qualitative assessment of whether it is more likely than not that the fair value of a reporting unit is less than its carrying value. Factors that management considers in this qualitative assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management and strategy and changes in the composition or carrying amount of net assets. If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying value, then a quantitative assessment is required for the reporting unit. Additionally, we can elect to forgo the qualitative assessment and perform the quantitative test. The quantitative assessment compares the fair value of the reporting unit with its carrying value. If the quantitative assessment is performed, we estimate the fair value of our reporting units using a blended income and market approach. The income approach is based on a discounted cash flow model and provides a fair value estimate based upon the reporting unit’s expected long-term operating cash flow performance. The market approach compares the reporting unit to publicly traded companies and transactions involving similar business, and requires the use of many assumptions and estimates including future revenue, expenses, capital expenditures, and working capital, as well as discount factors and
 
income tax rates. If the fair value of the reporting unit exceeds the carrying value of the net assets including goodwill assigned to that unit, goodwill is not impaired. If the carrying value of the reporting unit’s net assets including goodwill exceeds the fair value of the reporting unit, then we record an impairment charge based on that difference. We performed a qualitative assessment for our fiscal 2023 analysis of goodwill. Based on this assessment, management does not believe that it is more likely than not that the carrying values of the reporting units exceed their fair values. Accordingly, no quantitative assessment was performed. There were no impairment charges for our goodwill in fiscal years 2023, 2022, or 2021.
Leases
Leases:
We account for our leases in accordance with ASC 842, “Leases” (“ASC 842”). ASC 842 requires a lessee to recognize assets and liabilities on the balance sheet for all leases, with the result being the recognition of a right of use (“ROU”) asset and a lease liability. The lease liability is equal to the present value of the minimum lease payments for the term of the lease, including any optional renewal periods determined to be reasonably certain to be exercised, using a discount rate determined at lease commencement. This discount rate is the rate implicit in the lease, if known; otherwise, the incremental borrowing rate for the expected lease term is used. Our incremental borrowing rate approximates the rate we would have to pay to borrow on a collateralized basis over a similar term at lease inception. The value of the ROU asset is equal to the initial measurement of the lease liability plus any lease payments made to the lessor at or before the commencement date and any unamortized initial direct costs incurred by the lessee, less any unamortized lease incentives received. Several of our lease contracts include options to extend the lease term and we include the renewal options for these leases in the determination of the ROU asset and lease liability when the likelihood of renewal is determined to be reasonably certain.
We enter into lease contracts for certain of our facilities at various locations worldwide. At inception of a contract, we determine whether the contract is or contains a lease. If we have a right to obtain substantially all of the economic benefits from the use of the identified asset and the right to direct the use of the asset, then the contract contains a lease.
There are two types of leases, operating leases and finance leases. Lease classification is determined at lease commencement. We have made an accounting policy election to apply the short-term exception, which does not require the capitalization of leases with terms of 12 months or less. All of our leases are classified as operating leases. Operating lease expense is recognized on a straight-line basis over the lease term and included in general and administrative expense on the consolidated statement of income. ROU assets are classified as such on the consolidated balance sheet, short-term lease liabilities are classified in accrued expenses, and long-term lease liabilities are classified as such in the consolidated balance sheet. In the statement of cash flow, payments for operating leases are classified as operating activities.
In addition, several of our lease agreements include
non-lease
components for items such as common area maintenance and utilities which are accounted for separately from the lease component.
Income Taxes
Income Taxes:
We use the liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on the differences between the financial reporting basis and tax basis of the assets and liabilities and are measured using statutory tax rates that will be in effect when the differences are expected to reverse. Our deferred taxes are presented as
non-current
in the accompanying consolidated balance sheet. An allowance against deferred tax assets is recognized when it is
more-likely-than-not
that some portion or all of the deferred tax assets will not be realized. At January 31, 2023, a valuation allowance was provided for deferred tax assets attributable to certain domestic R&D, foreign tax credit carryforwards and China net operating losses, all of which are expected to expire unused. At January 31, 2022, a valuation allowance was provided for deferred tax assets attributed to certain domestic R&D and foreign tax credit carryforwards.
We account for uncertain tax positions in accordance with the guidance provided in ASC 740, “Accounting for Income Taxes.” This guidance describes a recognition threshold and measurement attribute for the financial statement disclosure of tax positions taken or expected to be taken in a tax return and requires recognition of tax
 
benefits that satisfy a
more-likely-than-not
threshold. ASC 740 also provides guidance on
de-recognition,
classification, interest and penalties, accounting in interim periods and disclosure.
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was signed into law. The legislation had sweeping effects including various types of economic relief for impacted businesses and industries. One such relief provision was the Paycheck Protection Program, which provided short-term cash flow assistance to finance employee payroll and qualified expenses. On May 6, 2020, we entered into a loan agreement with, and executed a promissory note in favor of Greenwood Credit Union (“Greenwood”) pursuant to which we borrowed
 $4.4
million (the “PPP Loan”). On December 27, 2020, the Consolidated Appropriations Act, 2021, H.R. 133 was signed into law. The legislation permits the deductibility of expenses to the extent that the payment of such expenses results (or is expected to result) in the forgiveness of a loan (covered loan) guaranteed under the Paycheck Protection Program. We have fully utilized the PPP Loan proceeds for qualifying expenses and applied for forgiveness
of the PPP Loan. Consistent with the legislation, we deducted the full
 $4.4 million of qualified expenses on our 2020 federal tax return. On June 15, 2021, Greenwood notified us that the United States Small Business Administration (the “SBA”) approved our application for forgiveness of the entire $4.4 million principal balance of our PPP Loan and all accrued interest thereon. As a result, in the second quarter of fiscal 2022, we recorded a
$4.5 million gain on extinguishment of debt. The PPP loan forgiveness is excluded from taxable income under Section 1106(i) of the CARES Act.
Net Income Per Common Share
Net Income Per Common Share:
Basic net income per share is based on the weighted average number of shares outstanding during the period. Diluted net income per share is based on the basic weighted average number of shares and potential common equivalent shares for stock options, restricted stock awards and restricted stock units outstanding during the period using the treasury stock method. In fiscal years 2023, 2022, and 2021, there were 685,667; 345,085; and 642,623, respectively, common equivalent shares that were not included in the computation of diluted net income per common share because their inclusion would be anti-dilutive.
Fair Value Measurement
Fair Value Measurement:
We measure our assets and liabilities at fair value on a recurring and
non-recurring
basis in accordance with the guidance provided in ASC 820, “Fair Value Measurement and Disclosures,” which defines fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. In addition, ASC 820 establishes a three-tiered hierarchy for inputs used in management’s determination of fair value of financial instruments that emphasizes the use of observable inputs over the use of unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that reflect management’s belief about the assumptions market participants would use in pricing a financial instrument based on the best information available in the circumstances.
The fair value hierarchy is summarized as follows:
 
   
Level 1—Quoted prices in active markets for identical assets or liabilities;
 
   
Level 2—Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and
 
   
Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities
Cash and cash equivalents, accounts receivable, accounts payable, accrued compensation, other accrued expenses and income tax payable are reflected in the consolidated balance sheet at carrying value, which approximates fair value due to the short-term nature of these instruments.
Self-Insurance
 
Self-Insurance:
We are self-insured for U.S. medical and dental benefits for qualifying employees and maintain stop-loss coverage from a third party which limits our exposure to large claims. We record a liability associated with these benefits that includes an estimate of both claims filed and losses incurred but not yet reported based on historical claims experience. In estimating this accrual, we utilize an independent third-party broker to estimate a range of expected losses, which are based on analyses of historical data. Assumptions are closely monitored and adjusted when warranted by changing circumstances. Our liability for self-insured claims is included within accrued compensation in our consolidated balance sheets and was
$0.3 million and $0.2 million at January 31, 2023 and 2022, respectively.
Share-Based Compensation
Share-Based Compensation:
Compensation expense for time-based restricted stock units is measured at the grant date and recognized ratably over the vesting period. We determine the fair value of time-based and performance-based restricted stock units based on the closing market price of our common stock on the grant date. The recognition of compensation expense associated with performance-based restricted stock units requires judgment in assessing the probability of meeting the performance goals, as well as defined criteria for assessing achievement of the performance-related goals. For purposes of measuring compensation expense, the number of shares ultimately expected to vest is estimated at each reporting date based on management’s expectations regarding the relevant performance criteria. The performance shares begin vesting only upon the achievement of the performance criteria. The achievement of the performance goals can impact the valuation and associated expense of the restricted stock units. The assumptions used in accounting for the share-based payment awards represent management’s best estimates, but these estimates involve inherent uncertainties and the application of management judgment. As a result, if circumstances change and we use different assumptions, our stock-based compensation expense could be materially different in the future.
Share-based compensation becomes deductible for determining income taxes when the related award vests, is exercised, or is forfeited depending on the type of share-based award and subject to relevant tax law.
Derivative Financial Instruments
Derivative Financial Instruments:
We occasionally use derivative instruments as part of our overall strategy to manage exposure to market risks primarily associated with fluctuations in foreign currency exchange rates and interest rates. Derivative instruments are recognized as either assets or liabilities in the balance sheet at fair value. The accounting for changes in the fair value (i.e., gains or losses) of a derivative instrument depends on whether it has been designated and qualifies as part of a hedging relationship and, further, on the type of hedging relationship. For derivative instruments not designated as hedging instruments, the gain or loss is recognized in the statement of income during the current period. For those derivative instruments that are designated and qualify as hedging instruments, a company must designate the hedging instrument, based upon the exposure being hedged, as a fair value hedge, cash flow hedge, or a hedge of a net investment in a foreign operation.
For derivative instruments that are designated and qualify as a cash flow hedge, the gain or loss on the derivative instrument is reported as a component of other comprehensive income/(loss) and reclassified into earnings in the same line item associated with the forecasted transaction, and in the same period or periods during which the hedged transaction affects earnings (e.g., in “Interest Expense” when the hedged transactions are interest cash flows associated with floating-rate debt, or “Other, Net” for portions reclassified relating to the remeasurement of the debt). The remaining gain or loss on the derivative instrument in excess of the cumulative change in the present value of future cash flows of the hedged item, if any, are recognized in the statement of income during the current period.
Recent Accounting Pronouncements
Recent Accounting Pronouncements
There were no new accounting pronouncements, issued or effective during fiscal 2023, that have had or are expected to have a material impact on our consolidated financial statements.
 
XML 46 R34.htm IDEA: XBRL DOCUMENT v3.23.1
Acquisitions (Tables)
12 Months Ended
Jan. 31, 2023
Business Combinations [Abstract]  
Summary of Purchase Price of Acquisition Allocated on Basis of Fair Value
The following table sets forth the final purchase price allocation of the Astro Machine acquisition for the estimated fair value of the net asset acquired and liabilities assumed as of the date of acquisition:
 
(In thousands)

 
 
 
 
Cash
   $ 91  
Accounts Receivable
     3,393  
Inventory
     5,715  
Property, Plant and Equipment
     4,200  
Identifiable Intangible Assets
     3,480  
Goodwill
     2,730  
Accounts Payable and Other Current Liabilities
     (2,484
    
 
 
 
Total Purchase Price
   $ 17,125  
Summary of Fair Value of the Acquired Identifiable Intangible Assets and Related Estimated Useful Lives
The following table sets forth the fair value of the acquired identifiable intangible assets and related estimated useful lives:
 
(In thousands)   
Fair
Value
 
  
Useful Life
(
y
ears)
 
Customer Relations
   $ 3,060        5  
Trademarks/Tradenames
     420        5  
    
 
 
          
Total
   $ 3,480           
    
 
 
          
Summary of Revenue and Earnings Before Taxes
The amounts of revenue and earnings before taxes included in our consolidated statement of income from the period August 4, 2022 (acquisition date) through January 31, 2023 are as follows:
 
(In thousands)
  
2023
 
Revenue
   $ 12,515  
Earnings before Taxes
     1,571  
Summary of Acquired Identifiable Intangible Asset
The acquired identifiable intangible asset is as follows:
 
(In thousands)
  
Fair
Value
 
  
Useful Life
(Years)
 
Customer Contract Relationships
  
$
530
 
  
 
20
 
XML 47 R35.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition (Tables)
12 Months Ended
Jan. 31, 2023
Revenue from Contract with Customer [Abstract]  
Summary of Revenues Disaggregated by Primary Geographic Markets and Major Product Type
Primary geographical markets:

(In thousands)   
2023
    
2022
    
2021
 
United States
   $ 91,917      $ 68,185      $ 70,911  
Europe
     31,021        31,922        29,029  
Canada
     8,393        6,519        5,574  
Asia
     5,345        5,926        5,105  
Central and South America
     4,589        3,271        3,950  
Other
     1,262        1,657        1,464  
    
 
 
    
 
 
    
 
 
 
Total Revenue
   $ 142,527      $ 117,480      $ 116,033  
    
 
 
    
 
 
    
 
 
 
 
Major product types:
 
(In thousands)   
2023
    
2022
    
2021
 
Hardware
   $ 42,445      $ 31,492      $ 34,111  
Supplies
     82,072        73,244        71,772  
Service and Other
     18,010        12,744        10,150  
    
 
 
    
 
 
    
 
 
 
Total Revenue
   $ 142,527      $ 117,480      $ 116,033  
    
 
 
    
 
 
    
 
 
 
XML 48 R36.htm IDEA: XBRL DOCUMENT v3.23.1
Intangible Assets (Tables)
12 Months Ended
Jan. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Fair Value of Acquired Identifiable Intangible Assets and Related Estimated Useful Lives
Intangible assets are as follows:
 
 
 
January 31, 2023
 
 
January 31, 2022
 
(In thousands)
 
Gross
Carrying
Amount
 
 
Accumulated
Amortization
 
 
Currency
Translation
Adjustment
 
 
Net
Carrying
Amount
 
 
Gross
Carrying
Amount
 
 
Accumulated
Amortization
 
 
Currency
Translation
Adjustment
 
 
Net
Carrying
Amount
 
Miltope:
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
$
3,100
 
 
$
(2,777
 
$
—  
 
 
$
323
 
 
$
3,100
 
 
$
(2,515
 
$
—  
 
 
$
585
 
RITEC:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
 
2,830
 
 
 
(1,623
 
 
—  
 
 
 
1,207
 
 
 
2,830
 
 
 
(1,557
 
 
—  
 
 
 
1,273
 
TrojanLabel:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Existing Technology
 
 
2,327
 
 
 
(2,087
 
 
94
 
 
 
334
 
 
 
2,327
 
 
 
(1,767
 
 
127
 
 
 
687
 
Distributor Relations
 
 
937
 
 
 
(588
 
 
27
 
 
 
376
 
 
 
937
 
 
 
(498
 
 
46
 
 
 
485
 
Honeywell:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
 
27,773
 
 
 
(11,913
 
 
—  
 
 
 
15,860
 
 
 
27,243
 
 
 
(11,073
 
 
—  
 
 
 
16,170
 
Astro Machine:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Customer Contract Relationships
 
 
3,060
 
 
 
(306
 
 
—  
 
 
 
2,754
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
Trademarks
 
 
420
 
 
 
(42
 
 
—  
 
 
 
378
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
 
 
—  
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
Intangible Assets, net
 
$
40,447
 
 
$
(19,336
 
$
121
 
 
$
21,232
 
 
$
36,437
 
 
$
(17,410
 
$
173
 
 
$
19,200
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
Summary of Estimated Amortization Expense
Estimated amortization expense for the next
five
fiscal years is as follows:
 
(In thousands)   
2024
    
2025
    
2026
    
2027
    
2028
 
Estimated amortization expense
   $ 2,378      $ 1,719      $ 1,718      $ 1,7192      $ 1,281  
XML 49 R37.htm IDEA: XBRL DOCUMENT v3.23.1
Inventories (Tables)
12 Months Ended
Jan. 31, 2023
Inventory Disclosure [Abstract]  
Components of Inventories
The components of invento
ries
are as follows:
 
    
January 31,
 
    
2023
    
2022
 
(In thousands)              
Materials and Supplies
   $ 38,387      $ 22,709  
Work-in-Progress
     1,146        1,489  
Finished Goods
     23,221        19,718  
    
 
 
    
 
 
 
       62,754        43,916  
Inventory Reserve
     (11,430      (9,307
    
 
 
    
 
 
 
     $ 51,324      $ 34,609  
    
 
 
    
 
 
 
XML 50 R38.htm IDEA: XBRL DOCUMENT v3.23.1
Property, Plant and Equipment (Tables)
12 Months Ended
Jan. 31, 2023
Property, Plant and Equipment [Abstract]  
Summary of Property, Plant and Equipment
Property, plant and equipment consist of the following:
 
    
January 31,
 
    
2023
    
2022
 
(In thousands)              
Land and Land Improvements
   $ 2,304      $ 1,004  
Buildings and Leasehold Improvements
     14,158        12,666  
Machinery and Equipment
     24,960        23,238  
Computer Equipment and Software
     13,972        13,913  
    
 
 
    
 
 
 
Gross Property, Plant and Equipment
     55,394        50,821  
Accumulated Depreciation
     (41,106      (39,380
    
 
 
    
 
 
 
Net Property Plant and Equipment
   $ 14,288      $ 11,441  
    
 
 
    
 
 
 
XML 51 R39.htm IDEA: XBRL DOCUMENT v3.23.1
Accrued Expenses (Tables)
12 Months Ended
Jan. 31, 2023
Payables and Accruals [Abstract]  
Summary of Accrued Expenses
Accrued expenses consist of the following:

 
  
January 31,
 
(In thousands)   
2023
    
2022
 
Warranty
   $ 1,072      $ 834  
Professional Fees
     311        411  
Freight
     —          347  
Lease Liability
     275        327  
Accrued Property & Sales Tax
     187        316  
Stockholder Relation Fees
     86        102  
Dealer Commissions
     78        139  
Other Accrued Expenses
     1,299        1,637  
    
 
 
    
 
 
 
     $ 3,308      $ 4,113  
    
 
 
    
 
 
 
XML 52 R40.htm IDEA: XBRL DOCUMENT v3.23.1
Credit Agreement and Long-Term Debt (Tables)
12 Months Ended
Jan. 31, 2023
Debt Disclosure [Abstract]  
Schedule of Long Term Debt in the Accompanying Condensed Consolidated Balance Sheets
Long-term debt in the accompanying condensed consolidated balance sheets under the Amended Credit Agreement is as follows:
 
    
January 31,
 
(In thousands)   
2023
    
2022
 
USD Term Loan (6.78% as of January 31, 2023); maturity date of August 4, 2027
   $ 14,250      $ —    
USD Term Loan (2.35% as of January 31, 2022); maturity date of September 30, 2025
     —        $ 9,250  
    
 
 
    
 
 
 
       14,250        9,250  
Debt Issuance Costs, net of accumulated amortization
     (110      (96
Current Portion of Term Loan
     (2,100      (1,000
    
 
 
    
 
 
 
Long-Term Debt
   $ 12,040      $ 8,154  
    
 
 
    
 
 
 
Schedule of Required Principal Payments Remaining on Long Term Debt Outstanding
The schedule of required principal payments remaining on our long-term debt outstanding as of January 31, 2023 is as follows:
 
(In thousands)       
Fiscal 2024
   $ 2,100  
Fiscal 2025
     2,700  
Fiscal 2026
     2,700  
Fiscal 2027
     2,700  
Fiscal 2028
     4,050  
    
 
 
 
     $ 14,250  
    
 
 
 
XML 53 R41.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Financial Instruments and Risk Management (Tables)
12 Months Ended
Jan. 31, 2023
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Schedule of Impact of the Derivative Instruments in the Condensed Consolidated Financial Statements
The following tables present the impact of the derivative instruments in our consolidated financial statements for the years ended January 31, 2023 and 2022:
 
    
Years Ended
 
Cash Flow Hedge
(In thousands)
  
Amount of Gain(Loss)
Recognized in OCI
on
Derivative
    
Location of Gain (Loss)
Reclassified from
Accumulated OCI into
Income
    
Amount of Gain (Loss)
Reclassified from
Accumulated OCI into
Income
 
  
January 31,
2023
    
January 31,
2022
    
January 31,
2023
   
January 31,
2022
 
Swap contracts
   $ —        $ —          Other Income      $ (59   $ (79
    
 
 
    
 
 
             
 
 
   
 
 
 
XML 54 R42.htm IDEA: XBRL DOCUMENT v3.23.1
Leases (Tables)
12 Months Ended
Jan. 31, 2023
Leases [Abstract]  
Schedule Of Balance Sheet And Other Information Related To Operating Leases
Balance sheet and other information related to our leases is as follows:
 
Operating Leases
(In thousands)
  
Balance Sheet Classification
  
January 31,
2023
    
January 31,
2022
 
Lease Assets
   Right of Use Assets    $ 794      $ 1,094  
Lease Liabilities—Current
   Other Accrued Expenses    $ 275      $ 327  
Lease Liabilities—Long Term
   Lease Liabilities    $ 555      $ 808  
Schedule Lease Cost Information
Lease cost information is as follows:
 
Operating Leases
(In thousands)
  
Statement of Income Classification
 
  
2023
 
  
2022
 
Operating Lease Costs
  
 
General and Administrative Expense
 
   $ 460      $ 510  
Schedule of Maturities Of Lease Liabilities
At January 31, 2023, maturities of operating lease liabilities
are
as follows:
 
(In thousands)
      
2024
   $ 302  
2025
     199  
2026
     154  
2027
     149  
2028
     92  
Thereafter
     —    
    
 
 
 
Total Lease Payments
     896  
Less: Imputed Interest
     (66
    
 
 
 
Total Lease Liabilities
   $ 830  
    
 
 
 
Supplemental Cash Flow Information Related To Leases
Supplemental cash flow information related to leases is as follows:
 
(In thousands)
  
2023
    
2022
 
Cash paid for operating lease liabilities
   $ 314      $ 372  
XML 55 R43.htm IDEA: XBRL DOCUMENT v3.23.1
Accumulated Other Comprehensive Loss (Tables)
12 Months Ended
Jan. 31, 2023
Equity [Abstract]  
Changes in Balance of Accumulated Other Comprehensive Loss
The changes in the balance of accumulated other comprehensive loss by component are as follows:
 
(In thousands)   
Foreign Currency
Translation
Adjustments
    
Net
Unrealized
Gain (Losses)
on Cash Flow
Hedges
    
Total
 
Balance at January 31, 2020
   $ (985    $ (108    $ (1,093
Other Comprehensive Income (Loss) before reclassification
     710        (239      471  
Amounts Reclassified from AOCI to Earnings
     —          193        193  
Cross-Currency Interest Rate Swap Termination
     —          45        45  
    
 
 
    
 
 
    
 
 
 
Other Comprehensive Income (Loss)
     710        (1      709  
    
 
 
    
 
 
    
 
 
 
Balance at January 31, 2021
   $ (275    $ (109    $ (384
Other Comprehensive Loss before reclassification
     (1,426      —          (1,426
Amounts Reclassified from AOCI to Earnings
     —          62        62  
    
 
 
    
 
 
    
 
 
 
Other Comprehensive Income (Loss)
     (1,426      62        (1,364
    
 
 
    
 
 
    
 
 
 
Balance at January 31, 2022
   $ (1,701    $ (47    $ (1,748
Other Comprehensive Income (Loss) before reclassification
     (537      —          (537
Amounts reclassified from AOCI to Earnings
     —          47        47  
    
 
 
    
 
 
    
 
 
 
Other Comprehensive Income (Loss)
     (537      47        (490
    
 
 
    
 
 
    
 
 
 
Balance at January 31, 2023
   $ (2,238    $ —        $ (2,238
    
 
 
    
 
 
    
 
 
 
XML 56 R44.htm IDEA: XBRL DOCUMENT v3.23.1
Share-Based Compensation (Tables)
12 Months Ended
Jan. 31, 2023
Disclosure of Compensation Related Costs, Share-based Payments [Abstract]  
Share-Based Compensation Expense
Share-based compensation expense has been recognized as follows:
 
    
Years Ended January 31
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Stock Options
   $ 7      $ 210      $ 517  
Restricted Stock Awards and Restricted Stock Units
     1,271        1,266        1,285  
Employee Stock Purchase Plan
     12        17        17  
    
 
 
    
 
 
    
 
 
 
Total
   $ 1,290      $ 1,493      $ 1,819  
    
 
 
    
 
 
    
 
 
 
Aggregated Information Regarding Stock Options Granted
Aggregated information regarding stock options granted under the plans is summarized below:
 
    
Number
of Shares
    
Weighted-
Average
Exercise
Price Per
Share
 
Options Outstanding, January 31, 2020
     679,044      $ 14.46  
Options Granted
     —          —    
Options Exercised
     (1,200      7.60  
Options Forfeited
     (54,361      12.89  
Options Cancelled
     (1,400      7.36  
    
 
 
    
 
 
 
Options Outstanding, January 31, 2021
     622,083      $ 14.63  
Options Granted
     —          —    
Options Exercised
     (6,425      9.34  
Options Forfeited
     (17,615      15.09  
Options Cancelled
     —          —    
    
 
 
    
 
 
 
Options Outstanding, January 31, 2022
     598,043      $ 14.67  
Options Granted
     —          —    
Options Exercised
     (42,944      8.74  
Options Forfeited
     (5,500      15.42  
Options Cancelled
     (2,400      8.09  
    
 
 
    
 
 
 
Options Outstanding, January 31, 2023
     547,199      $ 15.16  
    
 
 
    
 
 
 
Summary of Options Outstanding
Set forth below is a summary of options outstanding at January 31, 2023:
 
Outstanding
 
  
Exercisable
 
Range of
Exercise prices
  
Number of
Shares
 
  
Weighted-
Average
Exercise Price
 
  
Weighted-
Average
Remaining
Contractual Life
 
  
Number of
Shares
 
  
Weighted-
Average
Exercise Price
 
  
Weighted
Average
Remaining
Contractual
Life
 
$5.00-10.00
     —        $ —          —          —        $ —          —    
$10.01-15.00
     332,849        13.68        2.9        332,849        13.68        2.9  
$15.01-20.00
     214,350        17.45        4.8        214,350        17.45        4.8  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
       547,199      $ 15.16        3.7        547,199      $ 15.16        3.7  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
Aggregated Information Regarding RSUs and RSAs Granted
Aggregated information regarding RSUs, PSUs and RSAs granted under the Plan is summarized below:
 
    
RSUs, PSUs &
RSAs
    
Weighted-Average
Grant Date Fair Value
 
Outstanding at January 31, 2020
     134,634      $ 16.79  
Granted
     245,131        7.61  
Vested
     (64,997      17.28  
Forfeited
     (117,355      8.83  
    
 
 
    
 
 
 
Outstanding at January 31, 2021
     197,413      $ 9.96  
Granted
     151,406        14.51  
Vested
     (126,939      10.43  
Forfeited
     (900      14.26  
    
 
 
    
 
 
 
Outstanding at January 31, 2022
     220,980      $ 13.23  
Granted
     141,371        12.70  
Vested
     (85,324      13.45  
Forfeited
     (2,100      13.25  
    
 
 
    
 
 
 
Outstanding at January 31, 2023
     274,927      $ 12.82  
    
 
 
    
 
 
 
XML 57 R45.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes (Tables)
12 Months Ended
Jan. 31, 2023
Income Tax Disclosure [Abstract]  
Components of Income before Income Taxes
The components of income (loss) before income taxes are as follows:
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Domestic
   $ 1,773      $ 5,046      $ (1,193
Foreign
     1,637        1,988        3,372  
    
 
 
    
 
 
    
 
 
 
     $ 3,410      $ 7,034      $ 2,179  
    
 
 
    
 
 
    
 
 
 
Components of Provision for Income Taxes
The components of the provision for income taxes are as follows:
 
 
  
2023
 
  
2022
 
  
2021
 
(In thousands)
  
 
 
  
 
 
  
 
 
Current:
                          
Federal
   $ 902      $ (183    $ 1,272  
State
     313        76        224  
Foreign
     870        501        420  
    
 
 
    
 
 
    
 
 
 
       2,085        394        1,916  
    
 
 
    
 
 
    
 
 
 
Deferred:
                          
Federal
   $ (1,053    $ 180      $ (910
State
     (315      177        (189
Foreign
     32        (146      78  
    
 
 
    
 
 
    
 
 
 
       (1,336      211        (1,021
    
 
 
    
 
 
    
 
 
 
     $ 749      $ 605      $ 895  
    
 
 
    
 
 
    
 
 
 
Reconciliation of income tax provision/(benefit) With The Amount Computed By Applying The Statutory Federal Income Tax Rate To The Income Before Income Tax Provision/(benefit)
Total income tax provision differs from the expected tax provision as a result of the following:
 
    
2023
    
2022
    
2021
 
(In thousands)                     
Income Tax Provision at Statutory Rate
   $ 716      $ 1,477      $ 458  
Change in Valuation Allowance
     182        57        (81
Foreign Rate Differential
     157        61        197  
Change in Reserves Related to ASC 740 Liability
     93        (245      (10
Denmark Statutory Audit
     —          —          341  
Meals and Entertainment
     —          9        11  
Canada Withholding Taxes
     —          —          62  
Global Intangible Low Taxed Income
     —          —          14  
Foreign Derived Intangible Income
     (180      (55      (150
R&D Credits
     (160      (180      (157
Share Based Compensation
     (52      (95      171  
Return to Provision Adjustment
     (22      368        (2
State Taxes, Net of Federal Tax Effect
     (2      143        28  
PPP Loan Forgiveness
     —          (937      —    
Other
     17        2        13  
    
 
 
    
 
 
    
 
 
 
     $ 749      $ 605      $ 895  
    
 
 
    
 
 
    
 
 
 
Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities The tax effects of temporary differences that gave rise to significant portions of the deferred tax assets and liabilities are as follows:
 
    
January 31,
 
(In thousands)

  
2023
    
2022
 
Deferred Tax Assets:
                 
Inventory
   $ 2,710      $ 2,159  
Honeywell Royalty Liability
     3,008        2,655  
State R&D Credits
     1,851        1,925  
Share-Based Compensation
     620        593  
Bad Debt
     180        213  
Warranty Reserve
     258        198  
Compensation Accrual
     248        322  
Net Operating Loss
     135        152  
ASU 842 Adjustment – Lease Liability
     53        93  
Unrecognized State Tax Benefits
     58        64  
Foreign Tax Credit
     154        154  
Deferred Service Contract Revenue
     90        61  
Section 174 Capitalization*
     1,175        —    
Other
     281        224  
    
 
 
    
 
 
 
     10,821      8,813  
Deferred Tax Liabilities:
                 
Accumulated Tax Depreciation in Excess of Book Depreciation
     1,037        455  
Intangibles
     694        767  
ASU 842 Adjustment – Lease Liability
     50        90  
Other
     180        318  
    
 
 
    
 
 
 
     1,961      1,630  
    
 
 
    
 
 
 
Subtotal
     8,860        7,183  
Valuation Allowance
     (2,120      (1,778
    
 
 
    
 
 
 
Net Deferred Tax Assets
   $ 6,740      $ 5,405  
    
 
 
    
 
 
 
 
*
Beginning in fiscal 2023, changes to Section 174 of the Internal Revenue Code made by the Tax Cuts and Jobs Act of 2017 no longer permit an immediate deduction for research and development expenditures in the tax year that such costs are incurred. These costs are capitalized resulting in an increase in deferred tax assets of $1.2 million.
Deferred taxes are reflected in the consolidated balance sheet as follows:
 
    
January 31,
 
    
2023
    
2022
 
Deferred Tax Assets
     6,907        5,591  
Deferred Tax Liabilities
     (167      (186
    
 
 
    
 
 
 
Total Net Deferred Tax Assets
   $ 6,740      $ 5,405  
    
 
 
    
 
 
 
Changes in Balance of Unrecognized Tax Benefits, Excluding Interest and Penalties
    
2023
    
2022
    
2021
 
(In thousands)                     
Balance, beginning of the year
   $ 303      $ 384      $ 362  
Increases in prior period tax positions
     24        63        59  
Increases in current period tax positions
     136        67        5  
Reductions related to lapse of statutes of limitations
     (49      (211      (42
    
 
 
    
 
 
    
 
 
 
Balance, end of the year
   $ 414      $ 303      $ 384  
    
 
 
    
 
 
    
 
 
 
XML 58 R46.htm IDEA: XBRL DOCUMENT v3.23.1
Nature of Operations, Segment Reporting and Geographical Information (Tables)
12 Months Ended
Jan. 31, 2023
Segment Reporting [Abstract]  
Net Sales and Segment Operating Profit (loss) for Each Reporting Segment
Summarized below are the revenue and segment operating profit (loss) (both in dollars and as a percentage of revenue) for each reporting segment:
 
($ in thousands)
 
Revenue
 
 
Segment Operating Profit
(Loss)
 
 
Segment Operating Profit (Loss)
as a % of Revenue
 
 
 
2023
 
 
2022
 
 
2021
 
 
2023
 
 
2022
 
 
2021
 
 
2023
 
 
2022
 
 
2021
 
Product Identification
  $ 103,089     $ 90,915     $ 90,268     $ 7,889     $ 10,411     $ 12,885       7.7     11.5     14.3
T&M
    39,438       26,565       25,765       8,989       3,398       (1,032     22.8     12.8     (4.0 )% 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
   
 
 
 
Total
  $ 142,527     $ 117,480     $ 116,033       16,878       13,809       11,853       11.8     11.8     10.2
   
 
 
   
 
 
   
 
 
                           
 
 
   
 
 
   
 
 
 
Corporate Expenses
                            11,435       9,553       9,420                          
                           
 
 
   
 
 
   
 
 
                         
Operating Income
                            5,443       4,256       2,433                          
Other Income (Expense), Net
                            (2,033     2,778       (254                        
                           
 
 
   
 
 
   
 
 
                         
Income Before Income Taxes
                            3,410       7,034       2,179                          
Income Tax Provision
                            749       605       895                          
                           
 
 
   
 
 
   
 
 
                         
Net Income
                          $ 2,661     $ 6,429     $ 1,284                          
                           
 
 
   
 
 
   
 
 
                         
Summary of Other Information by Segment
Other information by segment is presented below:
 
(In thousands)   
Assets
 
    
January 31,
 
    
2023
    
2022
 
Product Identification
   $ 69,607      $ 51,732  
T&M
     60,730        50,374  
Corporate*
     8,870        12,849  
    
 
 
    
 
 
 
Total
   $ 139,207      $ 114,955  
    
 
 
    
 
 
 
 
*
Corporate assets consist principally of cash, cash equivalents, deferred tax assets and refunds, and certain prepaid corporate assets.
 
(In thousands)   
Depreciation and
Amortization
    
Capital Expenditures
 
    
2023
    
2022
    
2021
    
2023
    
2022
    
2021
 
Product Identification
   $ 2,219      $ 1,157      $ 1,835      $ 121      $ 847      $ 1,563  
T&M
     1,697        2,837        4,148        108        949        1,024  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
Total
   $ 3,916      $ 3,994      $ 5,983      $ 229      $ 1,796      $ 2,587  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
Summary of Selected Financial Information by Geographic Area
Presented below is selected financial information by geogr
ap
hic area:
 
                  
Long-Lived Assets*
 
(In thousands)   
Revenue
    
January 31,
 
    
2023
    
2022
    
2021
    
2023
    
2022
 
United States
   $ 91,917      $ 68,185      $ 70,911      $ 34,277      $ 29,131  
Europe
     31,021        31,922        29,029        1,230        1,486  
Canada
     8,393        6,519        5,574        4        9  
Asia
     5,345        5,926        5,105        9        15  
Central and South America
     4,589        3,271        3,950        —          —    
Other
     1,262        1,657        1,464        —          —    
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
Total
   $ 142,527      $ 117,480      $ 116,033      $ 35,520      $ 30,641  
    
 
 
    
 
 
    
 
 
    
 
 
    
 
 
 
 
*
Long-lived assets exclude goodwill assigned to the T&M segment of $4.5 million at both January 31, 2023 and 2022 and $10.1 million and $7.6 million assigned to the PI segment at January 31, 2023 and 2022, respectively. 
XML 59 R47.htm IDEA: XBRL DOCUMENT v3.23.1
Product Warranty Liability (Tables)
12 Months Ended
Jan. 31, 2023
Guarantees and Product Warranties [Abstract]  
Activity in Product Warranty Liability Activity in the product warranty liability, which is included in other accrued expenses in the accompanying consolidated balance sheet, is as follows:
 
(
In thousands)
  
2023
    
2022
    
2021
 
Balance, beginning of the year
   $ 834      $ 730      $ 850  
Provision for Warranty Expense
     2,077        2,174        855  
Cost of Warranty Repairs
     (1,839      (2,070      (975
    
 
 
    
 
 
    
 
 
 
Balance, end of the year
   $ 1,072      $ 834      $ 730  
    
 
 
    
 
 
    
 
 
 
XML 60 R48.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value Measurements (Tables)
12 Months Ended
Jan. 31, 2023
Fair Value Disclosures [Abstract]  
Summary of Changes in Fair value of Level 3 Financial Liability
Our long-term debt, including the current portion of long-term debt not reflected in the financial statements at fair value, is reflected in the table below:
 
    
Fair Value Measurement at
January 31, 2023
        
(In thousands)   
Level 1
    
Level 2
    
Level 3
    
Total
    
Carrying
Value
 
Long-Term Debt and Related Current Maturities
   $ —        $ —        $ 14,310      $ 14,310      $ 14,250  
     
    
Fair Value Measurement at
January 31, 2022
        
(In thousands)   
Level 1
    
Level 2
    
Level 3
    
Total
    
Carrying
Value
 
Long-Term Debt and Related Current Maturities
   $ —        $ —        $ 9,255      $ 9,255      $ 9,250  
XML 61 R49.htm IDEA: XBRL DOCUMENT v3.23.1
Summary of Significant Accounting Policies - Additional Information (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jun. 15, 2021
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
May 06, 2020
Summary Of Significant Accounting Policies [Line Items]          
Highly liquid investments with an original maturity   90      
Cash of held in foreign bank accounts   $ 3,200 $ 3,700    
Net transactional foreign exchange gain (loss)   (474) (288) $ 590  
Advertising expense   1,600 1,300 900  
Impairment of Long lived assets held for use   0 0 0  
Impairment charges for intangible assets   $ 0 $ 0 $ 0  
Number of common equivalent shares   685,667 345,085 642,623  
Liability for self-insured claims   $ 300 $ 200    
Gain on Extinguishment of Debt – PPP Loan   0 4,466    
Foreign Exchange [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Net transactional foreign exchange gain (loss)   300 $ 500 $ 600  
Paycheck Protection Program Loan [Member] | Greenwood Credit Union [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Debt instrument face amount         $ 4,400
Gain on Extinguishment of Debt – PPP Loan   4,500      
Amount of PPP loan forgiven $ 4,400        
Promissory Note [Member] | Paycheck Protection Program Loan [Member] | Greenwood Credit Union [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Debt related commitment fees and debt issuance costs   $ 4,400      
Maximum [Member] | Customer Concentration Risk [Member] | Sales Revenue, Net [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Percentage of revenue satisfied for services   5.00% 4.40%    
Maximum [Member] | Airborne Product [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Products warranty period   5 years      
Minimum [Member] | Airborne Product [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Products warranty period   3 years      
Land Improvements [Member] | Maximum [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Estimated useful lives of the assets   20 years      
Land Improvements [Member] | Minimum [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Estimated useful lives of the assets   10 years      
Building And Leasehold Improvements [Member] | Maximum [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Estimated useful lives of the assets   45 years      
Building And Leasehold Improvements [Member] | Minimum [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Estimated useful lives of the assets   10 years      
Machinery and Equipment [Member] | Maximum [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Estimated useful lives of the assets   10 years      
Machinery and Equipment [Member] | Minimum [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Estimated useful lives of the assets   3 years      
Computer Equipment And Software [Member] | Maximum [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Estimated useful lives of the assets   10 years      
Computer Equipment And Software [Member] | Minimum [Member]          
Summary Of Significant Accounting Policies [Line Items]          
Estimated useful lives of the assets   3 years      
XML 62 R50.htm IDEA: XBRL DOCUMENT v3.23.1
Acquisitions - Summary of Purchase Price of Acquisition Allocated on Basis of Fair Value (Detail)
$ in Thousands
Aug. 04, 2022
USD ($)
Business Acquisition [Line Items]  
Cash $ 91
Accounts Receivable 3,393
Inventory 5,715
Property, Plant and Equipment 4,200
Identifiable Intangible Assets 3,480
Goodwill 2,730
Accounts Payable and Other Current Liabilities (2,484)
Total Purchase Price $ 17,125
XML 63 R51.htm IDEA: XBRL DOCUMENT v3.23.1
Acquisitions - Summary of Fair Value of the Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail)
$ in Thousands
Aug. 04, 2022
USD ($)
Acquired Finite-Lived Intangible Assets [Line Items]  
Fair Value $ 3,480
Customer Relationships [Member]  
Acquired Finite-Lived Intangible Assets [Line Items]  
Fair Value $ 3,060
Useful Life (Years) 5 years
Trademarks and Trade Names [Member]  
Acquired Finite-Lived Intangible Assets [Line Items]  
Fair Value $ 420
Useful Life (Years) 5 years
XML 64 R52.htm IDEA: XBRL DOCUMENT v3.23.1
Acquisitions - Summary of Revenue and Earnings Before Taxes (Detail) - Agreement With Astro Machine For Asset Acquisitions [Member]
$ in Thousands
6 Months Ended
Jan. 31, 2023
USD ($)
Business Acquisition Pro Forma Information [Line Items]  
Revenue $ 12,515
Earnings before Taxes $ 1,571
XML 65 R53.htm IDEA: XBRL DOCUMENT v3.23.1
Acquisitions - Summary of Acquired Identifiable Intangible Asset (Detail) - Customer Contract Relationships [Member]
$ in Thousands
12 Months Ended
Jan. 31, 2023
USD ($)
Acquired Finite-Lived Intangible Assets [Line Items]  
Fair Value $ 530
Useful Life (Years) 20 years
XML 66 R54.htm IDEA: XBRL DOCUMENT v3.23.1
Acquisitions - Additional Information (Detail)
12 Months Ended
Aug. 04, 2022
USD ($)
ft²
Jan. 31, 2023
USD ($)
Jan. 31, 2022
USD ($)
Business Acquisition [Line Items]      
Business Combination, Consideration Transferred   $ 17,034,000  
Area of Land | ft² 34,460    
Goodwill   14,658,000 $ 12,156,000
Royalty expense   100,000  
Royalty guarantee commitement due current and non current discounted value   500,000  
Royalty Payments Due In Next Twelve Months [Member]      
Business Acquisition [Line Items]      
Royalty guarantee commitement amount   100,000,000  
Royalty Payments Due Year Two [Member]      
Business Acquisition [Line Items]      
Royalty guarantee commitement amount   200,000,000  
Royalty Payments Due Year Three [Member]      
Business Acquisition [Line Items]      
Royalty guarantee commitement amount   233,000,000  
Royalty Payments Due Year Four [Member]      
Business Acquisition [Line Items]      
Royalty guarantee commitement amount   233,000,000  
Royalty Payments Due Year Five [Member]      
Business Acquisition [Line Items]      
Royalty guarantee commitement amount   234,000,000  
Non Current Liability [Member]      
Business Acquisition [Line Items]      
Royalty guarantees commitments amount non current   $ 100,000  
Measurement Input Royalty Rate [Member]      
Business Acquisition [Line Items]      
Fair Value Of Intangible Assets Measurement Input   0.0075  
Measurement Input Customer Attrition Rate [Member]      
Business Acquisition [Line Items]      
Fair Value Of Intangible Assets Measurement Input   0.18  
Measurement Input, Discount Rate [Member]      
Business Acquisition [Line Items]      
Fair Value Of Intangible Assets Measurement Input   0.19  
Agreement With Astro Machine For Asset Acquisitions [Member]      
Business Acquisition [Line Items]      
Purchase price of acquisition $ 15,600,000    
Business Combination, Consideration Transferred $ 17,100,000    
Payments to Acquire Businesses, Gross 100.00%    
Purchase price into an escrow account $ 300,000    
Payments to Acquire Additional Interest in Subsidiaries $ 1,500,000    
Number of Acres of land   1.26  
Goodwill   $ 2,730,000  
Agreement With Astro Machine For Asset Acquisitions [Member] | General and Administrative Expense [Member]      
Business Acquisition [Line Items]      
Business Combination, Acquisition Related Costs   $ 700,000  
XML 67 R55.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Summary of Revenues Disaggregated by Primary Geographic Markets (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Disaggregation of Revenue [Line Items]      
Total Revenue $ 142,527 $ 117,480 $ 116,033
United States [Member]      
Disaggregation of Revenue [Line Items]      
Total Revenue 91,917 68,185 70,911
Europe [Member]      
Disaggregation of Revenue [Line Items]      
Total Revenue 31,021 31,922 29,029
Canada [Member]      
Disaggregation of Revenue [Line Items]      
Total Revenue 8,393 6,519 5,574
Asia [Member]      
Disaggregation of Revenue [Line Items]      
Total Revenue 5,345 5,926 5,105
Central and South America [Member]      
Disaggregation of Revenue [Line Items]      
Total Revenue 4,589 3,271 3,950
Other [Member]      
Disaggregation of Revenue [Line Items]      
Total Revenue $ 1,262 $ 1,657 $ 1,464
XML 68 R56.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Summary of Revenues Disaggregated by Primary Product Type (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Disaggregation of Revenue [Line Items]      
Total Revenue $ 142,527 $ 117,480 $ 116,033
Hardware [Member]      
Disaggregation of Revenue [Line Items]      
Total Revenue 42,445 31,492 34,111
Supplies [Member]      
Disaggregation of Revenue [Line Items]      
Total Revenue 82,072 73,244 71,772
Service and Other [Member]      
Disaggregation of Revenue [Line Items]      
Total Revenue $ 18,010 $ 12,744 $ 10,150
XML 69 R57.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Additional Information (Detail) - USD ($)
3 Months Ended 12 Months Ended
Jul. 31, 2021
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Dec. 31, 2022
Contract liabilities and extended warranties   $ 412,000 $ 262,000    
Revenue recognized   248,000      
Contract assets balance   1,300,000 1,300,000    
Additional contract costs   100,000      
Amortization of incremental direct costs   75,000 $ 60,000 $ 27,000  
Deferred incremental direct contract costs reported in other current assets   $ 100,000      
Capitalized contract costs additional amounts incurred amortization period   19 years      
Capitalized contract cost net long term and short term   $ 1,400,000      
Capitalized contract costs additional amounts incurred amortization period   6 years      
Aerospace Customer [Member]          
Contract with customer liability         $ 3,250,000
Revenue recognized   $ 1,100,000      
Change in Accounting Method Accounted for as Change in Estimate [Member]          
Capitalized contract costs additional amounts incurred amortization period 20 years        
XML 70 R58.htm IDEA: XBRL DOCUMENT v3.23.1
Intangible Assets - Fair Value of Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail) - USD ($)
$ in Thousands
Jan. 31, 2023
Jan. 31, 2022
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 40,447 $ 36,437
Accumulated Amortization (19,336) (17,410)
Currency Translation Adjustment 121 173
Net Carrying Amount 21,232 19,200
Customer Contract Relationships [Member] | Honeywell Asset Purchase and License Agreement [Member]    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 27,773 27,243
Accumulated Amortization (11,913) (11,073)
Net Carrying Amount 15,860 16,170
Customer Contract Relationships [Member] | Miltope [Member]    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 3,100 3,100
Accumulated Amortization (2,777) (2,515)
Net Carrying Amount 323 585
Customer Contract Relationships [Member] | RITEC [Member]    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 2,830 2,830
Accumulated Amortization (1,623) (1,557)
Net Carrying Amount 1,207 1,273
Customer Contract Relationships [Member] | Agreement With Astro Machine For Asset Acquisitions [Member]    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 3,060  
Accumulated Amortization (306)  
Net Carrying Amount 2,754  
Existing Technology [Member] | TrojanLabel ApS [Member]    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 2,327 2,327
Accumulated Amortization (2,087) (1,767)
Currency Translation Adjustment 94 127
Net Carrying Amount 334 687
Distributor Relations [Member] | TrojanLabel ApS [Member]    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 937 937
Accumulated Amortization (588) (498)
Currency Translation Adjustment 27 46
Net Carrying Amount 376 $ 485
Trademarks [Member] | Agreement With Astro Machine For Asset Acquisitions [Member]    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 420  
Accumulated Amortization (42)  
Net Carrying Amount $ 378  
XML 71 R59.htm IDEA: XBRL DOCUMENT v3.23.1
Intangible Assets - Additional Information (Detail) - USD ($)
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Intangible Assets [Line Items]      
Impairments of intangible assets $ 0 $ 0  
Amortization expense $ 1,900,000 $ 2,200,000 $ 4,100,000
Customer Contracts [Member] | RITEC [Member]      
Intangible Assets [Line Items]      
Finite lived intangible assets remaining useful Life 4 years    
Customer Contracts [Member] | Honeywell Asset Purchase and License Agreement [Member]      
Intangible Assets [Line Items]      
Finite lived intangible assets remaining useful Life 6 years    
Customer Contracts [Member] | Intangible Assets, Amortization Period [Member]      
Intangible Assets [Line Items]      
Decrease In amortization expense $ 1,800,000    
Increase in net income due to change of amortization method $ 1,800,000    
Customer Contracts [Member] | Intangible Assets, Amortization Period [Member] | RITEC [Member]      
Intangible Assets [Line Items]      
Finite lived intangible assets remaining useful Life 20 years    
Customer Contracts [Member] | Intangible Assets, Amortization Period [Member] | Honeywell Asset Purchase and License Agreement [Member]      
Intangible Assets [Line Items]      
Finite lived intangible assets remaining useful Life 20 years    
XML 72 R60.htm IDEA: XBRL DOCUMENT v3.23.1
Intangible Assets - Summary of Estimated Amortization Expense (Detail)
$ in Thousands
Jan. 31, 2023
USD ($)
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]  
2024 $ 2,378
2025 1,719
2026 1,718
2027 17,192
2028 $ 1,281
XML 73 R61.htm IDEA: XBRL DOCUMENT v3.23.1
Inventories - Additional Information (Detail) - USD ($)
$ in Millions
Jan. 31, 2023
Jan. 31, 2022
Inventory Disclosure [Abstract]    
Inventory demonstration equipment $ 2.3 $ 3.4
XML 74 R62.htm IDEA: XBRL DOCUMENT v3.23.1
Inventories - Components of Inventories (Detail) - USD ($)
$ in Thousands
Jan. 31, 2023
Jan. 31, 2022
Inventory Disclosure [Abstract]    
Materials and Supplies $ 38,387 $ 22,709
Work-in-Progress 1,146 1,489
Finished Goods 23,221 19,718
Inventory, Gross 62,754 43,916
Inventory Reserve (11,430) (9,307)
Inventories $ 51,324 $ 34,609
XML 75 R63.htm IDEA: XBRL DOCUMENT v3.23.1
Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail) - USD ($)
$ in Thousands
Jan. 31, 2023
Jan. 31, 2022
Land and Land Improvements $ 2,304 $ 1,004
Buildings and Leasehold Improvements 14,158 12,666
Machinery and Equipment 24,960 23,238
Computer Equipment and Software 13,972 13,913
Gross Property, Plant and Equipment 55,394 50,821
Accumulated Depreciation (41,106) (39,380)
Net Property Plant and Equipment $ 14,288 $ 11,441
XML 76 R64.htm IDEA: XBRL DOCUMENT v3.23.1
Property, Plant and Equipment - Additional Information (Detail) - USD ($)
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Depreciation expense on property, plant and equipment $ 2,000,000 $ 1,700,000 $ 1,900,000
Nonoperating Income (Expense) [Member]      
Capitalized Computer Software, Impairments   $ 696,000  
XML 77 R65.htm IDEA: XBRL DOCUMENT v3.23.1
Accrued Expenses - Summary of Accrued Expenses (Detail) - USD ($)
$ in Thousands
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Jan. 31, 2020
Payables and Accruals [Abstract]        
Warranty $ 1,072 $ 834 $ 730 $ 850
Professional Fees 311 411    
Freight 0 347    
Lease Liability 275 327    
Accrued Property & Sales Tax 187 316    
Stockholder Relation Fees 86 102    
Dealer Commissions 78 139    
Other Accrued Expenses 1,299 1,637    
Total $ 3,308 $ 4,113    
Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] Total Total    
XML 78 R66.htm IDEA: XBRL DOCUMENT v3.23.1
Credit Agreement and Long- Term Debt - Schedule of Long Term Debt in the Accompanying Condensed Consolidated Balance Sheets (Detail) - USD ($)
$ in Thousands
Jan. 31, 2023
Jan. 31, 2022
Debt Instrument [Line Items]    
USD Term Loan $ 14,250 $ 9,250
Debt Issuance Costs, net of accumulated amortization (110) (96)
Current Portion of Term Loan (2,100) (1,000)
Long-Term Debt 12,040 8,154
Term Loan Due September 30, 2025 [Member]    
Debt Instrument [Line Items]    
USD Term Loan 0 9,250
Term Loan Due August 4, 2027 [Member]    
Debt Instrument [Line Items]    
USD Term Loan $ 14,250 $ 0
XML 79 R67.htm IDEA: XBRL DOCUMENT v3.23.1
Credit Agreement and Long- Term Debt- Schedule of Required Principal Payments Remaining on Long Term Debt Outstanding (Detail) - Term Loan [Member]
$ in Thousands
Jan. 31, 2023
USD ($)
Debt Instrument [Line Items]  
Fiscal 2024 $ 2,100
Fiscal 2025 2,700
Fiscal 2026 2,700
Fiscal 2027 2,700
Fiscal 2028 4,050
Long-term Debt $ 14,250
XML 80 R68.htm IDEA: XBRL DOCUMENT v3.23.1
Credit Agreement and Long- Term Debt - Additional Information (Detail) - USD ($)
$ in Thousands
9 Months Ended 12 Months Ended 42 Months Ended
Aug. 04, 2022
Jul. 31, 2023
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Apr. 30, 2027
Debt Instrument [Line Items]            
Revolving loan outstanding     $ 15,900      
Interest Expense, Debt     $ 600 $ 300 $ 500  
Revolving Credit Facility [Member]            
Debt Instrument [Line Items]            
Variable interest rate     0.50      
LIBOR [Member] | Revolving Credit Facility [Member]            
Debt Instrument [Line Items]            
Interest rate     1.00%      
Federal Funds Effective Swap Rate [Member] | Revolving Credit Facility [Member]            
Debt Instrument [Line Items]            
Interest rate     0.50%      
Minimum [Member] | Revolving Credit Facility [Member]            
Debt Instrument [Line Items]            
Commitment fee rate     0.15%      
Percentage added to variable rate     0.60%      
Minimum [Member] | LIBOR [Member] | Revolving Credit Facility [Member]            
Debt Instrument [Line Items]            
Interest rate     1.60%      
Maximum [Member] | Revolving Credit Facility [Member]            
Debt Instrument [Line Items]            
Commitment fee rate     0.35%      
Percentage added to variable rate     1.50%      
Maximum [Member] | LIBOR [Member] | Revolving Credit Facility [Member]            
Debt Instrument [Line Items]            
Interest rate     2.50%      
Bank of America, N.A. [Member] | Term Loan [Member]            
Debt Instrument [Line Items]            
Debt Instrument, principal Periodic payment   $ 375,000       $ 675,000
Bank of America, N.A. [Member] | Term Loan [Member] | Additional Term Loan Availed [Member] | Second Amendment Credit Agreement [Member]            
Debt Instrument [Line Items]            
Principal amount of debt $ 6,000          
Bank of America, N.A. [Member] | Term Loan [Member] | Before Amendment To The Credit Agreement [Member]            
Debt Instrument [Line Items]            
Principal amount of debt     $ 9,000      
Bank of America, N.A. [Member] | Revolving Credit Facility [Member]            
Debt Instrument [Line Items]            
Line of Credit Facility, Remaining Borrowing Capacity     $ 9,100      
Long term debt weighted average interest rate over a period of time     6.71% 4.10%    
Bank of America, N.A. [Member] | Revolving Credit Facility [Member] | Second Amendment Credit Agreement [Member]            
Debt Instrument [Line Items]            
Maximum borrowing capacity     $ 25,000      
Proceeds from long term line of credit $ 12,400   6,000      
Bank of America, N.A. [Member] | Revolving Credit Facility [Member] | Before Amendment To The Credit Agreement [Member]            
Debt Instrument [Line Items]            
Maximum borrowing capacity       $ 22,500    
Bank of America, N.A. [Member] | Revolving Credit Facility [Member] | Other Expense [Member]            
Debt Instrument [Line Items]            
Interest Expense, Debt     752,000 4,000    
Line of Credit Facility, Commitment Fee Amount     $ 30,000 $ 50,000    
XML 81 R69.htm IDEA: XBRL DOCUMENT v3.23.1
Paycheck Protection Program Loan - Additional information (Detail) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Jun. 15, 2021
Jul. 31, 2021
Jan. 31, 2023
Jan. 31, 2022
May 06, 2020
Extinguishment of Debt – PPP Loan     $ 0 $ 4,466  
Paycheck Protection Program Loan [Member] | Green wood Credit Union [Member]          
Debt instrument face amount         $ 4,400
Loan, payment terms     The PPP Loan, originally scheduled to mature on May 6, 2022, was unsecured and bore interest at a rate of 1.0% per annum, accruing from the loan date.    
Loan, maturity date     May 06, 2022    
Loan, interest rate     1.00%    
Amount of PPP loan forgiven $ 4,400        
Extinguishment of Debt – PPP Loan   $ 4,500      
XML 82 R70.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Financial Instruments and Risk Management - Additional Information (Detail) - USD ($)
3 Months Ended
Jul. 30, 2020
Oct. 30, 2021
Cash Flow Hedging [Member]    
Derivative Instruments and Hedging Activities Disclosures [Line Items]    
Cash paid termination of swaps   $ 700,000
Cross Currency Interest Rate Contract [Member]    
Derivative Instruments and Hedging Activities Disclosures [Line Items]    
Interest Rate Swap Termination $ 200,000  
Cross Currency Interest Rate Contract [Member] | Cash Flow Hedging [Member]    
Derivative Instruments and Hedging Activities Disclosures [Line Items]    
Amount of Gain Reclassified from Accumulated OCI into Income (Expense)   $ 58,000
XML 83 R71.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Financial Instruments and Risk Management - Schedule of Impact of the Derivative Instruments in the Condensed Consolidated Financial Statements (Detail) - Cash Flow Hedge [Member] - Cross Currency Interest Rate Contract [Member] - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Derivative Instruments and Hedging Activities Disclosures [Line Items]    
Amount of Gain (Loss) Recognized in OCI on Derivative $ 0 $ 0
Location of Gain Reclassified from Accumulated OCI into Income (Expense) Other Income  
Amount of Gain (Loss) Reclassified from Accumulated OCI into Income $ (59) $ (79)
XML 84 R72.htm IDEA: XBRL DOCUMENT v3.23.1
Employee Retention Credit - Additional Information (Detail) - USD ($)
$ in Thousands
1 Months Ended 6 Months Ended 12 Months Ended
Mar. 22, 2022
Oct. 30, 2021
Jul. 31, 2021
Jun. 30, 2021
Jan. 31, 2023
Jan. 31, 2022
Employee Retention Credit Disclosure [Line Items]            
ERC receivables $ 3,100 $ 3,100     $ 0 $ 3,135
Cost of Sales [Member]            
Employee Retention Credit Disclosure [Line Items]            
Employee retention credit receivables   1,700        
Selling and Marketing Expense [Member]            
Employee Retention Credit Disclosure [Line Items]            
Employee Retention Credit Receivable - selling and marketing         800  
Research and Development Expense [Member]            
Employee Retention Credit Disclosure [Line Items]            
Employee Retention Credit Receivable - research and development   $ 300        
General and Administrative Expense [Member]            
Employee Retention Credit Disclosure [Line Items]            
Employee Retention Credit Receivable - general and administrative expenses         300  
Prepaid Expenses and Other Current Assets [Member]            
Employee Retention Credit Disclosure [Line Items]            
Employee retention credit         $ 3,100  
Cares Act [Member]            
Employee Retention Credit Disclosure [Line Items]            
Percentage of refundable tax credit can be claimed of qualified wages       (70.00%)    
Threshold qualified wages per employee per calendar quarter       $ 10,000    
Maximum threshold employee retention credit per employee per calendar quarter       $ 7,000    
Percentage of reduction of gross Receipts to qualify for employee retention credit     20.00%      
Cares Act [Member] | Prepaid Expenses and Other Current Assets [Member]            
Employee Retention Credit Disclosure [Line Items]            
Employee retention credit received $ 3,100          
XML 85 R73.htm IDEA: XBRL DOCUMENT v3.23.1
Royalty Obligation - Additional Information (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2018
Jan. 31, 2023
Jan. 31, 2022
Guaranteed Minimum Royalty Payments   $ 9,500  
Royalty Obligation, Current   1,725 $ 2,000
Royalty Obligation Non Current   3,415 4,361
Accrued Royalties, Current, Excess Royalty Payment Due   423 235
Honeywell Asset Purchase and License Agreement [Member]      
Payment Term Period 10 years    
Minimum Royalty Payment Obligation $ 15,000    
Royalty Obligation, Current   1,600  
Royalty Obligation Non Current   3,000  
Excess Royalty Payments   1,300 $ 500
Accrued Royalties, Current, Excess Royalty Payment Due   $ 400  
XML 86 R74.htm IDEA: XBRL DOCUMENT v3.23.1
Leases - Additional Information (Detail)
Jan. 31, 2023
Operating Lease, Weighted Average Remaining Lease Term 3 years 9 months 18 days
Operating Lease, Weighted Average Discount Rate, Percent 3.87%
XML 87 R75.htm IDEA: XBRL DOCUMENT v3.23.1
Leases - Schedule Of Balance Sheet And Other Information Related To Operating Leases (Detail) - USD ($)
$ in Thousands
Jan. 31, 2023
Jan. 31, 2022
Operating Leases [Abstract]    
Right of Use Assets $ 794 $ 1,094
Other Accrued Expenses 275 327
Lease Liabilities $ 555 $ 808
XML 88 R76.htm IDEA: XBRL DOCUMENT v3.23.1
Leases - Lease Cost Information (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
General and Administrative Expense [Member]    
Operating Lease Costs $ 460 $ 510
XML 89 R77.htm IDEA: XBRL DOCUMENT v3.23.1
Leases - Maturities of lease liabilities (Detail)
$ in Thousands
Jan. 31, 2023
USD ($)
Leases [Abstract]  
2024 $ 302
2025 199
2026 154
2027 149
2028 92
Thereafter 0
Total Lease Payments 896
Less: Imputed Interest (66)
Total Lease Liabilities $ 830
XML 90 R78.htm IDEA: XBRL DOCUMENT v3.23.1
Leases - Supplemental cash flow information (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Cash paid for amounts included in the measurement of lease liabilities [Abstract]    
Cash paid for operating lease liabilities $ 314 $ 372
XML 91 R79.htm IDEA: XBRL DOCUMENT v3.23.1
Accumulated Other Comprehensive Loss - Changes in Balance of Accumulated Other Comprehensive Loss (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Schedule of Capitalization, Equity [Line Items]      
Beginning Balance $ 81,012 $ 74,683 $ 71,375
Other Comprehensive Income (Loss) (490) (1,364) 709
Ending Balance 84,367 81,012 74,683
Foreign Currency Translation Adjustments [Member]      
Schedule of Capitalization, Equity [Line Items]      
Beginning Balance (1,701) (275) (985)
Other Comprehensive Income (Loss) before reclassification (537) (1,426) 710
Other Comprehensive Income (Loss) (537) (1,426) 710
Ending Balance (2,238) (1,701) (275)
Net Unrealized Gain/(Loss) on Cash Flow Hedges [Member]      
Schedule of Capitalization, Equity [Line Items]      
Beginning Balance (47) (109) (108)
Other Comprehensive Income (Loss) before reclassification     (239)
Amounts reclassified from AOCL to Earnings 47 62 193
Cross-Currency Interest Rate Swap Termination     45
Other Comprehensive Income (Loss) 47 62 (1)
Ending Balance   (47) (109)
Accumulated Other Comprehensive Income (Loss) [Member]      
Schedule of Capitalization, Equity [Line Items]      
Beginning Balance (1,748) (384) (1,093)
Other Comprehensive Income (Loss) before reclassification (537) (1,426) 471
Amounts reclassified from AOCL to Earnings 47 62 193
Cross-Currency Interest Rate Swap Termination     45
Other Comprehensive Income (Loss) (490) (1,364) 709
Ending Balance $ (2,238) $ (1,748) $ (384)
XML 92 R80.htm IDEA: XBRL DOCUMENT v3.23.1
Shareholders' Equity - Additional information (Detail) - USD ($)
$ in Millions
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Class of Stock [Line Items]    
Company shares given to employees, shares 17,752 27,222
Company shares given to employees, value $ 0.3 $ 0.4
XML 93 R81.htm IDEA: XBRL DOCUMENT v3.23.1
Share-Based Compensation - Additional Information (Detail) - USD ($)
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Jan. 31, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares outstanding 547,199 598,043 622,083 679,044
Number of options granted 0 0 0  
Aggregate intrinsic value of options exercised $ 200,000 $ 26,000 $ 4,000  
Reservation of shares under Stock Purchase Plan 40,000      
Restricted Stock or Unit Expense $ 1,271,000 $ 1,266,000 $ 1,285,000  
Employee Stock Purchase Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Employee Stock Purchase Plan discount rate 15.00%      
2007 Equity Incentive Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares outstanding 276,574      
2018 Equity Incentive Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Shares authorized for grant under the Plan 950,000      
Number of shares outstanding 135,500      
2022 Employee Stock Purchase Plan        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Shares purchase under Employee Stock Purchase Plan 5,045      
Shares available for grant under the Plan 34,955      
Prior Employee Stock Purchase Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Shares purchase under Employee Stock Purchase Plan 1,550 8,092    
Stock Options [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Unrecognized compensation expense related to options $ 0      
Aggregate intrinsic value of option exercised $ 50,000      
Restricted Stock Units (RSUs) [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Unrecognized compensation expense to be recognized, Weighted average period 1 year 3 months 18 days      
Unrecognized compensation expense related to RSUs and RSAs $ 2,000,000      
Restricted Stock Units (RSUs) [Member] | 2018 Equity Incentive Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of unvested shares 124,962      
RSA [Member] | 2015 Equity Incentive Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares outstanding 135,125      
RSA [Member] | 2018 Equity Incentive Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of unvested shares 21,172      
Performance Based RSUs [Member] | 2018 Equity Incentive Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of unvested shares 128,793      
Restricted Stock Award [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Restricted Stock or Unit Expense $ 65,000      
XML 94 R82.htm IDEA: XBRL DOCUMENT v3.23.1
Share-Based Compensation - Share-Based Compensation Expense (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Share-based Compensation [Abstract]      
Stock Options $ 7 $ 210 $ 517
Restricted Stock Awards and Restricted Stock Units 1,271 1,266 1,285
Employee Stock Purchase Plan 12 17 17
Total $ 1,290 $ 1,493 $ 1,819
XML 95 R83.htm IDEA: XBRL DOCUMENT v3.23.1
Share-Based Compensation - Aggregated Information Regarding Stock Options Granted (Detail) - $ / shares
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Share-based Compensation [Abstract]      
Beginning balance, Number of Options 598,043 622,083 679,044
Granted, Number of Options 0 0 0
Exercised, Number of Options (42,944) (6,425) (1,200)
Forfeited, Number of Options (5,500) (17,615) (54,361)
Canceled, Number of Options (2,400) 0 (1,400)
Ending balance, Number of Options 547,199 598,043 622,083
Beginning balance, Weighted-Average Exercise Price Per Share $ 14.67 $ 14.63 $ 14.46
Granted, Weighted-Average Exercise Price Per Share 0 0 0
Exercised, Weighted-Average Exercise Price Per Share 8.74 9.34 7.6
Forfeited, Weighted-Average Exercise Price Per Share 15.42 15.09 12.89
Cancelled, Weighted-Average Exercise Price Per Share 8.09 0 7.36
Ending balance, Weighted-Average Exercise Price Per Share $ 15.16 $ 14.67 $ 14.63
XML 96 R84.htm IDEA: XBRL DOCUMENT v3.23.1
Share-Based Compensation - Summary of Options Outstanding (Detail) - $ / shares
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Jan. 31, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares outstanding, total 547,199 598,043 622,083 679,044
Outstanding, Weighted Average Exercise Price $ 15.16      
Exercisable, Weighted Average Exercise Price $ 15.16      
Outstanding Remaining Contractual Life 3 years 8 months 12 days      
Number of shares exercisable, total 547,199      
Exercisable Remaining Contractual Life 3 years 8 months 12 days      
$5.00 - $10.00 [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Outstanding Range of Exercise prices, Lower Limit $ 5      
Outstanding Range of Exercise prices, Upper Limit $ 10      
Outstanding, Number of shares 0      
Outstanding, Weighted Average Exercise Price $ 0      
Exercisable, Weighted Average Exercise Price $ 0      
Exercisable, Number of shares 0      
$10.01 - $15.00 [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Outstanding Range of Exercise prices, Lower Limit $ 10.01      
Outstanding Range of Exercise prices, Upper Limit $ 15      
Outstanding, Number of shares 332,849      
Outstanding, Weighted Average Exercise Price $ 13.68      
Exercisable, Weighted Average Exercise Price $ 13.68      
Outstanding Remaining Contractual Life 2 years 10 months 24 days      
Exercisable, Number of shares 332,849      
Exercisable Remaining Contractual Life 2 years 10 months 24 days      
$15.01 - $20.00 [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Outstanding Range of Exercise prices, Lower Limit $ 15.01      
Outstanding Range of Exercise prices, Upper Limit $ 20      
Outstanding, Number of shares 214,350      
Outstanding, Weighted Average Exercise Price $ 17.45      
Exercisable, Weighted Average Exercise Price $ 17.45      
Outstanding Remaining Contractual Life 4 years 9 months 18 days      
Exercisable, Number of shares 214,350      
Exercisable Remaining Contractual Life 4 years 9 months 18 days      
XML 97 R85.htm IDEA: XBRL DOCUMENT v3.23.1
Share-Based Compensation - Aggregated Information Regarding RSUs and RSAs Granted (Detail) - Restricted Stock Award Preferred Stock Unit And Restricted Stock Unit [Member] - $ / shares
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Beginning balance, Outstanding Restricted Stock Units and Restricted Stock Awards 220,980 197,413 134,634
Granted, Restricted Stock Units and Restricted Stock Awards 141,371 151,406 245,131
Vested, Restricted Stock Units and Restricted Stock Awards (85,324) (126,939) (64,997)
Forfeited, Restricted Stock Units and Restricted Stock Awards (2,100) (900) (117,355)
Ending balance, Outstanding Restricted Stock Units and Restricted Stock Awards 274,927 220,980 197,413
Beginning balance, Weighted Average Grant Date Fair Value $ 13.23 $ 9.96 $ 16.79
Granted, Weighted Average Grant Date Fair Value 12.7 14.51 7.61
Vested, Weighted Average Grant Date Fair Value 13.45 10.43 17.28
Forfeited, Weighted Average Grant Date Fair Value 13.25 14.26 8.83
Ending balance, Weighted Average Grant Date Fair Value $ 12.82 $ 13.23 $ 9.96
XML 98 R86.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes - Components of Income before Income Taxes (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Income Tax Disclosure [Abstract]      
Domestic $ 1,773 $ 5,046 $ (1,193)
Foreign 1,637 1,988 3,372
Income before Income Taxes $ 3,410 $ 7,034 $ 2,179
XML 99 R87.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes - Components of Provision for Income Taxes (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Current:      
Federal $ 902 $ (183) $ 1,272
State 313 76 224
Foreign 870 501 420
Current Income Tax Expense 2,085 394 1,916
Deferred:      
Federal (1,053) 180 (910)
State (315) 177 (189)
Foreign 32 (146) 78
Deferred Income Tax Expense Total (1,336) 211 (1,021)
Total $ 749 $ 605 $ 895
XML 100 R88.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes - Reconciliation of income tax provision/(benefit) With The Amount Computed By Applying The Statutory Federal Income Tax Rate To The Income Before Income Tax Provision/(benefit) (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Income Tax Disclosure [Abstract]      
Income Tax Provision at Statutory Rate $ 716 $ 1,477 $ 458
Change in Valuation Allowance 182 57 (81)
Foreign Rate Differential 157 61 197
Change in Reserves Related to ASC 740 Liability 93 (245) (10)
Denmark Statutory Audit 0 0 341
Meals and Entertainment 0 9 11
Canada Withholding Taxes 0 0 62
Global Intangible Low Taxed Income 0 0 14
Foreign Derived Intangible Income (180) (55) (150)
R&D Credits (160) (180) (157)
Share Based Compensation (52) (95) 171
Return to Provision Adjustment (22) 368 (2)
State Taxes, Net of Federal Tax Effect (2) 143 28
PPP Loan Forgiveness 0 (937) 0
Other 17 2 13
Total $ 749 $ 605 $ 895
XML 101 R89.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Detail) - USD ($)
$ in Thousands
Jan. 31, 2023
Jan. 31, 2022
Deferred Tax Assets:    
Inventory $ 2,710 $ 2,159
Honeywell Royalty Liability 3,008 2,655
State R&D Credits 1,851 1,925
Share-Based Compensation 620 593
Bad Debt 180 213
Warranty Reserve 258 198
Compensation Accrual 248 322
Net Operating Loss 135 152
ASU 842 Adjustment – Lease Liability 53 93
Unrecognized State Tax Benefits 58 64
Foreign Tax Credit 154 154
Deferred Service Contract Revenue 90 61
Section 174 Capitalization [1] 1,175 0
Other 281 224
Deferred Tax Assets, Total 10,821 8,813
Deferred Tax Liabilities:    
Accumulated Tax Depreciation in Excess of Book Depreciation 1,037 455
Intangibles 694 767
ASU 842 Adjustment – Lease Liability 50 90
Other 180 318
Deferred Tax Liabilities, Total 1,961 1,630
Subtotal 8,860 7,183
Valuation Allowance (2,120) (1,778)
Net Deferred Tax Assets 6,740 5,405
Deferred taxes are reflected in the consolidated balance sheet as follows:    
Deferred Tax Assets 6,907 5,591
Deferred Tax Liabilities (167) (186)
Total Net Deferred Tax Assets $ 6,740 $ 5,405
[1] Beginning in fiscal 2023, changes to Section 174 of the Internal Revenue Code made by the Tax Cuts and Jobs Act of 2017 no longer permit an immediate deduction for research and development expenditures in the tax year that such costs are incurred. These costs are capitalized resulting in an increase in deferred tax assets of $1.2 million.
XML 102 R90.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Parenthetical) (Detail)
$ in Millions
12 Months Ended
Jan. 31, 2023
USD ($)
Income Tax Disclosure [Abstract]  
Increase decrease in deferred tax assets $ 1.2
XML 103 R91.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes - Change in Balance of Unrecognized Tax Benefits, Excluding Interest and Penalties (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Income Tax Disclosure [Abstract]      
Balance ,beginning of the year $ 303 $ 384 $ 362
Increases in prior period tax positions 24 63 59
Increases in current period tax positions 136 67 5
Reductions related to lapse of statutes of limitations (49) (211) (42)
Balance, end of the year $ 414 $ 303 $ 384
XML 104 R92.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes - Additional Information (Detail) - USD ($)
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Jan. 31, 2020
Effective tax rate for income from continuing operation 22.00% 8.60% 41.10%  
Valuation allowance $ 2,120,000 $ 1,778,000    
Recognized (benefit) expense related to interest and penalties 49,000 211,000    
Accrued potential interest and penalties 77,000      
Deferred Tax Assets Operating loss carryforwards 135,000 152,000    
Deferred tax assets tax credit carryforwards research $ 1,851,000 1,925,000    
Deferred tax assets tax credit carryforwards expiration period 2023 through 2030      
Deemed repatriated earnings $ 8,500,000      
Recognized tax benefits excluding interest and penalties 414,000 303,000 $ 384,000 $ 362,000
Foreign tax credit 154,000 154,000    
Unrecognized tax benefits as a result of the expiration of the statute of limitations 49,000 $ 211,000 $ 42,000  
Additional Foreign Tax Credit [Member]        
Foreign tax credit 200,000      
Tax Credits Carry Forwards [Member]        
Deferred tax assets tax credit carryforwards research 1,900,000      
CHINA        
Deferred Tax Assets Operating loss carryforwards $ 100,000      
Deferred tax assets operating loss carryforwards expiration period 2024 through 2028      
DELAWARE        
Deferred Tax Assets Operating loss carryforwards $ 100,000      
Federal Tax [Member]        
Recognized tax benefits excluding interest and penalties 27,000      
Unrecognized tax benefits as a result of the expiration of the statute of limitations $ 22,000      
XML 105 R93.htm IDEA: XBRL DOCUMENT v3.23.1
Nature of Operations, Segment Reporting and Geographical Information - Additional Information (Detail)
$ in Thousands
12 Months Ended
Jan. 31, 2023
USD ($)
Segment
Jan. 31, 2022
USD ($)
Segment
Jan. 31, 2021
Segment
Segment Reporting Information [Line Items]      
Number of reporting segments | Segment 2    
Customer accounted for greater than 10% of net sales | Segment 10 10 10
Goodwill assigned $ 14,658 $ 12,156  
T&M [Member]      
Segment Reporting Information [Line Items]      
Goodwill assigned 4,500 4,500  
Product Identification [Member]      
Segment Reporting Information [Line Items]      
Goodwill assigned $ 10,100 $ 7,600  
XML 106 R94.htm IDEA: XBRL DOCUMENT v3.23.1
Nature of Operations, Segment Reporting and Geographical Information - Net Sales and Segment Operating Profit (loss) for Each Reporting Segment (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Segment Reporting Information [Line Items]      
Revenue $ 142,527 $ 117,480 $ 116,033
Corporate Expenses 11,435 9,553 9,420
Operating Income 5,443 4,256 2,433
Other Income (Expense), Net $ (2,033) $ 2,778 $ (254)
Segment Operating Profit % of Net Sales 11.80% 11.80% 10.20%
Income before Income Taxes $ 3,410 $ 7,034 $ 2,179
Income Tax Provision 749 605 895
Net Income 2,661 6,429 1,284
Operating Segments [Member]      
Segment Reporting Information [Line Items]      
Operating Income 16,878 13,809 11,853
Operating Segments [Member] | Product Identification [Member]      
Segment Reporting Information [Line Items]      
Revenue 103,089 90,915 90,268
Operating Income $ 7,889 $ 10,411 $ 12,885
Segment Operating Profit % of Net Sales 7.70% 11.50% 14.30%
Operating Segments [Member] | T&M [Member]      
Segment Reporting Information [Line Items]      
Revenue $ 39,438 $ 26,565 $ 25,765
Operating Income $ 8,989 $ 3,398 $ (1,032)
Segment Operating Profit % of Net Sales 22.80% 12.80% (4.00%)
Corporate Expenses [Member]      
Segment Reporting Information [Line Items]      
Corporate Expenses $ 11,435 $ 9,553 $ 9,420
XML 107 R95.htm IDEA: XBRL DOCUMENT v3.23.1
Nature of Operations, Segment Reporting and Geographical Information - Summary of Other Information by Segment (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Segment Reporting Information [Line Items]      
Assets $ 139,207 $ 114,955  
Depreciation and Amortization 3,916 3,994 $ 5,983
Capital Expenditures 229 1,796 2,587
Operating Segments [Member] | Product Identification [Member]      
Segment Reporting Information [Line Items]      
Assets 69,607 51,732  
Depreciation and Amortization 2,219 1,157 1,835
Capital Expenditures 121 847 1,563
Operating Segments [Member] | T&M [Member]      
Segment Reporting Information [Line Items]      
Assets 60,730 50,374  
Depreciation and Amortization 1,697 2,837 4,148
Capital Expenditures 108 949 $ 1,024
Corporate Expenses [Member]      
Segment Reporting Information [Line Items]      
Assets $ 8,870 $ 12,849  
XML 108 R96.htm IDEA: XBRL DOCUMENT v3.23.1
Nature of Operations, Segment Reporting and Geographical Information - Summary of Selected Financial Information by Geographic Area (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue $ 142,527 $ 117,480 $ 116,033
Long-Lived Assets 35,520 30,641  
United States [Member]      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue 91,917 68,185 70,911
Long-Lived Assets 34,277 29,131  
Europe [Member]      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue 31,021 31,922 29,029
Long-Lived Assets 1,230 1,486  
Asia [Member]      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue 5,345 5,926 5,105
Long-Lived Assets 9 15  
Canada [Member]      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue 8,393 6,519 5,574
Long-Lived Assets 4 9  
Central and South America [Member]      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue 4,589 3,271 3,950
Other [Member]      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue $ 1,262 $ 1,657 $ 1,464
XML 109 R97.htm IDEA: XBRL DOCUMENT v3.23.1
Employee Benefit Plans - Additional Information (Detail) - USD ($)
$ in Millions
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Postemployment Benefits [Abstract]      
Contributions paid or accrued amounted $ 0.5 $ 0.5 $ 0.4
XML 110 R98.htm IDEA: XBRL DOCUMENT v3.23.1
Product Warranty Liability - Activity in Product Warranty Liability (Detail) - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Product Warranties Disclosures [Abstract]      
Balance, beginning of the year $ 834 $ 730 $ 850
Provision for Warranty Expense 2,077 2,174 855
Cost of Warranty Repairs (1,839) (2,070) (975)
Balance, end of the year $ 1,072 $ 834 $ 730
XML 111 R99.htm IDEA: XBRL DOCUMENT v3.23.1
Product Warranty Liability - Additional Information (Detail)
$ in Thousands
12 Months Ended
Jan. 31, 2023
USD ($)
Product Warranties Disclosures [Abstract]  
Reimbursement received from vendor $ 975,000
XML 112 R100.htm IDEA: XBRL DOCUMENT v3.23.1
Concentration of Risk - Additional Information (Detail) - Vendor [Member] - Customer [Member]
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
Purchases [Member]      
Concentration Risk [Line Items]      
Concentration Risk, Percentage 18.70% 23.30% 23.20%
Trade Accounts Payables [Member]      
Concentration Risk [Line Items]      
Concentration Risk, Percentage 16.20% 15.40% 28.30%
XML 113 R101.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies - Additional Information (Detail)
$ in Millions
Jan. 31, 2023
USD ($)
Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]  
Purchase obligation $ 25.8
Purchase obligation, to be paid, year one $ 22.8
XML 114 R102.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value Measurements - Schedule of Company's Long-Term Debt Including the Current Portion Not Reflected in Financial Statements at Fair Value (Detail) - USD ($)
$ in Thousands
Jan. 31, 2023
Jan. 31, 2022
Fair Value [Member]    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Long-Term Debt and Related Current Maturities $ 14,310 $ 9,255
Fair Value [Member] | Level 3 [Member]    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Long-Term Debt and Related Current Maturities 14,310 9,255
Carrying Value [Member]    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Long-Term Debt and Related Current Maturities $ 14,250 $ 9,250
XML 115 R103.htm IDEA: XBRL DOCUMENT v3.23.1
Schedule II - Valuation and Qualifying Accounts and Reserves (Detail) - Allowance for Doubtful Accounts [Member] - USD ($)
$ in Thousands
12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Jan. 31, 2021
SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]      
Balance at Beginning of Year $ 826 $ 1,054 $ 856
Provision/(Benefit) Charged to Operations 100 50 194
Deductions (195) (278) 4
Balance at End of Year $ 731 $ 826 $ 1,054
XML 116 d415415d10k_htm.xml IDEA: XBRL DOCUMENT 0000008146 2022-02-01 2023-01-31 0000008146 2022-01-31 0000008146 2023-01-31 0000008146 2020-02-01 2021-01-31 0000008146 2021-02-01 2022-01-31 0000008146 2022-08-04 0000008146 2021-01-31 0000008146 2022-08-04 2022-08-04 0000008146 2022-07-30 0000008146 2023-04-12 0000008146 2021-10-30 0000008146 2022-03-22 0000008146 2020-01-31 0000008146 alot:OthersCountriesMember 2022-02-01 2023-01-31 0000008146 alot:CentralAndSouthAmericaMember 2022-02-01 2023-01-31 0000008146 srt:AsiaMember 2022-02-01 2023-01-31 0000008146 country:CA 2022-02-01 2023-01-31 0000008146 srt:EuropeMember 2022-02-01 2023-01-31 0000008146 country:US 2022-02-01 2023-01-31 0000008146 alot:ServiceAndOtherMember 2022-02-01 2023-01-31 0000008146 alot:SuppliesMember 2022-02-01 2023-01-31 0000008146 alot:HardwareProductsMember 2022-02-01 2023-01-31 0000008146 alot:RangeThreeMember 2022-02-01 2023-01-31 0000008146 alot:RangeFourMember 2022-02-01 2023-01-31 0000008146 alot:RangeFiveMember 2022-02-01 2023-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:ProductIdentificationMember 2022-02-01 2023-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:TestAndMeasurementMember 2022-02-01 2023-01-31 0000008146 alot:OtherCountriesMember 2022-02-01 2023-01-31 0000008146 alot:CustomerMember us-gaap:CostOfGoodsTotalMember us-gaap:SupplierConcentrationRiskMember 2022-02-01 2023-01-31 0000008146 alot:CustomerMember alot:TradeAccountsPayablesMember us-gaap:SupplierConcentrationRiskMember 2022-02-01 2023-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2022-02-01 2023-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-02-01 2023-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2022-02-01 2023-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2022-02-01 2023-01-31 0000008146 us-gaap:CorporateNonSegmentMember 2022-02-01 2023-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2022-02-01 2023-01-31 0000008146 srt:MaximumMember us-gaap:LandImprovementsMember 2022-02-01 2023-01-31 0000008146 srt:MaximumMember alot:BuildingAndLeaseholdImprovementsMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember us-gaap:LandImprovementsMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember alot:BuildingAndLeaseholdImprovementsMember 2022-02-01 2023-01-31 0000008146 srt:MaximumMember us-gaap:MachineryAndEquipmentMember 2022-02-01 2023-01-31 0000008146 srt:MaximumMember alot:ComputerEquipmentAndSoftwareMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember us-gaap:MachineryAndEquipmentMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember alot:ComputerEquipmentAndSoftwareMember 2022-02-01 2023-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-02-01 2023-01-31 0000008146 us-gaap:OperatingSegmentsMember 2022-02-01 2023-01-31 0000008146 us-gaap:CommonStockMember 2022-02-01 2023-01-31 0000008146 alot:AirborneProductMember srt:MinimumMember 2022-02-01 2023-01-31 0000008146 alot:AirborneProductMember srt:MaximumMember 2022-02-01 2023-01-31 0000008146 us-gaap:TreasuryStockMember 2022-02-01 2023-01-31 0000008146 us-gaap:ForeignExchangeMember 2022-02-01 2023-01-31 0000008146 us-gaap:RetainedEarningsMember 2022-02-01 2023-01-31 0000008146 us-gaap:RestrictedStockUnitsRSUMember 2022-02-01 2023-01-31 0000008146 alot:EmployeeStockPurchasePlanMember 2022-02-01 2023-01-31 0000008146 country:CN 2022-02-01 2023-01-31 0000008146 alot:TwoThousandAndTwentyTwoEmployeeStockPurchasePlanMember 2022-02-01 2023-01-31 0000008146 alot:PriorEmployeeStockPurchasePlanMember 2022-02-01 2023-01-31 0000008146 alot:RestrictedStockAwardMember 2022-02-01 2023-01-31 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2022-02-01 2023-01-31 0000008146 us-gaap:GeneralAndAdministrativeExpenseMember 2022-02-01 2023-01-31 0000008146 us-gaap:CrossCurrencyInterestRateContractMember alot:CashFlowHedgeMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember us-gaap:OtherExpenseMember alot:BankOfAmericaMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2022-02-01 2023-01-31 0000008146 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember 2022-02-01 2023-01-31 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2022-02-01 2023-01-31 0000008146 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember us-gaap:LondonInterbankOfferedRateLIBORMember 2022-02-01 2023-01-31 0000008146 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember us-gaap:LondonInterbankOfferedRateLIBORMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember us-gaap:FederalFundsEffectiveSwapRateMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember us-gaap:LondonInterbankOfferedRateLIBORMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember 2022-02-01 2023-01-31 0000008146 alot:PaycheckProtectionProgramLoanMember alot:PromissoryNoteMember alot:GreenwoodCreditUnionMember 2022-02-01 2023-01-31 0000008146 us-gaap:IntangibleAssetsAmortizationPeriodMember us-gaap:CustomerContractsMember 2022-02-01 2023-01-31 0000008146 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember 2022-02-01 2023-01-31 0000008146 us-gaap:CustomerContractsMember alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2022-02-01 2023-01-31 0000008146 us-gaap:IntangibleAssetsAmortizationPeriodMember us-gaap:CustomerContractsMember alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2022-02-01 2023-01-31 0000008146 alot:RuggedInformationTechnologyEquipmentCorporationMember us-gaap:CustomerContractsMember 2022-02-01 2023-01-31 0000008146 alot:RuggedInformationTechnologyEquipmentCorporationMember us-gaap:IntangibleAssetsAmortizationPeriodMember us-gaap:CustomerContractsMember 2022-02-01 2023-01-31 0000008146 us-gaap:SellingAndMarketingExpenseMember 2022-02-01 2023-01-31 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2022-02-01 2023-01-31 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember us-gaap:GeneralAndAdministrativeExpenseMember 2022-02-01 2023-01-31 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2022-02-01 2023-01-31 0000008146 alot:SecondAmendmentCreditAgreementMember us-gaap:RevolvingCreditFacilityMember alot:BankOfAmericaMember 2022-02-01 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember alot:BankOfAmericaMember 2022-02-01 2023-01-31 0000008146 us-gaap:DomesticCountryMember 2022-02-01 2023-01-31 0000008146 alot:AerospaceCustomerMember 2022-02-01 2023-01-31 0000008146 us-gaap:CustomerRelatedIntangibleAssetsMember 2022-02-01 2023-01-31 0000008146 us-gaap:CustomerContractsMember alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2022-01-31 0000008146 alot:TrojanlabelApSMember alot:DistributorRelationsMember 2022-01-31 0000008146 alot:TrojanlabelApSMember alot:ExistingTechnologyMember 2022-01-31 0000008146 alot:RuggedInformationTechnologyEquipmentCorporationMember us-gaap:CustomerContractsMember 2022-01-31 0000008146 alot:MiltopeCorporationMember us-gaap:CustomerContractsMember 2022-01-31 0000008146 alot:TermLoanDueSeptemberThirtyTwoThousandAndTwentyFiveMember 2022-01-31 0000008146 alot:TermLoanDueAugustFourthTwoThousandAndTwentySevenMember 2022-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:ProductIdentificationMember 2022-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:TestAndMeasurementMember 2022-01-31 0000008146 us-gaap:CorporateNonSegmentMember 2022-01-31 0000008146 us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2022-01-31 0000008146 us-gaap:EstimateOfFairValueFairValueDisclosureMember 2022-01-31 0000008146 us-gaap:CarryingReportedAmountFairValueDisclosureMember 2022-01-31 0000008146 country:US 2022-01-31 0000008146 srt:EuropeMember 2022-01-31 0000008146 country:CA 2022-01-31 0000008146 srt:AsiaMember 2022-01-31 0000008146 alot:TestAndMeasurementMember 2022-01-31 0000008146 alot:ProductIdentificationMember 2022-01-31 0000008146 srt:MaximumMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-01-31 0000008146 alot:BeforeAmendmentToTheCreditAgreementMember us-gaap:RevolvingCreditFacilityMember alot:BankOfAmericaMember 2022-01-31 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember us-gaap:CustomerContractsMember 2023-01-31 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember us-gaap:TrademarksMember 2023-01-31 0000008146 us-gaap:CustomerContractsMember alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2023-01-31 0000008146 alot:TrojanlabelApSMember alot:DistributorRelationsMember 2023-01-31 0000008146 alot:TrojanlabelApSMember alot:ExistingTechnologyMember 2023-01-31 0000008146 alot:RuggedInformationTechnologyEquipmentCorporationMember us-gaap:CustomerContractsMember 2023-01-31 0000008146 alot:MiltopeCorporationMember us-gaap:CustomerContractsMember 2023-01-31 0000008146 alot:TermLoanDueSeptemberThirtyTwoThousandAndTwentyFiveMember 2023-01-31 0000008146 alot:TermLoanDueAugustFourthTwoThousandAndTwentySevenMember 2023-01-31 0000008146 alot:BeforeAmendmentToTheCreditAgreementMember alot:TermLoanMember alot:BankOfAmericaMember 2023-01-31 0000008146 alot:TwoThousandEighteenEquityIncentivePlanMember 2023-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:ProductIdentificationMember 2023-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:TestAndMeasurementMember 2023-01-31 0000008146 us-gaap:CorporateNonSegmentMember 2023-01-31 0000008146 us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-01-31 0000008146 us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-01-31 0000008146 us-gaap:CarryingReportedAmountFairValueDisclosureMember 2023-01-31 0000008146 alot:TwoThousandSevenEquityIncentivePlanMember 2023-01-31 0000008146 us-gaap:RestrictedStockMember alot:TwoThousandFifteenEquityIncentivePlanMember 2023-01-31 0000008146 alot:TermLoanMember 2023-01-31 0000008146 country:US 2023-01-31 0000008146 srt:EuropeMember 2023-01-31 0000008146 country:CA 2023-01-31 0000008146 srt:AsiaMember 2023-01-31 0000008146 alot:RangeThreeMember 2023-01-31 0000008146 alot:RangeFourMember 2023-01-31 0000008146 alot:RangeFiveMember 2023-01-31 0000008146 alot:ProductIdentificationMember 2023-01-31 0000008146 alot:TestAndMeasurementMember 2023-01-31 0000008146 srt:MaximumMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-31 0000008146 country:CN 2023-01-31 0000008146 stpr:DE 2023-01-31 0000008146 us-gaap:RestrictedStockUnitsRSUMember alot:TwoThousandEighteenEquityIncentivePlanMember 2023-01-31 0000008146 us-gaap:PerformanceSharesMember alot:TwoThousandEighteenEquityIncentivePlanMember 2023-01-31 0000008146 us-gaap:RestrictedStockMember alot:TwoThousandEighteenEquityIncentivePlanMember 2023-01-31 0000008146 us-gaap:EmployeeStockOptionMember 2023-01-31 0000008146 us-gaap:RestrictedStockUnitsRSUMember 2023-01-31 0000008146 alot:TaxCreditsCarryForwardsMember 2023-01-31 0000008146 alot:TwoThousandAndTwentyTwoEmployeeStockPurchasePlanMember 2023-01-31 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2023-01-31 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2023-01-31 0000008146 alot:SecondAmendmentCreditAgreementMember us-gaap:RevolvingCreditFacilityMember alot:BankOfAmericaMember 2023-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember alot:BankOfAmericaMember 2023-01-31 0000008146 us-gaap:DomesticCountryMember 2023-01-31 0000008146 alot:AdditionalForeignTaxCreditMember 2023-01-31 0000008146 alot:MeasurementInputRoyaltyRateMember 2023-01-31 0000008146 alot:MeasurementInputCustomerAttritionRateMember 2023-01-31 0000008146 us-gaap:MeasurementInputDiscountRateMember 2023-01-31 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2023-01-31 0000008146 us-gaap:CustomerRelatedIntangibleAssetsMember 2023-01-31 0000008146 alot:NonCurrentLiabilityMember 2023-01-31 0000008146 alot:RoyaltyPaymentsDueInNextTwelveMonthsMember 2023-01-31 0000008146 alot:RoyaltyPaymentsDueYearTwoMember 2023-01-31 0000008146 alot:RoyaltyPaymentsDueYearThreeMember 2023-01-31 0000008146 alot:RoyaltyPaymentsDueYearFiveMember 2023-01-31 0000008146 alot:RoyaltyPaymentsDueYearFourMember 2023-01-31 0000008146 alot:OthersCountriesMember 2020-02-01 2021-01-31 0000008146 alot:CentralAndSouthAmericaMember 2020-02-01 2021-01-31 0000008146 srt:AsiaMember 2020-02-01 2021-01-31 0000008146 country:CA 2020-02-01 2021-01-31 0000008146 srt:EuropeMember 2020-02-01 2021-01-31 0000008146 country:US 2020-02-01 2021-01-31 0000008146 alot:ServiceAndOtherMember 2020-02-01 2021-01-31 0000008146 alot:SuppliesMember 2020-02-01 2021-01-31 0000008146 alot:HardwareProductsMember 2020-02-01 2021-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:ProductIdentificationMember 2020-02-01 2021-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:TestAndMeasurementMember 2020-02-01 2021-01-31 0000008146 alot:OtherCountriesMember 2020-02-01 2021-01-31 0000008146 alot:CustomerMember us-gaap:CostOfGoodsTotalMember us-gaap:SupplierConcentrationRiskMember 2020-02-01 2021-01-31 0000008146 alot:CustomerMember alot:TradeAccountsPayablesMember us-gaap:SupplierConcentrationRiskMember 2020-02-01 2021-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2020-02-01 2021-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-02-01 2021-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2020-02-01 2021-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2020-02-01 2021-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2020-02-01 2021-01-31 0000008146 us-gaap:CorporateNonSegmentMember 2020-02-01 2021-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2020-02-01 2021-01-31 0000008146 us-gaap:OperatingSegmentsMember 2020-02-01 2021-01-31 0000008146 us-gaap:TreasuryStockMember 2020-02-01 2021-01-31 0000008146 us-gaap:CommonStockMember 2020-02-01 2021-01-31 0000008146 us-gaap:ForeignExchangeMember 2020-02-01 2021-01-31 0000008146 us-gaap:RetainedEarningsMember 2020-02-01 2021-01-31 0000008146 alot:OthersCountriesMember 2021-02-01 2022-01-31 0000008146 alot:CentralAndSouthAmericaMember 2021-02-01 2022-01-31 0000008146 srt:AsiaMember 2021-02-01 2022-01-31 0000008146 country:CA 2021-02-01 2022-01-31 0000008146 srt:EuropeMember 2021-02-01 2022-01-31 0000008146 country:US 2021-02-01 2022-01-31 0000008146 alot:ServiceAndOtherMember 2021-02-01 2022-01-31 0000008146 alot:SuppliesMember 2021-02-01 2022-01-31 0000008146 alot:HardwareProductsMember 2021-02-01 2022-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:ProductIdentificationMember 2021-02-01 2022-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:TestAndMeasurementMember 2021-02-01 2022-01-31 0000008146 alot:OtherCountriesMember 2021-02-01 2022-01-31 0000008146 alot:CustomerMember us-gaap:CostOfGoodsTotalMember us-gaap:SupplierConcentrationRiskMember 2021-02-01 2022-01-31 0000008146 alot:CustomerMember alot:TradeAccountsPayablesMember us-gaap:SupplierConcentrationRiskMember 2021-02-01 2022-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2021-02-01 2022-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-02-01 2022-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2021-02-01 2022-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2021-02-01 2022-01-31 0000008146 us-gaap:CorporateNonSegmentMember 2021-02-01 2022-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2021-02-01 2022-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2021-02-01 2022-01-31 0000008146 us-gaap:OperatingSegmentsMember 2021-02-01 2022-01-31 0000008146 us-gaap:CommonStockMember 2021-02-01 2022-01-31 0000008146 us-gaap:TreasuryStockMember 2021-02-01 2022-01-31 0000008146 us-gaap:ForeignExchangeMember 2021-02-01 2022-01-31 0000008146 us-gaap:RetainedEarningsMember 2021-02-01 2022-01-31 0000008146 alot:PriorEmployeeStockPurchasePlanMember 2021-02-01 2022-01-31 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2021-02-01 2022-01-31 0000008146 us-gaap:GeneralAndAdministrativeExpenseMember 2021-02-01 2022-01-31 0000008146 us-gaap:CrossCurrencyInterestRateContractMember alot:CashFlowHedgeMember 2021-02-01 2022-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember us-gaap:OtherExpenseMember alot:BankOfAmericaMember 2021-02-01 2022-01-31 0000008146 us-gaap:NonoperatingIncomeExpenseMember 2021-02-01 2022-01-31 0000008146 us-gaap:RevolvingCreditFacilityMember alot:BankOfAmericaMember 2021-02-01 2022-01-31 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2020-05-06 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2020-05-06 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2021-06-15 2021-06-15 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2021-06-15 2021-06-15 0000008146 us-gaap:CustomerRelationshipsMember 2022-08-04 2022-08-04 0000008146 us-gaap:TrademarksAndTradeNamesMember 2022-08-04 2022-08-04 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2022-08-04 2022-08-04 0000008146 alot:SecondAmendmentCreditAgreementMember us-gaap:RevolvingCreditFacilityMember alot:BankOfAmericaMember 2022-08-04 2022-08-04 0000008146 alot:SecondAmendmentCreditAgreementMember alot:AdditionalTermLoanAvailedMember alot:TermLoanMember alot:BankOfAmericaMember 2022-08-04 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2022-08-04 0000008146 alot:AgreementWithAstroMachineForAssetAcquisitionsMember 2022-08-04 2023-01-31 0000008146 alot:TermLoanMember alot:BankOfAmericaMember 2022-10-31 2023-07-31 0000008146 alot:TermLoanMember alot:BankOfAmericaMember 2023-10-31 2027-04-30 0000008146 alot:PaycheckProtectionProgramLoanMember alot:GreenwoodCreditUnionMember 2021-05-02 2021-07-31 0000008146 us-gaap:CrossCurrencyInterestRateContractMember us-gaap:CashFlowHedgingMember 2021-08-01 2021-10-30 0000008146 us-gaap:CashFlowHedgingMember 2021-08-01 2021-10-30 0000008146 us-gaap:CrossCurrencyInterestRateContractMember 2020-07-30 2020-07-30 0000008146 alot:CaresActMember 2021-01-01 2021-06-30 0000008146 alot:CaresActMember 2021-07-01 2021-07-31 0000008146 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember alot:CaresActMember 2022-03-22 2022-03-22 0000008146 us-gaap:CostOfSalesMember 2021-10-30 2021-10-30 0000008146 us-gaap:ResearchAndDevelopmentExpenseMember 2021-10-30 2021-10-30 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2018-01-31 0000008146 alot:HoneywellAssetPurchaseAndLicenseAgreementMember 2018-01-31 2018-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:ProductIdentificationMember 2021-01-31 0000008146 us-gaap:OperatingSegmentsMember alot:TestAndMeasurementMember 2021-01-31 0000008146 alot:AerospaceCustomerMember 2022-12-31 0000008146 us-gaap:ChangeInAccountingMethodAccountedForAsChangeInEstimateMember 2021-05-01 2021-07-31 0000008146 us-gaap:AllowanceForCreditLossMember 2022-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2023-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2023-01-31 0000008146 us-gaap:CommonStockMember 2023-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2023-01-31 0000008146 us-gaap:RetainedEarningsMember 2023-01-31 0000008146 us-gaap:TreasuryStockMember 2023-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2023-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-31 0000008146 us-gaap:TreasuryStockMember 2020-01-31 0000008146 us-gaap:RetainedEarningsMember 2020-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2020-01-31 0000008146 us-gaap:CommonStockMember 2020-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2020-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2020-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2020-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2020-01-31 0000008146 us-gaap:AllowanceForCreditLossMember 2021-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2021-01-31 0000008146 us-gaap:CommonStockMember 2021-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2021-01-31 0000008146 us-gaap:RetainedEarningsMember 2021-01-31 0000008146 us-gaap:TreasuryStockMember 2021-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2021-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2021-01-31 0000008146 alot:RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember 2022-01-31 0000008146 us-gaap:CommonStockMember 2022-01-31 0000008146 us-gaap:AdditionalPaidInCapitalMember 2022-01-31 0000008146 us-gaap:RetainedEarningsMember 2022-01-31 0000008146 us-gaap:TreasuryStockMember 2022-01-31 0000008146 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-31 0000008146 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-01-31 0000008146 us-gaap:AccumulatedTranslationAdjustmentMember 2022-01-31 iso4217:USD shares pure utr:Year utr:sqft iso4217:USD shares alot:Segment false FY 0000008146 10-K true 2023-01-31 --01-31 2023 false 0-13200 AstroNova, Inc. RI 05-0318215 600 East Greenwich Avenue West Warwick RI 02893 401 828-4000 Common Stock ALOT NASDAQ No No Yes Yes Accelerated Filer true false true false 84333000 7400560 392 Wolf & Company, P.C. Boston, MA http://fasb.org/us-gaap/2022#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2022#AccruedLiabilitiesCurrent 3946000 5276000 731000 826000 21598000 17124000 51324000 34609000 0 3135000 2894000 3634000 79762000 63778000 14288000 11441000 21232000 19200000 14658000 12156000 6907000 5591000 794000 1094000 1566000 1695000 139207000 114955000 8618000 8590000 2750000 3512000 3308000 4113000 15900000 0 2100000 1000000 1725000 2000000 423000 235000 786000 323000 1888000 262000 37498000 20035000 12040000 8154000 3415000 4361000 555000 808000 491000 399000 674000 0 167000 186000 54840000 33943000 10 10 100000 100000 0 0 0 0 0.05 0.05 13000000 10676851 10566404 534000 528000 61131000 59692000 59175000 56514000 3342032 3324280 34235000 33974000 -2238000 -1748000 84367000 81012000 139207000 114955000 142527000 117480000 116033000 94371000 73741000 74673000 48156000 43739000 41360000 24456000 23177000 23301000 6822000 6753000 6206000 11435000 9553000 9420000 42713000 39483000 38927000 5443000 4256000 2433000 1678000 677000 955000 -474000 -288000 590000 0 4466000 0 -696000 119000 -27000 111000 -2033000 2778000 -254000 3410000 7034000 2179000 749000 605000 895000 2661000 6429000 1284000 0.36 0.89 0.18 0.36 0.88 0.18 7307000 7207000 7104000 67000 132000 62000 7374000 7339000 7166000 2661000 6429000 1284000 -537000 -1426000 710000 0 0 -239000 -47000 -62000 -193000 0 0 45000 -490000 -1364000 709000 2171000 5065000 1993000 10343610 517000 56130000 49298000 -33477000 -1093000 71375000 1819000 1819000 16487 1000 103000 0 104000 64997 3000 -3000 -111000 -111000 0.07 497000 497000 1284000 1284000 709000 709000 10425094 521000 58049000 50085000 -33588000 -384000 74683000 1493000 1493000 14371 1000 156000 157000 126939 6000 -6000 -386000 -386000 6429000 6429000 -1364000 -1364000 10566404 528000 59692000 56514000 -33974000 -1748000 81012000 1290000 1290000 25123 2000 153000 155000 85324 4000 -4000 -261000 -261000 2661000 2661000 -490000 -490000 10676851 534000 61131000 59175000 -34235000 -2238000 84367000 2661000 6429000 1284000 3916000 3994000 5983000 25000 44000 75000 1290000 1493000 1819000 -696000 4466000 -1336000 210000 -1021000 1234000 -77000 -2702000 -3135000 3135000 11581000 4883000 -4247000 -3236000 4052000 -57000 1710000 -2043000 1482000 -1714000 1074000 970000 -2936000 1394000 15544000 17034000 229000 1796000 2587000 -17263000 -1796000 -2587000 85000 60000 9000 70000 96000 95000 261000 386000 111000 15900000 -6500000 2000000 2000000 2000000 4422000 6000000 10000000 15232000 12576000 11732000 1000000 750000 3958000 39000 100000 497000 18755000 -5556000 -5140000 114000 -205000 -627000 -1330000 -6163000 7190000 5276000 11439000 4249000 3946000 5276000 11439000 791000 342000 677000 311000 2414000 446000 348000 530000 <div style="margin-top: 12pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 1—Summary of Significant Accounting Policies </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Basis of Presentation:</div></div> The accompanying financial statements and accompanying notes have been prepared by us pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (“SEC”) and are presented in conformity with U.S. generally accepted accounting principles (“U.S. GAAP”). Our fiscal year end is January 31. Unless otherwise stated, all years and dates refer to our fiscal year. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Principles of Consolidation: </div></div>The consolidated financial statements include the accounts of AstroNova, Inc. and its subsidiaries. All material intercompany accounts and transactions are eliminated in consolidation. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Reclassification: </div></div>Certain amounts in prior year’s financial statements have been reclassified to conform to the current year’s presentation. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Use of Estimates: </div></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 using information that is reasonably available to us at this time. Some of the more significant estimates relate to revenue recognition; the allowances for doubtful accounts; inventory valuation; income taxes; valuation of long-lived assets, intangible assets and goodwill; share-based compensation; and warranty reserves. Management’s estimates are based on the facts and circumstances available at the time estimates are made, historical experience, risk of loss, general economic conditions and trends, and management’s assessments of the probable future outcome of these matters, including our expectations at the time<div style="letter-spacing: 0px; top: 0px;;display:inline;"> regarding</div> the ongoing impact from the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19</div> pandemic. Consequently, actual results could differ from those estimates. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Cash and Cash Equivalents:</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"> </div></div>Highly liquid investments with an original maturity of 90 days or less are considered to be cash equivalents. At<div style="letter-spacing: 0px; top: 0px;;display:inline;"> January</div> 31, 2023 and 2022, $3.2 million and $3.7 million, respectively, was held in foreign bank accounts. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Inventories:</div></div> Inventories are stated at the lower of standard and average cost or net realizable value and include material, labor and manufacturing overhead. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Property, Plant and Equipment: </div></div><div style="letter-spacing: 0px; top: 0px;;display:inline;">Property</div>, plant and equipment are stated at cost less accumulated depreciation. Depreciation is provided on the straight-line basis over the estimated useful lives of the assets (land improvements—10 to 20 years; buildings and leasehold improvements—10 to 45 years; machinery and equipment—3 to 10 years and <div style="letter-spacing: 0px; top: 0px;;display:inline;">computer</div> equipment and software—3 to 10 years). </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue Recognition: </div></div>We recognize revenue in accordance with Accounting Standards Codification (“ASC”) 606 “Revenue from Contracts with Customers (“ASC 606”).” The core principle of ASC 606 is to recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC 606 defines a five-step process to recognize revenue and requires judgment and estimates within the revenue recognition process, including identifying contracts with customers, identifying performance obligations in the contract, determining and estimating the amount of any variable consideration to include in the transaction price and allocating the transaction price to each separate performance obligation and recognizing revenue when the entity satisfies each performance obligation. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The vast majority of our revenue is generated from the sale of distinct products. Revenue is measured as the amount of consideration we expect to receive in exchange for such products, which is generally at the contractually stated prices, and is recognized when we satisfy a performance obligation by transferring control of </div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">a product to a customer. The transfer of control generally occurs at one point in time, upon shipment, when title and risk of loss pass to the customer. Returns and customer credits are infrequent and are recorded as a reduction to revenue. Sales taxes and value added taxes collected concurrently with revenue generating activities are excluded from revenue. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Many of the contracts entered into with customers are commonly comprised of a combination of equipment, supplies, installation and/or training services. We determine performance obligations by assessing whether the products or services are distinct from other elements of the contract. In order to be distinct, the product must perform either on its own or with readily available resources and must be separate within the context of the contract. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Most of our hardware products contain embedded operating systems and data management software which is included in the purchase price of the equipment. The software is deemed incidental to the systems as a whole, as it is not sold or marketed separately, and its production costs are minor compared to those of the hardware system. Hardware and software elements are typically delivered at the same time and are accounted for as a single performance obligation for which revenue is recognized at the point in time when ownership is transferred to the customer. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Installation and training services vary based on certain factors such as the complexity of the equipment, staffing availability in a geographic location and customer preferences, and can range from a few days to a few months. The delivery of installation and training services are not assessed to determine whether they are separate performance obligations, as the amounts are not material to the contract. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Shipping and handling activities that occur after control over a product has transferred to a customer are accounted for as fulfillment activities rather than performance obligations, as allowed under a practical expedient provided by ASC 606. The shipping and handling fees charged to customers are recognized as revenue and the related costs are included in cost of revenue at the point in time when ownership of the product is transferred to the customer. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We may perform services at the request of the customer, generally for the repair and maintenance of products previously sold. These services are short in duration and total approximately 5.0% and 4.4% of revenue for the years ended January 31, 2023 and 2022, respectively. Revenue is recognized as services are rendered and accepted by the customer. We also provide service agreements on certain of our Product Identification equipment. Service agreements are purchased separately from the equipment and provide for the right to obtain service and maintenance on the equipment for a period of typically one to two years. Accordingly, revenue on these agreements is recognized over the term of the agreements. The portion of service agreement contracts that are uncompleted at the end of any reporting period are included in deferred revenue. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We generally provide warranties for our products. The standard warranty period is typically 12 months for most hardware products except for airborne printers, which typically have warranties that extend for <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">3-5</div> years, consistent with industry practice. Such assurance-type warranties are not deemed to be separate performance obligations from the hardware product and costs associated with providing the warranties are accrued in accordance with ASC 450, “Contingencies,” as we have the ability to ascertain the likelihood of the liability and can reasonably estimate the amount of the liability. Our estimate of costs to service the warranty obligations is based on historical experience and expectations of future conditions. To the extent that our experience in warranty claims or costs associated with servicing those claims differ from the original estimates, revisions to the estimated warranty liability are recorded at that time, with an offsetting adjustment to cost of revenue. On occasion, customers request a warranty period longer than our standard warranty. In those instances, in which extended warranty services are separately quoted to the customer, an additional performance obligation is created, and the associated revenue is deferred and recognized as service revenue ratably over the term of the extended warranty period. The portion of service contracts and extended warranty services agreements that are uncompleted at the end of any reporting period are included in deferred revenue. </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"> </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/><div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We recognize and subsequently amortize an asset for the incremental direct costs of obtaining a contract with a customer if we expect the benefit of those costs to be longer than one year (Refer to Note 3, “Revenue Recognition” included in our notes to the consolidated financial statement). We apply the practical expedient to expense costs incurred for costs to obtain a contract when the amortization period would have been less than a year. These costs include sales commissions paid to the internal direct sales team as well as to third-party representatives and distributors. Contractual agreements with each of these parties outline commission structures and rates to be paid. Generally speaking, the contracts are all individual procurement decisions by the customers and do not include renewal provisions and, as such, the majority of the contracts have an economic life of significantly less than a year.</div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Accounts Receivables and Allowance for Doubtful Accounts: </div></div>Standard payment terms are typically 30 days after shipment but vary by type and geographic location of our customer. Credit is extended based upon an evaluation of the customer’s financial condition. In circumstances where we are aware of a customer’s inability to meet its financial obligations, an allowance is established. The remainder of the allowance established is based on a variety of factors, including the age of amounts outstanding relative to their contractual due date, historical <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">write-off</div> experience and current market assessments. Accounts receivable are stated at their estimated net realizable value. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style:italic;display:inline;">Business Combinations: </div>We account for business acquisitions under the acquisition method of accounting in accordance with ASC 805, ‘‘Business Combinations,’’ where the total purchase price is allocated to the tangible and identified intangible assets acquired and liabilities assumed based on their estimated fair values. The purchase price is allocated using the information currently available, and may be adjusted, up to one year from acquisition date, after obtaining more information regarding, among other things, asset valuations, liabilities assumed and revisions to preliminary estimates. The purchase price in excess of the fair value of the tangible and identified intangible assets acquired less liabilities assumed is recognized as goodwill. Determining the fair value of assets acquired and liabilities assumed requires management to use significant judgment and estimates, including the selection of valuation methodologies, estimates of future revenue, costs and cash flows, discount rates, and selection of comparable companies. Management’s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and unpredictable. As a result, actual results may differ from these estimates. During the measurement period, we may record adjustments to acquired assets and assumed liabilities, with corresponding offsets to goodwill. Upon the conclusion of a measurement period, any subsequent adjustments are recorded to earnings. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">At the acquisition date, the Company measures the fair values of all assets acquired and liabilities assumed that arise from contractual contingencies. The Company also measures the fair values of all <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-contractual</div> contingencies if, as of the acquisitions date, it is more likely than not that the contingencies will give rise to assets or liabilities. </div><div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Acquisition related costs not considered part of the considerations are expensed as incurred and recorded in Acquisition costs within the consolidated statement of operations. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"><div style="display:inline;">Research</div> and Development Costs: </div></div>We charge costs to expense in the period incurred, and these expenses are presented in the consolidated statement of income. The following costs are included in research and development expense: salaries and benefits, external engineering service costs, engineering related information costs and supplies. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Foreign Currency Translation: </div></div>The financial statements of foreign subsidiaries and branches are measured using the local currency as the functional currency. Foreign currency-denominated assets and liabilities are translated into U.S. dollars at <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">year-end</div> exchange rates with the translation adjustment recorded as a component of accumulated comprehensive income (loss) in shareholders’ equity. Revenues and expenses are translated at the average monthly exchange rates in effect during the related period. We do not provide for U.S. income taxes on foreign currency translation adjustments associated with our subsidiaries in Germany, Denmark and China since </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"> </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">their undistributed earnings are considered to be permanently invested. Included in our consolidated statements of income was a net transaction foreign exchange loss of $0.5 million and $0.3 million in fiscal 2022 and 2023, respectively, and a net transaction foreign exchange gain of $0.6 million in fiscal 2021. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Advertising: </div></div>We expense advertising costs as incurred. Advertising costs including advertising production, trade shows and other activities are designed to enhance demand for our products and amounted to approximately $1.6 million, $1.3 million, and $0.9 million in fiscal years 2023, 2022, and 2021, respectively. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Long-Lived Assets: </div></div>Long-lived assets to be held and used are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the projected undiscounted cash flows are less than the carrying value, then an impairment charge would be recorded for the excess of the carrying value over the fair value, as determined by the discounting of future cash flows. There were no impairment charges for our long-lived assets in fiscal years 2023, 2022, or 2021. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets: </div></div>Intangible assets include the value of customer and distributor relationships, trademarks and existing technology acquired in connection with business and asset acquisitions and are stated at cost (fair value at acquisition) less accumulated amortization. These intangible assets have a definite life and are amortized over the assets’ useful lives using a systematic and rational basis which is representative of the assets’ use. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. If necessary, an impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows used in determining the fair value of the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value. Fair value is generally determined using a discounted cash flow analysis. There were no impairment charges for our intangible assets in fiscal years 2023, 2022, or 2021. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Goodwill: </div></div>Goodwill represents the excess of the aggregate purchase price over the fair value of the net assets acquired in a purchase business combination. Management evaluates the recoverability of goodwill annually or more frequently if events or changes in circumstances, such as declines in revenue, earnings or cash flows, or material adverse changes in the business climate indicate that the carrying value of an asset might be impaired. Goodwill is tested for impairment at the reporting unit level. A reporting unit is an operating segment, or a business unit one level below an operating segment if discrete financial information for that business is prepared and regularly reviewed by segment management. However, components within an operating segment are aggregated as a single reporting unit if they have similar economic characteristics. We determined that each of our operating segments (Product Identification (“PI”) and Test &amp; Measurement (“T&amp;M”) represents a reporting unit for purposes of goodwill impairment testing. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The accounting guidance related to goodwill impairment testing allows for the performance of an optional qualitative assessment of whether it is more likely than not that the fair value of a reporting unit is less than its carrying value. Factors that management considers in this qualitative assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management and strategy and changes in the composition or carrying amount of net assets. If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying value, then a quantitative assessment is required for the reporting unit. Additionally, we can elect to forgo the qualitative assessment and perform the quantitative test. The quantitative assessment compares the fair value of the reporting unit with its carrying value. If the quantitative assessment is performed, we estimate the fair value of our reporting units using a blended income and market approach. The income approach is based on a discounted cash flow model and provides a fair value estimate based upon the reporting unit’s expected long-term operating cash flow performance. The market approach compares the reporting unit to publicly traded companies and transactions involving similar business, and requires the use of many assumptions and estimates including future revenue, expenses, capital expenditures, and working capital, as well as discount factors and </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"> </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">income tax rates. If the fair value of the reporting unit exceeds the carrying value of the net assets including goodwill assigned to that unit, goodwill is not impaired. If the carrying value of the reporting unit’s net assets including goodwill exceeds the fair value of the reporting unit, then we record an impairment charge based on that difference. We performed a qualitative assessment for our fiscal 2023 analysis of goodwill. Based on this assessment, management does not believe that it is more likely than not that the carrying values of the reporting units exceed their fair values. Accordingly, no quantitative assessment was performed. There were no impairment charges for our goodwill in fiscal years 2023, 2022, or 2021.</div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Leases: </div></div>We account for our leases in accordance with ASC 842, “Leases” (“ASC 842”). ASC 842 requires a lessee to recognize assets and liabilities on the balance sheet for all leases, with the result being the recognition of a right of use (“ROU”) asset and a lease liability. The lease liability is equal to the present value of the minimum lease payments for the term of the lease, including any optional renewal periods determined to be reasonably certain to be exercised, using a discount rate determined at lease commencement. This discount rate is the rate implicit in the lease, if known; otherwise, the incremental borrowing rate for the expected lease term is used. Our incremental borrowing rate approximates the rate we would have to pay to borrow on a collateralized basis over a similar term at lease inception. The value of the ROU asset is equal to the initial measurement of the lease liability plus any lease payments made to the lessor at or before the commencement date and any unamortized initial direct costs incurred by the lessee, less any unamortized lease incentives received. Several of our lease contracts include options to extend the lease term and we include the renewal options for these leases in the determination of the ROU asset and lease liability when the likelihood of renewal is determined to be reasonably certain. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We enter into lease contracts for certain of our facilities at various locations worldwide. At inception of a contract, we determine whether the contract is or contains a lease. If we have a right to obtain substantially all of the economic benefits from the use of the identified asset and the right to direct the use of the asset, then the contract contains a lease. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">There are two types of leases, operating leases and finance leases. Lease classification is determined at lease commencement. We have made an accounting policy election to apply the short-term exception, which does not require the capitalization of leases with terms of 12 months or less. All of our leases are classified as operating leases. Operating lease expense is recognized on a straight-line basis over the lease term and included in general and administrative expense on the consolidated statement of income. ROU assets are classified as such on the consolidated balance sheet, short-term lease liabilities are classified in accrued expenses, and long-term lease liabilities are classified as such in the consolidated balance sheet. In the statement of cash flow, payments for operating leases are classified as operating activities. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In addition, several of our lease agreements include <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-lease</div> components for items such as common area maintenance and utilities which are accounted for separately from the lease component. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Income Taxes: </div></div>We use the liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on the differences between the financial reporting basis and tax basis of the assets and liabilities and are measured using statutory tax rates that will be in effect when the differences are expected to reverse. Our deferred taxes are presented as <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-current</div> in the accompanying consolidated balance sheet. An allowance against deferred tax assets is recognized when it is <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">more-likely-than-not</div> that some portion or all of the deferred tax assets will not be realized. At January 31, 2023, a valuation allowance was provided for deferred tax assets attributable to certain domestic R&amp;D, foreign tax credit carryforwards and China net operating losses, all of which are expected to expire unused. At January 31, 2022, a valuation allowance was provided for deferred tax assets attributed to certain domestic R&amp;D and foreign tax credit carryforwards. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We account for uncertain tax positions in accordance with the guidance provided in ASC 740, “Accounting for Income Taxes.” This guidance describes a recognition threshold and measurement attribute for the financial statement disclosure of tax positions taken or expected to be taken in a tax return and requires recognition of tax </div> <div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">benefits that satisfy a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">more-likely-than-not</div> threshold. ASC 740 also provides guidance on <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">de-recognition,</div> classification, interest and penalties, accounting in interim periods and disclosure. </div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was signed into law. The legislation had sweeping effects including various types of economic relief for impacted businesses and industries. One such relief provision was the Paycheck Protection Program, which provided short-term cash flow assistance to finance employee payroll and qualified expenses. On May 6, 2020, we entered into a loan agreement with, and executed a promissory note in favor of Greenwood Credit Union (“Greenwood”) pursuant to which we borrowed</div></div> $4.4 <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">million (the “PPP Loan”). On December 27, 2020, the Consolidated Appropriations Act, 2021, H.R. 133 was signed into law. The legislation permits the deductibility of expenses to the extent that the payment of such expenses results (or is expected to result) in the forgiveness of a loan (covered loan) guaranteed under the Paycheck Protection Program. We have fully utilized the PPP Loan proceeds for qualifying expenses and applied for forgiveness <br/>of the PPP Loan. Consistent with the legislation, we deducted the full</div></div> $4.4 million of qualified expenses on our 2020 federal tax return. On June 15, 2021, Greenwood notified us that the United States Small Business Administration (the “SBA”) approved our application for forgiveness of the entire $4.4 million principal balance of our PPP Loan and all accrued interest thereon. As a result, in the second quarter of fiscal 2022, we recorded a<br/> $4.5 million gain on extinguishment of debt. The PPP loan forgiveness is excluded from taxable income under Section 1106(i) of the CARES Act. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Net Income Per Common Share: </div></div>Basic net income per share is based on the weighted average number of shares outstanding during the period. Diluted net income per share is based on the basic weighted average number of shares and potential common equivalent shares for stock options, restricted stock awards and restricted stock units outstanding during the period using the treasury stock method. In fiscal years 2023, 2022, and 2021, there were 685,667; 345,085; and 642,623, respectively, common equivalent shares that were not included in the computation of diluted net income per common share because their inclusion would be anti-dilutive. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value Measurement: </div></div>We measure our assets and liabilities at fair value on a recurring and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-recurring</div> basis in accordance with the guidance provided in ASC 820, “Fair Value Measurement and Disclosures,” which defines fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. In addition, ASC 820 establishes a three-tiered hierarchy for inputs used in management’s determination of fair value of financial instruments that emphasizes the use of observable inputs over the use of unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that reflect management’s belief about the assumptions market participants would use in pricing a financial instrument based on the best information available in the circumstances. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The fair value hierarchy is summarized as follows: </div> <div style="font-size: 6pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"> <tr style="page-break-inside:avoid"> <td style="width:5%"> </td> <td style="width:3%;vertical-align:top;text-align:left;">•</td> <td style="width:1%;vertical-align:top"> </td> <td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt; text-align: left; line-height: normal;">Level 1—Quoted prices in active markets for identical assets or liabilities; </div> </td> </tr> </table> <div style="font-size: 6pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"> <tr style="page-break-inside:avoid"> <td style="width:5%"> </td> <td style="width:3%;vertical-align:top;text-align:left;">•</td> <td style="width:1%;vertical-align:top"> </td> <td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt; text-align: left; line-height: normal;">Level 2—Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and </div> </td> </tr> </table> <div style="font-size: 6pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"> <tr style="page-break-inside:avoid"> <td style="width:5%"> </td> <td style="width:3%;vertical-align:top;text-align:left;">•</td> <td style="width:1%;vertical-align:top"> </td> <td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt; text-align: left; line-height: normal;">Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities </div> </td> </tr> </table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Cash and cash equivalents, accounts receivable, accounts payable, accrued compensation, other accrued expenses and income tax payable are reflected in the consolidated balance sheet at carrying value, which approximates fair value due to the short-term nature of these instruments. </div> <div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Self-Insurance:</div></div> We are self-insured for U.S. medical and dental benefits for qualifying employees and maintain stop-loss coverage from a third party which limits our exposure to large claims. We record a liability associated with these benefits that includes an estimate of both claims filed and losses incurred but not yet reported based on historical claims experience. In estimating this accrual, we utilize an independent third-party broker to estimate a range of expected losses, which are based on analyses of historical data. Assumptions are closely monitored and adjusted when warranted by changing circumstances. Our liability for self-insured claims is included within accrued compensation in our consolidated balance sheets and was </div></div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">$0.3 million and $0.2 million at January 31, 2023 and 2022, respectively. </div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Share-Based Compensation:</div></div> Compensation expense for time-based restricted stock units is measured at the grant date and recognized ratably over the vesting period. We determine the fair value of time-based and performance-based restricted stock units based on the closing market price of our common stock on the grant date. The recognition of compensation expense associated with performance-based restricted stock units requires judgment in assessing the probability of meeting the performance goals, as well as defined criteria for assessing achievement of the performance-related goals. For purposes of measuring compensation expense, the number of shares ultimately expected to vest is estimated at each reporting date based on management’s expectations regarding the relevant performance criteria. The performance shares begin vesting only upon the achievement of the performance criteria. The achievement of the performance goals can impact the valuation and associated expense of the restricted stock units. The assumptions used in accounting for the share-based payment awards represent management’s best estimates, but these estimates involve inherent uncertainties and the application of management judgment. As a result, if circumstances change and we use different assumptions, our stock-based compensation expense could be materially different in the future. </div></div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Share-based compensation becomes deductible for determining income taxes when the related award vests, is exercised, or is forfeited depending on the type of share-based award and subject to relevant tax law. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Derivative Financial Instruments:</div></div> We occasionally use derivative instruments as part of our overall strategy to manage exposure to market risks primarily associated with fluctuations in foreign currency exchange rates and interest rates. Derivative instruments are recognized as either assets or liabilities in the balance sheet at fair value. The accounting for changes in the fair value (i.e., gains or losses) of a derivative instrument depends on whether it has been designated and qualifies as part of a hedging relationship and, further, on the type of hedging relationship. For derivative instruments not designated as hedging instruments, the gain or loss is recognized in the statement of income during the current period. For those derivative instruments that are designated and qualify as hedging instruments, a company must designate the hedging instrument, based upon the exposure being hedged, as a fair value hedge, cash flow hedge, or a hedge of a net investment in a foreign operation. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">For derivative instruments that are designated and qualify as a cash flow hedge, the gain or loss on the derivative instrument is reported as a component of other comprehensive income/(loss) and reclassified into earnings in the same line item associated with the forecasted transaction, and in the same period or periods during which the hedged transaction affects earnings (e.g., in “Interest Expense” when the hedged transactions are interest cash flows associated with floating-rate debt, or “Other, Net” for portions reclassified relating to the remeasurement of the debt). The remaining gain or loss on the derivative instrument in excess of the cumulative change in the present value of future cash flows of the hedged item, if any, are recognized in the statement of income during the current period. </div> <div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recent Accounting Pronouncements </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">There were no new accounting pronouncements, issued or effective during fiscal 2023, that have had or are expected to have a material impact on our consolidated financial statements. </div> <div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Basis of Presentation:</div></div> The accompanying financial statements and accompanying notes have been prepared by us pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (“SEC”) and are presented in conformity with U.S. generally accepted accounting principles (“U.S. GAAP”). Our fiscal year end is January 31. Unless otherwise stated, all years and dates refer to our fiscal year. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Principles of Consolidation: </div></div>The consolidated financial statements include the accounts of AstroNova, Inc. and its subsidiaries. All material intercompany accounts and transactions are eliminated in consolidation. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Reclassification: </div></div>Certain amounts in prior year’s financial statements have been reclassified to conform to the current year’s presentation. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Use of Estimates: </div></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 using information that is reasonably available to us at this time. Some of the more significant estimates relate to revenue recognition; the allowances for doubtful accounts; inventory valuation; income taxes; valuation of long-lived assets, intangible assets and goodwill; share-based compensation; and warranty reserves. Management’s estimates are based on the facts and circumstances available at the time estimates are made, historical experience, risk of loss, general economic conditions and trends, and management’s assessments of the probable future outcome of these matters, including our expectations at the time<div style="letter-spacing: 0px; top: 0px;;display:inline;"> regarding</div> the ongoing impact from the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19</div> pandemic. Consequently, actual results could differ from those estimates. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Cash and Cash Equivalents:</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"> </div></div>Highly liquid investments with an original maturity of 90 days or less are considered to be cash equivalents. At<div style="letter-spacing: 0px; top: 0px;;display:inline;"> January</div> 31, 2023 and 2022, $3.2 million and $3.7 million, respectively, was held in foreign bank accounts. </div> 90 3200000 3700000 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Inventories:</div></div> Inventories are stated at the lower of standard and average cost or net realizable value and include material, labor and manufacturing overhead. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Property, Plant and Equipment: </div></div><div style="letter-spacing: 0px; top: 0px;;display:inline;">Property</div>, plant and equipment are stated at cost less accumulated depreciation. Depreciation is provided on the straight-line basis over the estimated useful lives of the assets (land improvements—10 to 20 years; buildings and leasehold improvements—10 to 45 years; machinery and equipment—3 to 10 years and <div style="letter-spacing: 0px; top: 0px;;display:inline;">computer</div> equipment and software—3 to 10 years). </div> P10Y P20Y P10Y P45Y P3Y P10Y P3Y P10Y <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue Recognition: </div></div>We recognize revenue in accordance with Accounting Standards Codification (“ASC”) 606 “Revenue from Contracts with Customers (“ASC 606”).” The core principle of ASC 606 is to recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC 606 defines a five-step process to recognize revenue and requires judgment and estimates within the revenue recognition process, including identifying contracts with customers, identifying performance obligations in the contract, determining and estimating the amount of any variable consideration to include in the transaction price and allocating the transaction price to each separate performance obligation and recognizing revenue when the entity satisfies each performance obligation. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The vast majority of our revenue is generated from the sale of distinct products. Revenue is measured as the amount of consideration we expect to receive in exchange for such products, which is generally at the contractually stated prices, and is recognized when we satisfy a performance obligation by transferring control of </div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">a product to a customer. The transfer of control generally occurs at one point in time, upon shipment, when title and risk of loss pass to the customer. Returns and customer credits are infrequent and are recorded as a reduction to revenue. Sales taxes and value added taxes collected concurrently with revenue generating activities are excluded from revenue. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Many of the contracts entered into with customers are commonly comprised of a combination of equipment, supplies, installation and/or training services. We determine performance obligations by assessing whether the products or services are distinct from other elements of the contract. In order to be distinct, the product must perform either on its own or with readily available resources and must be separate within the context of the contract. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Most of our hardware products contain embedded operating systems and data management software which is included in the purchase price of the equipment. The software is deemed incidental to the systems as a whole, as it is not sold or marketed separately, and its production costs are minor compared to those of the hardware system. Hardware and software elements are typically delivered at the same time and are accounted for as a single performance obligation for which revenue is recognized at the point in time when ownership is transferred to the customer. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Installation and training services vary based on certain factors such as the complexity of the equipment, staffing availability in a geographic location and customer preferences, and can range from a few days to a few months. The delivery of installation and training services are not assessed to determine whether they are separate performance obligations, as the amounts are not material to the contract. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Shipping and handling activities that occur after control over a product has transferred to a customer are accounted for as fulfillment activities rather than performance obligations, as allowed under a practical expedient provided by ASC 606. The shipping and handling fees charged to customers are recognized as revenue and the related costs are included in cost of revenue at the point in time when ownership of the product is transferred to the customer. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We may perform services at the request of the customer, generally for the repair and maintenance of products previously sold. These services are short in duration and total approximately 5.0% and 4.4% of revenue for the years ended January 31, 2023 and 2022, respectively. Revenue is recognized as services are rendered and accepted by the customer. We also provide service agreements on certain of our Product Identification equipment. Service agreements are purchased separately from the equipment and provide for the right to obtain service and maintenance on the equipment for a period of typically one to two years. Accordingly, revenue on these agreements is recognized over the term of the agreements. The portion of service agreement contracts that are uncompleted at the end of any reporting period are included in deferred revenue. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We generally provide warranties for our products. The standard warranty period is typically 12 months for most hardware products except for airborne printers, which typically have warranties that extend for <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">3-5</div> years, consistent with industry practice. Such assurance-type warranties are not deemed to be separate performance obligations from the hardware product and costs associated with providing the warranties are accrued in accordance with ASC 450, “Contingencies,” as we have the ability to ascertain the likelihood of the liability and can reasonably estimate the amount of the liability. Our estimate of costs to service the warranty obligations is based on historical experience and expectations of future conditions. To the extent that our experience in warranty claims or costs associated with servicing those claims differ from the original estimates, revisions to the estimated warranty liability are recorded at that time, with an offsetting adjustment to cost of revenue. On occasion, customers request a warranty period longer than our standard warranty. In those instances, in which extended warranty services are separately quoted to the customer, an additional performance obligation is created, and the associated revenue is deferred and recognized as service revenue ratably over the term of the extended warranty period. The portion of service contracts and extended warranty services agreements that are uncompleted at the end of any reporting period are included in deferred revenue. </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"> </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/><div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We recognize and subsequently amortize an asset for the incremental direct costs of obtaining a contract with a customer if we expect the benefit of those costs to be longer than one year (Refer to Note 3, “Revenue Recognition” included in our notes to the consolidated financial statement). We apply the practical expedient to expense costs incurred for costs to obtain a contract when the amortization period would have been less than a year. These costs include sales commissions paid to the internal direct sales team as well as to third-party representatives and distributors. Contractual agreements with each of these parties outline commission structures and rates to be paid. Generally speaking, the contracts are all individual procurement decisions by the customers and do not include renewal provisions and, as such, the majority of the contracts have an economic life of significantly less than a year.</div> 0.05 0.044 P3Y P5Y <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Accounts Receivables and Allowance for Doubtful Accounts: </div></div>Standard payment terms are typically 30 days after shipment but vary by type and geographic location of our customer. Credit is extended based upon an evaluation of the customer’s financial condition. In circumstances where we are aware of a customer’s inability to meet its financial obligations, an allowance is established. The remainder of the allowance established is based on a variety of factors, including the age of amounts outstanding relative to their contractual due date, historical <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">write-off</div> experience and current market assessments. Accounts receivable are stated at their estimated net realizable value. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style:italic;display:inline;">Business Combinations: </div>We account for business acquisitions under the acquisition method of accounting in accordance with ASC 805, ‘‘Business Combinations,’’ where the total purchase price is allocated to the tangible and identified intangible assets acquired and liabilities assumed based on their estimated fair values. The purchase price is allocated using the information currently available, and may be adjusted, up to one year from acquisition date, after obtaining more information regarding, among other things, asset valuations, liabilities assumed and revisions to preliminary estimates. The purchase price in excess of the fair value of the tangible and identified intangible assets acquired less liabilities assumed is recognized as goodwill. Determining the fair value of assets acquired and liabilities assumed requires management to use significant judgment and estimates, including the selection of valuation methodologies, estimates of future revenue, costs and cash flows, discount rates, and selection of comparable companies. Management’s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and unpredictable. As a result, actual results may differ from these estimates. During the measurement period, we may record adjustments to acquired assets and assumed liabilities, with corresponding offsets to goodwill. Upon the conclusion of a measurement period, any subsequent adjustments are recorded to earnings. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">At the acquisition date, the Company measures the fair values of all assets acquired and liabilities assumed that arise from contractual contingencies. The Company also measures the fair values of all <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-contractual</div> contingencies if, as of the acquisitions date, it is more likely than not that the contingencies will give rise to assets or liabilities. </div><div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Acquisition related costs not considered part of the considerations are expensed as incurred and recorded in Acquisition costs within the consolidated statement of operations. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"><div style="display:inline;">Research</div> and Development Costs: </div></div>We charge costs to expense in the period incurred, and these expenses are presented in the consolidated statement of income. The following costs are included in research and development expense: salaries and benefits, external engineering service costs, engineering related information costs and supplies. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Foreign Currency Translation: </div></div>The financial statements of foreign subsidiaries and branches are measured using the local currency as the functional currency. Foreign currency-denominated assets and liabilities are translated into U.S. dollars at <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">year-end</div> exchange rates with the translation adjustment recorded as a component of accumulated comprehensive income (loss) in shareholders’ equity. Revenues and expenses are translated at the average monthly exchange rates in effect during the related period. We do not provide for U.S. income taxes on foreign currency translation adjustments associated with our subsidiaries in Germany, Denmark and China since </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"> </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">their undistributed earnings are considered to be permanently invested. Included in our consolidated statements of income was a net transaction foreign exchange loss of $0.5 million and $0.3 million in fiscal 2022 and 2023, respectively, and a net transaction foreign exchange gain of $0.6 million in fiscal 2021. </div> 500000 300000 600000 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Advertising: </div></div>We expense advertising costs as incurred. Advertising costs including advertising production, trade shows and other activities are designed to enhance demand for our products and amounted to approximately $1.6 million, $1.3 million, and $0.9 million in fiscal years 2023, 2022, and 2021, respectively. </div> 1600000 1300000 900000 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Long-Lived Assets: </div></div>Long-lived assets to be held and used are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the projected undiscounted cash flows are less than the carrying value, then an impairment charge would be recorded for the excess of the carrying value over the fair value, as determined by the discounting of future cash flows. There were no impairment charges for our long-lived assets in fiscal years 2023, 2022, or 2021. </div> 0 0 0 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets: </div></div>Intangible assets include the value of customer and distributor relationships, trademarks and existing technology acquired in connection with business and asset acquisitions and are stated at cost (fair value at acquisition) less accumulated amortization. These intangible assets have a definite life and are amortized over the assets’ useful lives using a systematic and rational basis which is representative of the assets’ use. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. If necessary, an impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows used in determining the fair value of the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value. Fair value is generally determined using a discounted cash flow analysis. There were no impairment charges for our intangible assets in fiscal years 2023, 2022, or 2021. </div> 0 0 0 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Goodwill: </div></div>Goodwill represents the excess of the aggregate purchase price over the fair value of the net assets acquired in a purchase business combination. Management evaluates the recoverability of goodwill annually or more frequently if events or changes in circumstances, such as declines in revenue, earnings or cash flows, or material adverse changes in the business climate indicate that the carrying value of an asset might be impaired. Goodwill is tested for impairment at the reporting unit level. A reporting unit is an operating segment, or a business unit one level below an operating segment if discrete financial information for that business is prepared and regularly reviewed by segment management. However, components within an operating segment are aggregated as a single reporting unit if they have similar economic characteristics. We determined that each of our operating segments (Product Identification (“PI”) and Test &amp; Measurement (“T&amp;M”) represents a reporting unit for purposes of goodwill impairment testing. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The accounting guidance related to goodwill impairment testing allows for the performance of an optional qualitative assessment of whether it is more likely than not that the fair value of a reporting unit is less than its carrying value. Factors that management considers in this qualitative assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management and strategy and changes in the composition or carrying amount of net assets. If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying value, then a quantitative assessment is required for the reporting unit. Additionally, we can elect to forgo the qualitative assessment and perform the quantitative test. The quantitative assessment compares the fair value of the reporting unit with its carrying value. If the quantitative assessment is performed, we estimate the fair value of our reporting units using a blended income and market approach. The income approach is based on a discounted cash flow model and provides a fair value estimate based upon the reporting unit’s expected long-term operating cash flow performance. The market approach compares the reporting unit to publicly traded companies and transactions involving similar business, and requires the use of many assumptions and estimates including future revenue, expenses, capital expenditures, and working capital, as well as discount factors and </div><div style="margin-top:0pt;margin-bottom:0pt ; font-size:8pt"> </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">income tax rates. If the fair value of the reporting unit exceeds the carrying value of the net assets including goodwill assigned to that unit, goodwill is not impaired. If the carrying value of the reporting unit’s net assets including goodwill exceeds the fair value of the reporting unit, then we record an impairment charge based on that difference. We performed a qualitative assessment for our fiscal 2023 analysis of goodwill. Based on this assessment, management does not believe that it is more likely than not that the carrying values of the reporting units exceed their fair values. Accordingly, no quantitative assessment was performed. There were no impairment charges for our goodwill in fiscal years 2023, 2022, or 2021.</div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Leases: </div></div>We account for our leases in accordance with ASC 842, “Leases” (“ASC 842”). ASC 842 requires a lessee to recognize assets and liabilities on the balance sheet for all leases, with the result being the recognition of a right of use (“ROU”) asset and a lease liability. The lease liability is equal to the present value of the minimum lease payments for the term of the lease, including any optional renewal periods determined to be reasonably certain to be exercised, using a discount rate determined at lease commencement. This discount rate is the rate implicit in the lease, if known; otherwise, the incremental borrowing rate for the expected lease term is used. Our incremental borrowing rate approximates the rate we would have to pay to borrow on a collateralized basis over a similar term at lease inception. The value of the ROU asset is equal to the initial measurement of the lease liability plus any lease payments made to the lessor at or before the commencement date and any unamortized initial direct costs incurred by the lessee, less any unamortized lease incentives received. Several of our lease contracts include options to extend the lease term and we include the renewal options for these leases in the determination of the ROU asset and lease liability when the likelihood of renewal is determined to be reasonably certain. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We enter into lease contracts for certain of our facilities at various locations worldwide. At inception of a contract, we determine whether the contract is or contains a lease. If we have a right to obtain substantially all of the economic benefits from the use of the identified asset and the right to direct the use of the asset, then the contract contains a lease. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">There are two types of leases, operating leases and finance leases. Lease classification is determined at lease commencement. We have made an accounting policy election to apply the short-term exception, which does not require the capitalization of leases with terms of 12 months or less. All of our leases are classified as operating leases. Operating lease expense is recognized on a straight-line basis over the lease term and included in general and administrative expense on the consolidated statement of income. ROU assets are classified as such on the consolidated balance sheet, short-term lease liabilities are classified in accrued expenses, and long-term lease liabilities are classified as such in the consolidated balance sheet. In the statement of cash flow, payments for operating leases are classified as operating activities. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In addition, several of our lease agreements include <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-lease</div> components for items such as common area maintenance and utilities which are accounted for separately from the lease component. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Income Taxes: </div></div>We use the liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on the differences between the financial reporting basis and tax basis of the assets and liabilities and are measured using statutory tax rates that will be in effect when the differences are expected to reverse. Our deferred taxes are presented as <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-current</div> in the accompanying consolidated balance sheet. An allowance against deferred tax assets is recognized when it is <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">more-likely-than-not</div> that some portion or all of the deferred tax assets will not be realized. At January 31, 2023, a valuation allowance was provided for deferred tax assets attributable to certain domestic R&amp;D, foreign tax credit carryforwards and China net operating losses, all of which are expected to expire unused. At January 31, 2022, a valuation allowance was provided for deferred tax assets attributed to certain domestic R&amp;D and foreign tax credit carryforwards. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We account for uncertain tax positions in accordance with the guidance provided in ASC 740, “Accounting for Income Taxes.” This guidance describes a recognition threshold and measurement attribute for the financial statement disclosure of tax positions taken or expected to be taken in a tax return and requires recognition of tax </div> <div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">benefits that satisfy a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">more-likely-than-not</div> threshold. ASC 740 also provides guidance on <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">de-recognition,</div> classification, interest and penalties, accounting in interim periods and disclosure. </div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was signed into law. The legislation had sweeping effects including various types of economic relief for impacted businesses and industries. One such relief provision was the Paycheck Protection Program, which provided short-term cash flow assistance to finance employee payroll and qualified expenses. On May 6, 2020, we entered into a loan agreement with, and executed a promissory note in favor of Greenwood Credit Union (“Greenwood”) pursuant to which we borrowed</div></div> $4.4 <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">million (the “PPP Loan”). On December 27, 2020, the Consolidated Appropriations Act, 2021, H.R. 133 was signed into law. The legislation permits the deductibility of expenses to the extent that the payment of such expenses results (or is expected to result) in the forgiveness of a loan (covered loan) guaranteed under the Paycheck Protection Program. We have fully utilized the PPP Loan proceeds for qualifying expenses and applied for forgiveness <br/>of the PPP Loan. Consistent with the legislation, we deducted the full</div></div> $4.4 million of qualified expenses on our 2020 federal tax return. On June 15, 2021, Greenwood notified us that the United States Small Business Administration (the “SBA”) approved our application for forgiveness of the entire $4.4 million principal balance of our PPP Loan and all accrued interest thereon. As a result, in the second quarter of fiscal 2022, we recorded a<br/> $4.5 million gain on extinguishment of debt. The PPP loan forgiveness is excluded from taxable income under Section 1106(i) of the CARES Act. </div> 4400000 4400000 4400000 4500000 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Net Income Per Common Share: </div></div>Basic net income per share is based on the weighted average number of shares outstanding during the period. Diluted net income per share is based on the basic weighted average number of shares and potential common equivalent shares for stock options, restricted stock awards and restricted stock units outstanding during the period using the treasury stock method. In fiscal years 2023, 2022, and 2021, there were 685,667; 345,085; and 642,623, respectively, common equivalent shares that were not included in the computation of diluted net income per common share because their inclusion would be anti-dilutive. </div> 685667 345085 642623 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value Measurement: </div></div>We measure our assets and liabilities at fair value on a recurring and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-recurring</div> basis in accordance with the guidance provided in ASC 820, “Fair Value Measurement and Disclosures,” which defines fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. In addition, ASC 820 establishes a three-tiered hierarchy for inputs used in management’s determination of fair value of financial instruments that emphasizes the use of observable inputs over the use of unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that reflect management’s belief about the assumptions market participants would use in pricing a financial instrument based on the best information available in the circumstances. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The fair value hierarchy is summarized as follows: </div> <div style="font-size: 6pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"> <tr style="page-break-inside:avoid"> <td style="width:5%"> </td> <td style="width:3%;vertical-align:top;text-align:left;">•</td> <td style="width:1%;vertical-align:top"> </td> <td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt; text-align: left; line-height: normal;">Level 1—Quoted prices in active markets for identical assets or liabilities; </div> </td> </tr> </table> <div style="font-size: 6pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"> <tr style="page-break-inside:avoid"> <td style="width:5%"> </td> <td style="width:3%;vertical-align:top;text-align:left;">•</td> <td style="width:1%;vertical-align:top"> </td> <td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt; text-align: left; line-height: normal;">Level 2—Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and </div> </td> </tr> </table> <div style="font-size: 6pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"> <tr style="page-break-inside:avoid"> <td style="width:5%"> </td> <td style="width:3%;vertical-align:top;text-align:left;">•</td> <td style="width:1%;vertical-align:top"> </td> <td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt; text-align: left; line-height: normal;">Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities </div> </td> </tr> </table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Cash and cash equivalents, accounts receivable, accounts payable, accrued compensation, other accrued expenses and income tax payable are reflected in the consolidated balance sheet at carrying value, which approximates fair value due to the short-term nature of these instruments. </div> <div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Self-Insurance:</div></div> We are self-insured for U.S. medical and dental benefits for qualifying employees and maintain stop-loss coverage from a third party which limits our exposure to large claims. We record a liability associated with these benefits that includes an estimate of both claims filed and losses incurred but not yet reported based on historical claims experience. In estimating this accrual, we utilize an independent third-party broker to estimate a range of expected losses, which are based on analyses of historical data. Assumptions are closely monitored and adjusted when warranted by changing circumstances. Our liability for self-insured claims is included within accrued compensation in our consolidated balance sheets and was </div></div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">$0.3 million and $0.2 million at January 31, 2023 and 2022, respectively. </div> 300000 200000 <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Share-Based Compensation:</div></div> Compensation expense for time-based restricted stock units is measured at the grant date and recognized ratably over the vesting period. We determine the fair value of time-based and performance-based restricted stock units based on the closing market price of our common stock on the grant date. The recognition of compensation expense associated with performance-based restricted stock units requires judgment in assessing the probability of meeting the performance goals, as well as defined criteria for assessing achievement of the performance-related goals. For purposes of measuring compensation expense, the number of shares ultimately expected to vest is estimated at each reporting date based on management’s expectations regarding the relevant performance criteria. The performance shares begin vesting only upon the achievement of the performance criteria. The achievement of the performance goals can impact the valuation and associated expense of the restricted stock units. The assumptions used in accounting for the share-based payment awards represent management’s best estimates, but these estimates involve inherent uncertainties and the application of management judgment. As a result, if circumstances change and we use different assumptions, our stock-based compensation expense could be materially different in the future. </div></div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Share-based compensation becomes deductible for determining income taxes when the related award vests, is exercised, or is forfeited depending on the type of share-based award and subject to relevant tax law. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Derivative Financial Instruments:</div></div> We occasionally use derivative instruments as part of our overall strategy to manage exposure to market risks primarily associated with fluctuations in foreign currency exchange rates and interest rates. Derivative instruments are recognized as either assets or liabilities in the balance sheet at fair value. The accounting for changes in the fair value (i.e., gains or losses) of a derivative instrument depends on whether it has been designated and qualifies as part of a hedging relationship and, further, on the type of hedging relationship. For derivative instruments not designated as hedging instruments, the gain or loss is recognized in the statement of income during the current period. For those derivative instruments that are designated and qualify as hedging instruments, a company must designate the hedging instrument, based upon the exposure being hedged, as a fair value hedge, cash flow hedge, or a hedge of a net investment in a foreign operation. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">For derivative instruments that are designated and qualify as a cash flow hedge, the gain or loss on the derivative instrument is reported as a component of other comprehensive income/(loss) and reclassified into earnings in the same line item associated with the forecasted transaction, and in the same period or periods during which the hedged transaction affects earnings (e.g., in “Interest Expense” when the hedged transactions are interest cash flows associated with floating-rate debt, or “Other, Net” for portions reclassified relating to the remeasurement of the debt). The remaining gain or loss on the derivative instrument in excess of the cumulative change in the present value of future cash flows of the hedged item, if any, are recognized in the statement of income during the current period. </div> <div style="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recent Accounting Pronouncements </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">There were no new accounting pronouncements, issued or effective during fiscal 2023, that have had or are expected to have a material impact on our consolidated financial statements. </div> <div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div> <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Note 2 – Acquisitions </div></div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Astro Machine </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On August 4, 2022, we acquired Astro Machine LLC (“Astro Machine”), an Illinois-based manufacturer of printing equipment, including label printers, tabbers, conveyors, and envelope feeders, for aggregate consideration of $17.1 million. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The acquisition was accomplished pursuant to an Equity Interest Purchase Agreement dated as of August 4, 2022 (the “Purchase Agreement”) by and among us, GSND Holding Corporation (“GSND”), the parent company of Astro Machine, and Astro Machine. Pursuant to the Purchase Agreement, we purchased 100% of the issued and outstanding equity interests of Astro Machine from GSND for a purchase price of $15.6 million. The acquisition was funded using borrowings under our credit facility. We obtained a representation and warranty insurance policy and placed $300,000 of the purchase price into an escrow account, which pursuant to the terms and conditions of the Purchase Agreement, are our sole recourse for breaches of representations and warranties by GSND. Upon the closing of the transaction, Astro Machine became a wholly owned subsidiary of AstroNova, Inc. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Concurrently with the signing of the Purchase Agreement, our newly acquired subsidiary, Astro Machine, entered into a Purchase and Sale Agreement with Selak Real Estate Limited Partnership (“SRE”), pursuant to which Astro Machine purchased certain real property assets of SRE for a purchase price, paid in cash, of $1.5 million. These real estate assets are comprised of a 34,460 square foot industrial manufacturing building (including offices) on 1.26 acres of land, which is Astro Machine’s principal place of business. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">This transaction is a business combination and was accounted for using the acquisition method of accounting prescribed by ASC 805, “Business Combinations” (“ASC 805”), whereby the results of operations, including the revenues and earnings of Astro Machine, are included in our financial statements from the date of acquisition. The purchase price of Astro Machine was allocated to the tangible and intangible assets acquired and liabilities assumed and recognized at their fair value based on widely accepted valuation techniques in accordance with ASC 820, “Fair Value Measurement,” as of the acquisition date. The process for estimating fair values requires the use of significant estimates, assumptions and judgments, including determining the timing and estimates of future cash flows and developing appropriate discount rates. The excess of the purchase price over the fair value of the net identified assets acquired and liabilities assumed was recorded as goodwill. ASC 805 establishes a measurement period to provide companies with a reasonable amount of time to obtain the information necessary to identify and measure various items in a business combination and cannot extend beyond one year from the acquisition date. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We completed our final fair value determination of the assets acquired and liabilities assumed during the fourth quarter of fiscal 2023. Since the initial preliminary estimates reported in the third quarter of fiscal 2023, we have adjusted certain amounts for the fair value of the assets acquired and liabilities assumed as a result of obtaining additional information that allowed us to determine the final purchase price allocation, as summarized in the table below. Measurement period adjustments were recognized in the reporting period in which the adjustments were determined and calculated as if the accounting had been completed at the acquisition date. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Total acquisition-related costs of $0.7 million are included in the general and administrative expenses in our consolidated statement of income for the year ended January 31, 2023.</div> <div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div> <div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div> <div style="font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the final purchase price allocation of the Astro Machine acquisition for the estimated fair value of the net asset acquired and liabilities assumed as of the date of acquisition: </div></div></div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:85%"/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> </tr> <tr> <td style="vertical-align: bottom; line-height: 8pt; font-size: 8pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"><div style="text-indent: 0px; line-height: 8pt; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">(In thousands)</div><br/></div></td> <td style="vertical-align: bottom; line-height: 8pt; font-size: 8pt;"> <div style="margin-bottom: 0px; margin-top: 0px; font-size: 8pt; line-height: 8pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div> </td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 8pt; font-size: 8pt;"> <div style="margin-bottom: 0px; margin-top: 0px; font-size: 8pt; line-height: 8pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div> </td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 8pt; font-size: 8pt;"> <div style="margin-bottom: 0px; margin-top: 0px; font-size: 8pt; line-height: 8pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div> </td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 8pt; font-size: 8pt;"> <div style="margin-bottom: 0px; margin-top: 0px; font-size: 8pt; line-height: 8pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;">Cash</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">91</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accounts Receivable</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,393</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Inventory</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,715</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Property, Plant and Equipment</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,200</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Identifiable Intangible Assets</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Goodwill</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,730</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accounts Payable and Other Current Liabilities</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,484</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total Purchase Price</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space: nowrap; vertical-align: bottom; border-bottom: 2.5pt double black;">$</td> <td style="white-space: nowrap; vertical-align: bottom; border-bottom: 2.5pt double black;;text-align:right;">17,125</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> </table> <div style="margin-top: 12pt; margin-bottom: 6pt; text-indent: 4%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt;">The fair value of the intangible assets acquired was estimated by applying the income approach. This fair value measurement is based on significant inputs that are not observable in the market and therefore represent a Level 3 measurement as defined in ASC 820, “Fair Value Measurement.” Key assumptions in estimating the fair value of the intangibles include (1) remaining useful life of the tradename/trademarks and customer relations (2) the royalty rate of 0.75%, (3) customer attrition rate of 18.0%, (4) discount rate of 19.0% and (5) a range of revenue and net income projections for the fiscal years 2023-2026. </div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the fair value of the acquired identifiable intangible assets and related estimated useful lives: </div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px; padding-top: 0pt; padding-bottom: 0pt;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 76%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:75%"/> <td style="vertical-align:bottom;width:9%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:9%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="font-weight:bold;display:inline;width:100%;">Fair<br/> Value</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="font-weight:bold;display:inline;width:100%;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="font-weight:bold;display:inline;width:100%;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="font-weight:bold;display:inline;width:100%;">Useful Life<br/> (<div style="letter-spacing: 0px; top: 0px;;display:inline;">y</div>ears)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Customer Relations</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,060</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Trademarks/Tradenames</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">420</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Total</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr></table> <div style="margin-top: 12pt; margin-bottom: 6pt; text-indent: 4%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt;">The Customer Relations intangible asset represents the relationships that will be maintained with certain historical customers of Astro Machine. The trademark/tradename intangible assets reflect the industry reputation of the Astro Machine name recognition and the registered trademarks for the use of several marks and logos held by Astro Machine. </div><div style="margin-top: 12pt; margin-bottom: 6pt; text-indent: 4%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt;">Goodwill of $2.73 million, which is not deductible for tax purposes, represents the excess of the purchase price over the estimated fair value assigned to the tangible and identifiable intangible assets acquired and liabilities assumed from Astro Machine. The goodwill recognized under ASC 805 is attributable to synergies which are expected to enhance and expand our overall product portfolio, opportunities in new and existing markets, future technologies that have yet to be determined and Astro Machine’s assembled work force. The carrying amount of the goodwill was allocated to the Product Identification (“PI”) segment. </div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The amounts of revenue and earnings before taxes included in our consolidated statement of income from the period August 4, 2022 (acquisition date) through January 31, 2023 are as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:85%"/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(In thousands)</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Revenue</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,515</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Earnings before Taxes</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,571</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><div style="background-color:#ffffff;;display:inline;">Astro Machine results are reported as part of the PI segment. Proforma results are not provided, as disclosure of such amounts was impractical to determine as the acquired business had insufficient financial records and no audit </div></div></div><div style="background-color:#ffffff;;display:inline;">history prior to the transaction.</div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"><div style="background-color:#ffffff;;display:inline;"> </div></div></div></div><div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><div style="background-color:#ffffff;;display:inline;"/></div></div></div><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;;font-weight: bold;"><a href="#toc"/></div><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 4%;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Honeywell Asset Purchase and License Agreement</div></div></div></div><div style="letter-spacing: 0px; top: 0px;;display:inline;"/><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">On June 30, 2022, AstroNova Inc. entered into an Asset Purchase and License Agreement with Honeywell Inc. (“New HW Agreement”) to acquire an exclusive, perpetual, world-wide license to manufacture Honeywell’s flight deck printers for the Boeing 787 aircraft.    The New HW Agreement provides for royalty payments to Honeywell based on gross revenues from the sales of the printers, paper and repair services of the licensed products in perpetuity. The royalty rates vary based on the year in which they are paid or earned and as products are sold or as services provided and range from single-digit to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">mid-double-digit</div> percentages of gross revenue. The New HW Agreement included a provision for guaranteed minimum royalty payments to be paid in the event that the royalties earned by Honeywell do not meet the minimum for the preceding calendar year as follows: $100,000 in 2024, $200,000 in 2025, $233,000 in 2026 and 2027, and $234,000 in 2028.</div><br/></div> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">This transaction was evaluated under ASC 805, “Business Combinations,” and was accounted for as an asset acquisition. </div></div><br/></div><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The purchase price was allocated to the customer relationship intangible, which was the only asset acquired as a result of this transaction. This asset will be amortized over the useful life of the intangible. The minimum royalty payment obligation and related customer relation intangible were recorded at the present value of the minimum royalty payments. </div></div></div><div style="letter-spacing: 0px; top: 0px; background: none;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px; background: none; text-decoration: none;;display:inline;"> </div></div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The acquired identifiable intangible asset is as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: &quot;Times New Roman&quot;; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 77%;"/> <td style="width: 8%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 8%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"/>(In thousands)<div style="letter-spacing: 0px; top: 0px;;display:inline;"/></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair<br/>Value</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful Life<br/>(Years)</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"> <td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer Contract Relationships</div></div></div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td> <td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">530</div></td> <td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">20</div></td> <td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr></table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div><div style="clear:both;max-height:0pt;"/><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The minimum royalty payment due was discounted based on the payment schedule and applicable discount rate, resulting in an outstanding royalty obligation of $0.5 million as of January 31, 2023, including $0.1 million recorded as a current liability. </div></div></div><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Additional royalties based on sales activity will be recorded in the period that the associated revenue is earned. During the fourth quarter of 2023, we incurred $0.1 million <div style="display:inline;">in e</div>xcess royalty expense, which is included in cost of revenue in our consolidated statement of income for the year ended January 31, 2023. </div></div></div> 17100000 1 15600000 300000 1500000 34460 1.26 700000 <div style="font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the final purchase price allocation of the Astro Machine acquisition for the estimated fair value of the net asset acquired and liabilities assumed as of the date of acquisition: </div></div></div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:85%"/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> </tr> <tr> <td style="vertical-align: bottom; line-height: 8pt; font-size: 8pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"><div style="text-indent: 0px; line-height: 8pt; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">(In thousands)</div><br/></div></td> <td style="vertical-align: bottom; line-height: 8pt; font-size: 8pt;"> <div style="margin-bottom: 0px; margin-top: 0px; font-size: 8pt; line-height: 8pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div> </td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 8pt; font-size: 8pt;"> <div style="margin-bottom: 0px; margin-top: 0px; font-size: 8pt; line-height: 8pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div> </td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 8pt; font-size: 8pt;"> <div style="margin-bottom: 0px; margin-top: 0px; font-size: 8pt; line-height: 8pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div> </td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 8pt; font-size: 8pt;"> <div style="margin-bottom: 0px; margin-top: 0px; font-size: 8pt; line-height: 8pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;">Cash</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">91</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accounts Receivable</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,393</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Inventory</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,715</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Property, Plant and Equipment</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,200</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Identifiable Intangible Assets</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Goodwill</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,730</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accounts Payable and Other Current Liabilities</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,484</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total Purchase Price</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space: nowrap; vertical-align: bottom; border-bottom: 2.5pt double black;">$</td> <td style="white-space: nowrap; vertical-align: bottom; border-bottom: 2.5pt double black;;text-align:right;">17,125</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> </table> 91000 3393000 5715000 4200000 3480000 2730000 2484000 17125000 0.0075 0.18 0.19 <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the fair value of the acquired identifiable intangible assets and related estimated useful lives: </div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px; padding-top: 0pt; padding-bottom: 0pt;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 76%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:75%"/> <td style="vertical-align:bottom;width:9%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:9%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="font-weight:bold;display:inline;width:100%;">Fair<br/> Value</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="font-weight:bold;display:inline;width:100%;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="font-weight:bold;display:inline;width:100%;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="font-weight:bold;display:inline;width:100%;">Useful Life<br/> (<div style="letter-spacing: 0px; top: 0px;;display:inline;">y</div>ears)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Customer Relations</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,060</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Trademarks/Tradenames</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">420</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Total</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr></table> 3060000 P5Y 420000 P5Y 3480000 2730000 <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The amounts of revenue and earnings before taxes included in our consolidated statement of income from the period August 4, 2022 (acquisition date) through January 31, 2023 are as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:85%"/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(In thousands)</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Revenue</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,515</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Earnings before Taxes</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,571</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> 12515000 1571000 100000000 200000000 233000000 233000000 234000000 <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The acquired identifiable intangible asset is as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: &quot;Times New Roman&quot;; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 77%;"/> <td style="width: 8%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 8%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"/>(In thousands)<div style="letter-spacing: 0px; top: 0px;;display:inline;"/></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair<br/>Value</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful Life<br/>(Years)</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="font-family: Times New Roman; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"> <td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer Contract Relationships</div></div></div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td> <td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">530</div></td> <td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">20</div></td> <td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr></table> 530000 P20Y 500000 100000 100000 <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Note 3—Revenue Recognition </div></div></div></div><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;text-indent: 0px;;display:inline;">We derive revenue from the sale of (i) hardware including, digital color la<div style="display:inline;">be</div>l printers and specialty OEM printing systems, portable data acquisition systems and airborne printers used in the flight deck and interior of commercial, business and military aircraft, (ii) related consumable supplies including paper, labels, tags, inks, toners and ribbons, (iii) repairs and maintenance of equipment and (iv) service agreements<div style="letter-spacing: 0px; top: 0px;;display:inline;">.</div></div></div></div><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenues disaggregated by primary geographic markets and major product types are as follows: </div></div></div></div></div> <div style="font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Primary geographical markets: </div></div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"><br/></div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:61%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">United States</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">91,917</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">68,185</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">70,911</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Europe</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">31,021</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">31,922</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">29,029</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Canada</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8,393</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,519</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,574</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Asia</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,345</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,926</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,105</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Central and South America</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,589</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,271</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,950</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Other</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,262</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,657</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,464</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Total Revenue</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">142,527</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">117,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">116,033</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td></tr></table><div style="clear:both;max-height:0pt;"/><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div><div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Major product types: </div></div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:61%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Hardware</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">42,445</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">31,492</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">34,111</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Supplies</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">82,072</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">73,244</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">71,772</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Service and Other</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">18,010</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,744</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">10,150</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total Revenue</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">142,527</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">117,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">116,033</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In December 2022, we entered into an amended contract with one of our T&amp;M customers that provided for a total payment of $3.25<div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;text-indent: 0px;;display:inline;"> million to be received as a result of our claims allowable under French law relating to additional component costs we have incurred and will continue to incur in order to supply aerospace printers under the contract for the period beginning in April 2022 and continuing through 2025. As of January 31, 2023, $</div></div>1.1 million was recognized as revenue in the consolidated income statement for the period ended January 31, 2023, in proportion to the total estimated shipments through the end of the contract period. The balance is recorded within deferred revenue, both current and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-current,</div> and will be recognized into revenue based on shipments made of the printers during fiscal years 2024 and 2025. </div> <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Contract Assets and Liabilities </div></div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We normally do not have contract assets, which are primarily unbilled accounts receivable that are conditional on something other than the passage of time. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Our contract liabilities, which represent billings in excess of revenue recognized, are related to advanced billings for purchased service agreements and extended warranties. Contract liabilities were $412,000 and $262,000 at January 31, 2023 and January 31, 2022, respectively, and are recorded as current deferred revenue in the accompanying consolidated balance sheet. The decrease in the deferred revenue balance during the year ended January 31, 2023 is primarily due to $248,000 of revenue recognized during the period that was included in the deferred revenue balance at January 31, 2023 offset by cash payments received in advance of satisfying performance obligations. </div> <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Contract Costs </div></div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We have determined that certain costs related to obtaining sales contracts for our aerospace printer products meet the requirement to be capitalized. In the second quarter of fiscal 2022, we extended the remaining useful life of these deferred costs from 6 years to 20 years and changed the amortization method from units sold to the straight-line method. We believe these changes, based on <div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">the life of the aircraft under the applicable sales contracts, appropriately reflects a more systematic and rational approach. This change was treated as a change in<div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></div><div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">accounting estimate that is affected by a change in accounting principle. The impact on net income was immaterial for the period ended January </div>31<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">, </div>2022<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">. The balance of these contract assets at </div>January 31, 2022<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">, was $</div>1.3<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> million, and in the first quarter of fiscal </div>2023<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> we incurred an additional $</div>0.1<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> million in contract costs that will be amortized over </div>19<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> years. For the years ended January </div>31<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">, </div>2023<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">, </div>2022<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> and </div>2021<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">, we amortized contract costs of $</div>75,000<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">, $</div>60,000 <div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">and $</div>27,000<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">, respectively. The balance of deferred incremental direct costs net of accumulated amortization at January </div>31<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">, </div>2023<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">, was $</div>1.4<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> million, of which $</div>0.1<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> million is reported in other current assets and $</div>1.3<div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> million is reported in ot<div style="display:inline;">her as</div>sets in the accompanying consolidated balance sheet.</div></div> <div style="font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Primary geographical markets: </div></div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"><br/></div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:61%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">United States</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">91,917</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">68,185</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">70,911</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Europe</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">31,021</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">31,922</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">29,029</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Canada</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8,393</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,519</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,574</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Asia</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,345</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,926</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,105</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Central and South America</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,589</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,271</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,950</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Other</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,262</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,657</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,464</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding-top: 0pt; padding-bottom: 0pt; line-height: normal;">Total Revenue</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">142,527</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">117,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">116,033</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); padding-top: 0pt; padding-bottom: 0pt; line-height: normal;"> </div></td> <td> </td></tr></table><div style="clear:both;max-height:0pt;"/><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div><div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Major product types: </div></div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:61%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Hardware</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">42,445</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">31,492</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">34,111</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Supplies</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">82,072</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">73,244</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">71,772</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Service and Other</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">18,010</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,744</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">10,150</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total Revenue</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">142,527</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">117,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">116,033</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 91917000 68185000 70911000 31021000 31922000 29029000 8393000 6519000 5574000 5345000 5926000 5105000 4589000 3271000 3950000 1262000 1657000 1464000 142527000 117480000 116033000 42445000 31492000 34111000 82072000 73244000 71772000 18010000 12744000 10150000 142527000 117480000 116033000 3250000 1100000 412000 262000 248000 P6Y P20Y 1300000 100000 P19Y 75000 60000 27000 1400000 100000 1300000 <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Note 4—Intangibl<div style="display:inline;">e</div> Assets</div></div></div></div><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div> <div style="font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets are as follows: </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: &quot;Times New Roman&quot;; font-size: 9pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 38%;"/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="14" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31, 2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="14" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31, 2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;">(In thousands)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Gross<br/>Carrying<br/>Amount</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated<br/>Amortization</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Currency<br/>Translation<br/>Adjustment</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net<br/>Carrying<br/>Amount</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Gross<br/>Carrying<br/>Amount</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated<br/>Amortization</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Currency<br/>Translation<br/>Adjustment</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net<br/>Carrying<br/>Amount</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td></tr> <tr style="font-family: Times New Roman; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"> <td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Miltope:</div></div></div></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer Contract Relationships</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">3,100</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(2,777</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">323</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">3,100</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(2,515</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">585</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">RITEC:</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer Contract Relationships</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">2,830</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(1,623</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">1,207</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">2,830</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(1,557</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">1,273</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">TrojanLabel:</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Existing Technology</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">2,327</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(2,087</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">94</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">334</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">2,327</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(1,767</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">127</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">687</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Distributor Relations</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">937</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(588</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">27</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">376</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">937</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(498</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">46</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">485</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Honeywell:</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer Contract Relationships</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">27,773</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(11,913</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">15,860</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">27,243</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(11,073</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">16,170</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Astro Machine:</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer Contract Relationships</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">3,060</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(306</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">2,754</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">420</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(42</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">378</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 38%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible Assets, net</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">40,447</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(19,336</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">121</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">21,232</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">36,437</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(17,410</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">173</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">19,200</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 38%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In the second quarter of 2022, we extended the remaining useful life of the pre-existing customer contract relationship intangibles for Honeywell International, Inc. (“Honeywell”) from </div></div>6 years to 20 years and for the RITEC intangibles we changed the amortization method which was based on revenue with a remaining life of 4 years to the straight-line method with a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">20-year</div> remaining life. We believe these changes, based on the life of the aircraft related to these intangibles, appropriately reflects a more systematic and rational approach to distributing the cost of these intangibles over their useful lives. The change in the amortization of the Honeywell customer contract relationship intangibles is being treated as a change in accounting estimate in 2022 and the change in the amortization of the RITEC customer contract relationship intangibles is being treated as a change in accounting estimate in 2022 that is effected by a change in accounting principle. The changes in amortization resulted in a $1.8 million decrease in amortization expense and a $1.8 million increase to net income for the period ended January 31, 2022. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">There were no impairments to intangible assets during the periods ended January 31, 2023 and 2022. Amortization expense of $1.9 million, $2.2 million, and $4.1 million with regard to acquired intangibles has been included in the consolidated statements of income for the years ended January 31, 2023, 2022 and 2021, respectively.<br/></div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Estimated amortization expense for the next <div style="display:inline;">five</div> fiscal years is as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:100%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:64%"/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2025</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2026</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2027</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2028</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Estimated amortization expense</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,378</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,719</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,718</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,7192</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,281</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div> <div style="font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets are as follows: </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: &quot;Times New Roman&quot;; font-size: 9pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 38%;"/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="14" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31, 2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="14" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31, 2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;">(In thousands)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Gross<br/>Carrying<br/>Amount</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated<br/>Amortization</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Currency<br/>Translation<br/>Adjustment</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net<br/>Carrying<br/>Amount</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Gross<br/>Carrying<br/>Amount</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated<br/>Amortization</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Currency<br/>Translation<br/>Adjustment</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net<br/>Carrying<br/>Amount</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td></tr> <tr style="font-family: Times New Roman; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"> <td style="vertical-align: top;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Miltope:</div></div></div></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td> <td style="vertical-align: bottom;"><div style="display:inline;"/></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer Contract Relationships</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">3,100</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(2,777</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">323</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">3,100</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(2,515</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">585</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">RITEC:</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer Contract Relationships</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">2,830</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(1,623</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">1,207</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">2,830</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(1,557</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">1,273</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">TrojanLabel:</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Existing Technology</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">2,327</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(2,087</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">94</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">334</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">2,327</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(1,767</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">127</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">687</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Distributor Relations</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">937</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(588</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">27</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">376</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">937</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(498</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">46</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">485</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Honeywell:</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer Contract Relationships</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">27,773</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(11,913</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">15,860</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">27,243</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(11,073</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">16,170</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Astro Machine:</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer Contract Relationships</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">3,060</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(306</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">2,754</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">420</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(42</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">378</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;"><div style="font-size:9pt;;display:inline;">—  </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 38%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 38%; line-height: 9pt; font-size: 9pt;"><div style="text-indent: -1em; font-family: &quot;Times New Roman&quot;; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible Assets, net</div></div></div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">40,447</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(19,336</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">121</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">21,232</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">36,437</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">(17,410</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">) </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">173</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="vertical-align: bottom; width: 2%; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;">$</div></td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;;text-align:right;">19,200</td> <td style="white-space: nowrap; vertical-align: bottom; line-height: 9pt; font-size: 9pt;"><div style="font-size:9pt;;display:inline;"> </div></td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 38%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> 3100000 2777000 323000 3100000 2515000 585000 2830000 1623000 1207000 2830000 1557000 1273000 2327000 2087000 94000 334000 2327000 1767000 127000 687000 937000 588000 27000 376000 937000 498000 46000 485000 27773000 11913000 15860000 27243000 11073000 16170000 3060000 306000 2754000 420000 42000 378000 40447000 19336000 121000 21232000 36437000 17410000 173000 19200000 P6Y P20Y P4Y P20Y 1800000 1800000 0 0 1900000 2200000 4100000 <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Estimated amortization expense for the next <div style="display:inline;">five</div> fiscal years is as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:100%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:64%"/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2024</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2025</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2026</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2027</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2028</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Estimated amortization expense</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,378</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,719</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,718</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,7192</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,281</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> 2378000 1719000 1718000 17192000 1281000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 5—Inventories </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The components of invento<div style="display:inline;">ries</div> are as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:74%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Materials and Supplies</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">38,387</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">22,709</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Work-in-Progress</div></div></div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,146</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,489</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Finished Goods</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">23,221</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">19,718</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">62,754</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">43,916</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Inventory Reserve</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(11,430</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(9,307</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">51,324</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">34,609</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Finished goods inventory includes $2.3 million and $3.4 million of demonstration equipment at January 31, 2023 and 2022, respectively. </div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The components of invento<div style="display:inline;">ries</div> are as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:74%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Materials and Supplies</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">38,387</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">22,709</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Work-in-Progress</div></div></div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,146</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,489</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Finished Goods</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">23,221</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">19,718</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">62,754</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">43,916</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Inventory Reserve</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(11,430</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(9,307</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">51,324</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">34,609</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 38387000 22709000 1146000 1489000 23221000 19718000 62754000 43916000 11430000 9307000 51324000 34609000 2300000 3400000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 6—Property, Plant and Equipment </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Property, plant and equipment consist of the following: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:72%"/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Land and Land Improvements</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,304</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,004</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Buildings and Leasehold Improvements</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,158</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,666</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Machinery and Equipment</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">24,960</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">23,238</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Computer Equipment and Software</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13,972</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13,913</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Gross Property, Plant and Equipment</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">55,394</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">50,821</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accumulated Depreciation</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(41,106</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(39,380</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net Property Plant and Equipment</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,288</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11,441</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Depreciation expense on property, plant and equipment was $2.0 million for the year ended January 31, 2023 and $1.7 million and $1.9 million for the years ended January 31, 2022 and 2021, respectively. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">During fiscal 2022, we <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">wrote-off</div> our Oracle EnterpriseOne enterprise resource planning (“ERP”) system due to the full implementation of a new ERP system in our US operations. The book value and related accumulated depreciation of the Oracle EnterpriseOne ERP system along with the balance of the related prepaid service and maintenance contracts were removed from the accompanying consolidated balance sheet at January 31, 2022, and we have recorded a net loss on the disposal of $696,000, which is included in other income (expense) in the accompanying consolidated income statement for the year ended January 31, 2022. </div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Property, plant and equipment consist of the following: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:72%"/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Land and Land Improvements</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,304</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,004</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Buildings and Leasehold Improvements</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,158</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,666</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Machinery and Equipment</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">24,960</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">23,238</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Computer Equipment and Software</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13,972</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13,913</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Gross Property, Plant and Equipment</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">55,394</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">50,821</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accumulated Depreciation</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(41,106</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(39,380</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net Property Plant and Equipment</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,288</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11,441</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 2304000 1004000 14158000 12666000 24960000 23238000 13972000 13913000 55394000 50821000 41106000 39380000 14288000 11441000 2000000 1700000 1900000 696000 <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 7—Accrued Expenses </div></div> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued expenses consist of the following: </div></div></div> <div style="letter-spacing: 0px; top: 0px; background: none;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px; background: none; text-decoration: none;;display:inline;"> </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><br/></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 78%;"/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="font-size: 0px;"> <td style="width:78%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Warranty</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,072</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">834</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Professional Fees</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">311</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">411</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Freight</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">347</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><span style="-sec-ix-hidden:hidden75771655">Lease</span> <span style="-sec-ix-hidden:hidden75771656">Liability</span></div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">275</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">327</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accrued Property &amp; Sales Tax</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">187</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">316</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stockholder Relation Fees</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">86</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">102</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Dealer Commissions</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">78</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">139</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Accrued Expenses</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,299</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,637</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 78%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,308</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,113</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 78%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued expenses consist of the following: </div></div></div> <div style="letter-spacing: 0px; top: 0px; background: none;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px; background: none; text-decoration: none;;display:inline;"> </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><br/></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 78%;"/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="font-size: 0px;"> <td style="width:78%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Warranty</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,072</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">834</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Professional Fees</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">311</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">411</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Freight</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">347</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><span style="-sec-ix-hidden:hidden75771655">Lease</span> <span style="-sec-ix-hidden:hidden75771656">Liability</span></div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">275</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">327</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accrued Property &amp; Sales Tax</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">187</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">316</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stockholder Relation Fees</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">86</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">102</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Dealer Commissions</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">78</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">139</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Accrued Expenses</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,299</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,637</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 78%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,308</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,113</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 78%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> 1072000 834000 311000 411000 0 347000 275000 327000 187000 316000 86000 102000 78000 139000 1299000 1637000 3308000 4113000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 8—Credit Agreement and Long-Term Debt </div></div> <div style="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Credit Agreement </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In connection with the purchase of Astro Machine, on August 4, 2022, we entered into a Second Amendment to Amended and Restated Credit Agreement (the “Second Amendment”) with Bank of America, N.A., as lender (the “Lender”). The Second Amendment amended the Amended and Restated Credit Agreement dated as of July 30, 2020, as amended by the First Amendment to Amended and Restated Credit Agreement, dated as of March 24, 2021, and the LIBOR Transition Amendment, dated as of December 24, 2021 (the “Existing Credit Agreement,” and the Existing Credit Agreement as amended by the Second Amendment, the “Amended Credit Agreement”), between the Company and the Lender. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Amended Credit Agreement provides for (i) a new term loan in the principal amount of $6.0 million, which term loan was in addition to the existing term loan outstanding under the Existing Credit Agreement in the principal amount of $9.0 million as of the effective date of the Second Amendment, and (ii) an increase in the aggregate principal amount of the revolving credit facility available thereunder from $22.5 million to $25.0 million. At the closing of the Second Amendment, we borrowed the entire $6.0 million term loan and $12.4 million under the revolving credit facility, and the proceeds of such borrowings were used in part to pay the purchase price payable under the Purchase Agreement and certain related transaction costs. The revolving credit facility may otherwise be used for corporate purposes. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Amended Credit Agreement requires that the term loan be paid in quarterly installments on the last day of each of our fiscal quarters over the term of the Amended Credit Agreement on the following repayment schedule: the principal amount of each quarterly installment required to be paid on the last day of each of our fiscal quarters ending on or about October 31, 2022 through July 31, 2023 is $375,000; and the principal amount of each quarterly installment required to be paid on the last day of each of our fiscal quarters ending on or about October 31, 2023 through April 30, 2027 is $675,000. The entire remaining principal balance of the term loan is required to be paid on August 4, 2027. We may voluntarily prepay the term loan, in whole or in part, from time to time without premium or penalty (other than customary breakage costs, if applicable). We may repay borrowings under the revolving credit facility at any time without premium or penalty (other than customary breakage costs, if applicable), but in any event no later than August 4, 2027, and any outstanding revolving loans thereunder will be due and payable in full, and the revolving credit facility will terminate, on such date. We may reduce or terminate the revolving line of credit at any time, subject to certain thresholds and conditions, without premium or penalty. <br/></div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The interest rates under the Amended Credit Agreement are as follows: the term loan and revolving credit loans bear interest at a rate per annum equal to, at our option, either (a) the BSBY Rate as defined in the </div></div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; margin-left: 0in;">Amended Credit Agreement (or, in the case of revolving credit loans denominated in a currency other than U.S. Dollars, the applicable quoted rate), plus a margin that varies within a range of 1.60% to 2.50% based on our consolidated leverage ratio, or (b) a fluctuating reference rate equal to the highest of (i) the federal fund rate plus 0.50%, (ii) Bank of America’s publicly announced prime rate, (iii) the BSBY Rate plus 1.00%, or (iv) 0.50%, plus a margin that varies within a range of 0.60% to 1.50% based on our consolidated leverage ratio. In addition to certain other fees and expenses that we are required to pay to the Lender, we are required to pay a commitment fee on the undrawn portion of the revolving credit facility that varies within a range of 0.15% and 0.35% based on our consolidated leverage ratio. The loans under the Amended Credit Agreement are subject to certain mandatory prepayments, subject to various exceptions, from (a) net cash proceeds from certain dispositions of property, (b) net cash proceeds from certain issuances of equity, (c) net cash proceeds from certain issuances of additional debt and (d) net cash proceeds from certain extraordinary receipts. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Amounts repaid under the revolving credit facility may be reborrowed, subject to our continued compliance with the Amended Credit Agreement. No amount of the term loan that is repaid may be reborrowed. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We must comply with various customary financial and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-financial</div> covenants under the Amended Credit Agreement. The financial covenants under the Amended Credit Agreement consist of a maximum consolidated leverage ratio, a minimum consolidated fixed charge coverage ratio and a minimum consolidated asset coverage ratio. The primary <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-financial</div> covenants limit our and our subsidiaries’ ability to incur future indebtedness, to place liens on assets, to pay dividends or distributions on our or our subsidiaries’ capital stock, to repurchase or acquire our or our subsidiaries’ capital stock, to conduct mergers or acquisitions, to sell assets, to alter our or our subsidiaries’ capital structure, to make investments and loans, to change the nature of our or our subsidiaries’ business, and to prepay subordinated indebtedness, in each case subject to certain exceptions and thresholds as set forth in the Amended Credit Agreement, certain of which provisions were modified by the Second Amendment. As of January 31, 2023, we believe we are in compliance with all of the covenants in the Credit Agreement. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Lender is entitled to accelerate repayment of the loans and to terminate its revolving credit commitment under the Amended Credit Agreement upon the occurrence of any of various customary events of default, which include, among other events, the following (which are subject, in some cases, to certain grace periods): failure to pay when due any principal, interest or other amounts in respect of the loans, breach of any of our covenants or representations under the loan documents, default under any other of our or our subsidiaries’ significant indebtedness agreements, a bankruptcy, insolvency or similar event with respect to us or any of our subsidiaries, a significant unsatisfied judgment against us or any of our subsidiaries, or a change of control. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Our obligations under the Amended Credit Agreement continue to be secured by substantially all of our personal property assets (including a pledge of the equity interests we hold in ANI ApS, AstroNova GmbH and AstroNova SAS), subject to certain exceptions, and by a mortgage on our owned real property in West Warwick, Rhode Island, and are guaranteed by, and secured by substantially all of the personal property assets of Astro Machine. </div><div style="margin-top: 18pt; margin-bottom: 0pt; margin-left: 4%; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Summary of Outstanding Debt </div></div><div style="margin-top:6pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revolving Credit Facility </div></div></div><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">During fiscal 2023 we borrowed a net of $15.9 million on our revolving line of credit. The balance outstanding under the revolving line of credit bore interest at a weighted average rate of 6.71% and 4.10% for the years ended January 31, 2023 and January 31, 2022, respectively, and we incurred $752,000 and $4,000 for interest on this obligation during the years ended January 31, 2023 and January 31, 2022, respectively. Commitment fees on the undrawn portion of our revolving credit facility of $30,000 and $50,000 were incurred for the yea<div style="background-color:#ffffff;;display:inline;">rs ended January 31</div><div style="background-color:#ffffff;;display:inline;">, 2023</div><div style="background-color:#ffffff;;display:inline;"> and January 31</div><div style="background-color:#ffffff;;display:inline;">, 2022</div><div style="background-color:#ffffff;;display:inline;">, respectively. Both the interest expense and commitment fees are included as interest expense in the accompanying consolidated income statement for all periods presented. At January 31</div><div style="background-color:#ffffff;;display:inline;">, 2023</div><div style="background-color:#ffffff;;display:inline;">, $</div><div style="background-color:#ffffff;;display:inline;">9.1</div><div style="background-color:#ffffff;;display:inline;"> million remains available for borrowing under our revolving line of credit.</div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div><div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 4%;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Long-Term Debt </div></div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Long-term debt in the accompanying condensed consolidated balance sheets under the Amended Credit Agreement is as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:74%"/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">USD Term Loan (6.78% as of January 31, 2023); maturity date of August 4, 2027</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">USD Term Loan (2.35% as of January 31, 2022); maturity date of September 30, 2025</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Debt Issuance Costs, net of accumulated amortization</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(110</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(96</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Current Portion of Term Loan</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,100</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,000</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Long-Term Debt</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,040</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8,154</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">During the years ended January 31, 2023, 2022 and 2021, we recognized $0.6 million, $0.3 million and $0.5 million of interest expense on our long-term debt, respectively, which was included in interest expense in the accompanying consolidated income statement for all periods presented. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The schedule of required principal payments remaining on our long-term debt outstanding as of January 31, 2023 is as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:85%"/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Fiscal 2024</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,100</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Fiscal 2025</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,700</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Fiscal 2026</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,700</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Fiscal 2027</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,700</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Fiscal 2028</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,050</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 6000000 9000000 22500000 25000000 6000000 12400000 375000000 675000000 0.016 0.025 0.005 0.01 0.50 0.006 0.015 0.0015 0.0035 15900000 0.0671 0.041 752000000 4000000 30000000 50000000 9100000 <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Long-term debt in the accompanying condensed consolidated balance sheets under the Amended Credit Agreement is as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:74%"/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">USD Term Loan (6.78% as of January 31, 2023); maturity date of August 4, 2027</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">USD Term Loan (2.35% as of January 31, 2022); maturity date of September 30, 2025</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Debt Issuance Costs, net of accumulated amortization</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(110</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(96</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Current Portion of Term Loan</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,100</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,000</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Long-Term Debt</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,040</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8,154</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 14250000 0 0 9250000 14250000 9250000 110000 96000 2100000 1000000 12040000 8154000 600000 300000 500000 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The schedule of required principal payments remaining on our long-term debt outstanding as of January 31, 2023 is as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:68%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:85%"/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Fiscal 2024</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,100</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Fiscal 2025</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,700</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Fiscal 2026</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,700</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Fiscal 2027</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,700</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Fiscal 2028</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,050</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 2100000 2700000 2700000 2700000 4050000 14250000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 9—Paycheck Protection Program Loan </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On May 6, 2020, we entered into a loan agreement with, and executed a promissory note in favor of Greenwood pursuant to which we borrowed $4.4 million (the “PPP Loan”) from Greenwood under the Paycheck Protection Program (“PPP”) administered by the SBA and authorized by the CARES Act. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The PPP Loan, originally scheduled to mature on May 6, 2022, was unsecured and bore interest at a rate of 1.0% per annum, accruing from the loan date. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On June 15, 2021, Greenwood notified us that the SBA approved our application for forgiveness of the entire $4.4 million principal balance of our PPP Loan and all accrued interest thereon. As a result, in the second quarter of fiscal 2022, we recorded a $4.5 million gain on extinguishment of debt, which is included in the accompanying consolidated income statement for the period ended January 31, <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2022. </div></div></div> 4400000 The PPP Loan, originally scheduled to mature on May 6, 2022, was unsecured and bore interest at a rate of 1.0% per annum, accruing from the loan date. 2022-05-06 0.01 4400000 4500000 <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Note 10—Derivative Financial Instruments and Risk Management </div></div></div></div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In 2017, we entered into a cross-currency interest rate swap and an interest rate swap to manage the interest rate risk. </div></div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On July 30, 2020, we terminated these two swaps. The terms of the Amended and Restated Credit Agreement dated as of July 30, 2020, caused those swaps to cease to be effective hedges of the underlying exposures. The termination of the swaps was contracted immediately prior to the end of the second quarter of fiscal 2021 at a cash cost of approximately $0.7 million which was settled in the third quarter of fiscal 2021. Upon termination, the remaining balance of $58,000 in accumulated other comprehensive loss related to the cross-currency interest rate swap was reclassified into earnings as the forecasted foreign currency interest payments will not occur. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The $0.2 million remaining balance in accumulated other comprehensive loss related to the interest rate swap was amortized into earnings through the original term of the hedge relationship as the underlying floating interest rate debt still exists. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">At January 31, 2023, we have fully reclassified all of the net losses on the frozen other comprehensive income balance from accumulated other comprehensive loss to earnings associated with the terminated interest rate swap due to the payment of variable interest associated with the floating interest rate debt. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following tables present the impact of the derivative instruments in our consolidated financial statements for the years ended January 31, 2023 and 2022: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:100%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:41%"/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="18" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Years Ended</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td rowspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;white-space:nowrap"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Cash Flow Hedge</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">(In thousands)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount of Gain(Loss)<br/> Recognized in OCI<br/> on<br/> Derivative</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" rowspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Location of Gain (Loss)<br/> Reclassified from<br/> Accumulated OCI into<br/> Income</div></div></td> <td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount of Gain (Loss)<br/> Reclassified from<br/> Accumulated OCI into<br/> Income</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Swap contracts</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">Other Income</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(59</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(79</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 700000 58000 200000 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following tables present the impact of the derivative instruments in our consolidated financial statements for the years ended January 31, 2023 and 2022: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:100%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:41%"/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="18" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Years Ended</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td rowspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;white-space:nowrap"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Cash Flow Hedge</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">(In thousands)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount of Gain(Loss)<br/> Recognized in OCI<br/> on<br/> Derivative</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" rowspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Location of Gain (Loss)<br/> Reclassified from<br/> Accumulated OCI into<br/> Income</div></div></td> <td rowspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount of Gain (Loss)<br/> Reclassified from<br/> Accumulated OCI into<br/> Income</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Swap contracts</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">Other Income</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(59</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(79</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 0 0 Other Income -59000 -79000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 11—Employee Retention Credit </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The CARES Act provides an employee retention credit (“ERC”) that is a refundable tax credit against certain employer taxes. On December 27, 2020, Congress enacted the Taxpayer Certainty and Disaster Tax Relief Act of 2020, which amended and extended ERC availability under Section 2301 of the CARES Act. Before the enactment of the Taxpayer Certainty and Disaster Tax Relief Act of 2020, we were ineligible for the ERC because we received the PPP Loan. Following enactment of the Taxpayer Certainty and Disaster Tax Relief Act of 2020, we and other businesses that received loans under that program became retroactively eligible for the ERC. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">As a result of the foregoing legislation, we were eligible to claim a refundable tax credit against the employer share of Social Security taxes equal to seventy percent (70%) of the qualified wages that we paid to our employees between December 31, 2020 and June 30, 2021. Qualified wages are limited to $10,000 per employee per calendar quarter in 2021 for a maximum ERC per employee of $7,000 per calendar quarter in 2021. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">We evaluated our eligibility for the ERC in the second quarter of calendar year 2021</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">. In order to qualify for the ERC, we needed to experience a </div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">20</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">% reduction in gross receipts from either (1)</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> the same quarter in calendar year 2019</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> or (2)</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> the immediately preceding quarter to the corresponding calendar quarter in 2019</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">. We determined that we qualified for the employee retention credit under the first scenario for wages paid in calendar year 2020</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> and the first calendar quarter of 2021</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">. In the second quarter of the current year, we amended certain payroll tax filings and applied for a refund of $</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">3.1</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> </div><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">million. Since there is no US GAAP guidance for </div><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">for-profit</div></div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> business entities that receive government assistance that is not in the form of a loan, an income tax credit or revenue from a contract with a customer, we determined the appropriate accounting treatment by analogy to other guidance. We accounted for the employee retention credit by analogy to International Accounting Standards (IAS) 20, Accounting for Government Grants and Disclosure of Government Assistance, of </div></div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div></div> <div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"/></div></div></div> <div style="font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">International Financial Reporting Standards (IFRS). Under an IAS 20 analogy, a business entity would recognize the credit on a systematic basis over the periods in which the entity recognizes the payroll expenses for which the grant (i.e., tax credit) is intended to compensate when there is reasonable assurance (i.e., it is probable) that the entity will comply with any conditions attached to the grant and the grant (i.e., tax credit) will be received. </div></div></div></div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">We recorded a $</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">3.1</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> million receivable in the second quarter of fiscal 2022</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> for the ERC receivable, which was outstanding as of January 31</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">, 2022</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> and is included as such in the accompanying consolidated balance sheet. The $</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;">3.1</div><div style="background-color: rgb(255, 255, 255); letter-spacing: 0px; top: 0px;;display:inline;"> mil</div>lion of ERCs was recognized as a reduction in employer payroll taxes and allocated to the financial statement captions from which the employee’s taxes were originally incurred. As a result, we recorded a reduction in expenses of $1.7 million in cost of revenue, $0.8 million in selling and marketing, $0.3 million in research and development and $0.3 million in general and administrative which is reflected in the accompanying consolidated income statement for the year ended January 31, 2022. On March 22, 2022, we received the $3.1 million for the ERC. </div> -0.70 10000000 7000000 0.20 3100000 3100000 3100000 1700000 800000 300000 300000 3100000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 12—Royalty Obligation </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In fiscal 2018, AstroNova, Inc. entered into an Asset Purchase and License Agreement with Honeywell International, Inc. to acquire an exclusive, perpetual, world-wide license to manufacture Honeywell’s narrow-format flight deck printers for two aircraft families along with certain inventory used in the manufacturing of the licensed printers. The purchase price included a guaranteed minimum royalty payment of $15.0 million, to be paid in quarterly installments over a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">ten-year</div> period. Royalty payments are based on gross revenues from the sales of the printers, paper and repair services of the licensed products. The royalty rates vary based on the year in which they are paid or earned and product sold or service provided, and range from single-digit to mid double-digit percentages of gross revenue. </div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;text-indent: 0px;;display:inline;">The guaranteed minimum royalty payment obligation was recorded at the present value of the minimum annual royalty payments. As of January 31, 2023, we had paid an aggregate of $</div></div>9.5 million of the guaranteed minimum royalty obligation. At January 31, 2023, the current portion of the outstanding guaranteed minimum royalty obligation of $1.6 million is to be paid over the next twelve months and is reported as a current liability and the remainder of $3.0 million is reported as a long-term liability on our consolidated balance sheet. In addition to the guaranteed minimum royalty payments, for the periods ended January 31, 2023 and January 31, 2022, we also incurred excess royalty expense of $1.3 million and $0.5 million, respectively, which is included in cost of revenue in our consolidated statements of income. A total of $0.4 million of excess royalty is payable and reported as a current liability on our consolidated balance sheet at January 31, 2023.</div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In fiscal 2023, AstroNova, Inc. entered into a second Asset Purchase and License Agreement with Honeywell International, Inc. as further discussed in Note 2. </div></div></div> 15000000 P10Y 9500000 1600000 3000000 1300000 500000 400000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 13—Leases </div></div> <div style="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">We enter into lease contracts for certain of our facilities at various locations worldwide. Our leases have remaining lease terms of one to six years, some of which include options to extend the lease term for periods of up to five years when it is reasonably certain that we will exercise such options. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Balance sheet and other information related to our leases is as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:43%"/> <td style="vertical-align:bottom;width:7%"/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="border-bottom:1.00pt solid #000000;vertical-align:bottom;white-space:nowrap"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Operating Leases</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">(In thousands)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Balance Sheet Classification</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Lease Assets</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom;white-space:nowrap;text-align:center;">Right of Use Assets</td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">794</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,094</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Lease Liabilities—Current</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom;white-space:nowrap;text-align:center;">Other Accrued Expenses</td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">275</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">327</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Lease Liabilities—Long Term</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom;white-space:nowrap;text-align:center;">Lease Liabilities</td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">555</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">808</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> <div style="clear:both;max-height:0pt;"/><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div><div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease cost information is as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: &quot;Times New Roman&quot;; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 41%;"/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; white-space: nowrap; border-bottom: 1pt solid rgb(0, 0, 0);"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating Leases</div></div></div></div><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"/>(In thousands)<div style="letter-spacing: 0px; top: 0px;;display:inline;"/></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Statement of Income Classification</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating Lease Costs</div></td> <td style="vertical-align: bottom;;width:4%;">  </td> <td style="vertical-align:bottom;white-space:nowrap;text-align:center;"><div style="line-height: normal; margin-bottom: 0px; margin-top: 0px;"> </div></td> <td style="vertical-align: bottom; white-space: nowrap; text-align: right;">General and Administrative Expense</td> <td style="vertical-align:bottom"><div style="line-height: normal; margin-bottom: 0px; margin-top: 0px;"> </div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space: nowrap; vertical-align: bottom;;text-align:right;;width:4%;">460</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space: nowrap; vertical-align: bottom;;text-align:right;;width:4%;">510</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> <div style="text-indent: 4%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At January 31, 2023, maturities of operating lease liabilities <div style="display:inline;">are </div>as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:89%"/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom;white-space:nowrap"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">(In thousands)</div></td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2024</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">302</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2025</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">199</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2026</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">154</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2027</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">149</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2028</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">92</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Thereafter</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total Lease Payments</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">896</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Less: Imputed Interest</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(66</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total Lease Liabilities</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">830</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">As of January 31, 2023, the weighted-average remaining lease term and weighted-average discount rate for our operating leases are 3.8 years and 3.87%, respectively. We calculated the weighted-average discount rate using incremental borrowing rates, which equal the rates of interest that we would pay to borrow funds on a fully collateralized basis over a similar term. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Supplemental cash flow information related to leases is as follows: </div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 8pt; width: 68%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width: 78%;"/> <td style="vertical-align: bottom; width: 7%;"/> <td/> <td/> <td/> <td style="vertical-align: bottom; width: 7%;"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(In thousands)</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cash paid for operating lease liabilities</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">314</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">372</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Balance sheet and other information related to our leases is as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:43%"/> <td style="vertical-align:bottom;width:7%"/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="border-bottom:1.00pt solid #000000;vertical-align:bottom;white-space:nowrap"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Operating Leases</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">(In thousands)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Balance Sheet Classification</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,<br/> 2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Lease Assets</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom;white-space:nowrap;text-align:center;">Right of Use Assets</td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">794</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,094</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Lease Liabilities—Current</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom;white-space:nowrap;text-align:center;">Other Accrued Expenses</td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">275</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">327</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Lease Liabilities—Long Term</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom;white-space:nowrap;text-align:center;">Lease Liabilities</td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">555</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">808</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> 794000 1094000 275000 327000 555000 808000 <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease cost information is as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: &quot;Times New Roman&quot;; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 41%;"/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; white-space: nowrap; border-bottom: 1pt solid rgb(0, 0, 0);"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating Leases</div></div></div></div><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"/>(In thousands)<div style="letter-spacing: 0px; top: 0px;;display:inline;"/></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Statement of Income Classification</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="display:inline;"> </div></td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating Lease Costs</div></td> <td style="vertical-align: bottom;;width:4%;">  </td> <td style="vertical-align:bottom;white-space:nowrap;text-align:center;"><div style="line-height: normal; margin-bottom: 0px; margin-top: 0px;"> </div></td> <td style="vertical-align: bottom; white-space: nowrap; text-align: right;">General and Administrative Expense</td> <td style="vertical-align:bottom"><div style="line-height: normal; margin-bottom: 0px; margin-top: 0px;"> </div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space: nowrap; vertical-align: bottom;;text-align:right;;width:4%;">460</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space: nowrap; vertical-align: bottom;;text-align:right;;width:4%;">510</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> 460000 510000 <div style="text-indent: 4%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At January 31, 2023, maturities of operating lease liabilities <div style="display:inline;">are </div>as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width:89%"/> <td style="vertical-align:bottom;width:7%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom;white-space:nowrap"><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">(In thousands)</div></td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2024</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">302</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2025</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">199</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2026</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">154</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2027</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">149</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2028</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">92</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Thereafter</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total Lease Payments</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">896</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Less: Imputed Interest</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(66</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total Lease Liabilities</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">830</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 302000 199000 154000 149000 92000 0 896000 66000 830000 P3Y9M18D 0.0387 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Supplemental cash flow information related to leases is as follows: </div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 8pt; width: 68%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width: 78%;"/> <td style="vertical-align: bottom; width: 7%;"/> <td/> <td/> <td/> <td style="vertical-align: bottom; width: 7%;"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(In thousands)</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 78%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cash paid for operating lease liabilities</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">314</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">372</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> 314000 372000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 14—Accumulat<div style="display:inline;">ed O</div>ther Comprehensive Loss </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The changes in the balance of accumulated other comprehensive loss by component are as follows: </div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 92%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width: 60%;"/> <td style="vertical-align: bottom; width: 8%;"/> <td/> <td/> <td/> <td style="vertical-align: bottom; width: 8%;"/> <td/> <td/> <td/> <td style="vertical-align: bottom; width: 8%;"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Foreign Currency<br/> Translation<br/> Adjustments</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net<br/> Unrealized<br/> Gain (Losses)<br/> on Cash Flow<br/> Hedges</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance at January 31, 2020</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(985</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(108</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,093</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Income (Loss) before reclassification</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">710</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(239</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">471</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Amounts Reclassified from AOCI to Earnings</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">193</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">193</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cross-Currency Interest Rate Swap Termination</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">45</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">45</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Income (Loss)</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">710</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">709</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance at January 31, 2021</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(275</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(109</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(384</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Loss before reclassification</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,426</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,426</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Amounts Reclassified from AOCI to Earnings</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">62</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">62</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Income (Loss)</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,426</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">62</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,364</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance at January 31, 2022</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,701</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(47</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,748</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Income (Loss) before reclassification</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(537</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(537</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Amounts reclassified from AOCI to Earnings</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">47</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">47</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Income (Loss)</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(537</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">47</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(490</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance at January 31, 2023</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,238</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,238</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div><div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/><div/><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The amounts presented above in other comprehensive income (loss) are net of taxes except for translation adjustments associated with our German, Danish and Shanghai subsidiaries. </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The changes in the balance of accumulated other comprehensive loss by component are as follows: </div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 92%; border: 0px; margin: 0px auto; border-spacing: 0px;"> <tr style="font-size: 0px;"> <td style="width: 60%;"/> <td style="vertical-align: bottom; width: 8%;"/> <td/> <td/> <td/> <td style="vertical-align: bottom; width: 8%;"/> <td/> <td/> <td/> <td style="vertical-align: bottom; width: 8%;"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Foreign Currency<br/> Translation<br/> Adjustments</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net<br/> Unrealized<br/> Gain (Losses)<br/> on Cash Flow<br/> Hedges</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0);;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance at January 31, 2020</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(985</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(108</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,093</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Income (Loss) before reclassification</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">710</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(239</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">471</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Amounts Reclassified from AOCI to Earnings</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">193</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">193</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cross-Currency Interest Rate Swap Termination</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">45</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">45</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Income (Loss)</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">710</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">709</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance at January 31, 2021</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(275</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(109</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(384</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Loss before reclassification</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,426</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,426</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Amounts Reclassified from AOCI to Earnings</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">62</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">62</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Income (Loss)</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,426</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">62</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,364</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance at January 31, 2022</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,701</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(47</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,748</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Income (Loss) before reclassification</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(537</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(537</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Amounts reclassified from AOCI to Earnings</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">47</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">47</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Comprehensive Income (Loss)</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(537</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">47</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(490</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 60%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance at January 31, 2023</div></td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,238</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,238</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 60%;"> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 8%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> -985000 -108000 -1093000 710000 -239000 471000 -193000 -193000 -45000 -45000 710000 -1000 709000 -275000 -109000 -384000 -1426000 -1426000 -62000 -62000 -1426000 62000 -1364000 -1701000 -47000 -1748000 -537000 -537000 -47000 -47000 -537000 47000 -490000 -2238000 -2238000 <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Note 15—Shareholders’ Equity </div></div></div></div><div style="font-weight:bold;display:inline;"> </div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">During fiscal years 2023 and 2022, certain of our employees delivered a total of 17,752 and 27,222 shares, respectively, of our common stock to satisfy the exercise price and related taxes for stock options exercised and restricted stock vesting. The shares delivered were valued at a total of $0.3 million and $0.4 millio<div style="display:inline;">n, resp</div>ectively, and are included in treasury stock in the accompanying consolidated balance sheets<div style="letter-spacing: 0px; top: 0px;;display:inline;"> a</div>t January 31, 2023 and 2022. These transactions did not impact the number of shares authorized for repurchase under our current repurchase program. </div> 17752 27222 300000 400000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 16—Share-Based Compensation </div></div><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company maintains the following share-based compensation plans: </div><div style="margin-top:18pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Stock Plans: </div></div></div><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We have one equity incentive plan from which we are authorized to grant equity awards, the AstroNova, Inc. 2018 Equity Incentive Plan (the “2018 Plan”). The 2018 Plan provides for, among other things, the issuance of awards, including incentive stock options, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-qualified</div> stock options, stock appreciation rights, time-based restricted stock units (“RSUs”), or performance-based restricted stock units (“PSUs”) and restricted stock awards (RSAs). The 2018 Plan authorizes the issuance of up to 950,000 shares of common stock, plus an additional number of shares equal to the number of shares subject to awards granted under the previous equity incentive plans that are forfeited, cancelled, satisfied without the issuance of stock, otherwise terminated (other than by exercise), or, for shares of stock issued pursuant to any unvested award, that are reacquired by us at not more than the grantee’s purchase price (other than by exercise). Under the 2018 Plan, all awards to employees generally have a minimum vesting period of one year. Options granted under the 2018 Plan must be issued at an exercise price of not less than the fair market value of our common stock on the date of grant and expire after ten years. Under the 2018 Plan, there were 124,962 unvested RSUs; 128,793 unvested PSUs; 21,172 unvested RSAs and options to purchase an aggregate of 135,500 shares outstanding as of January 31, 2023. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In addition to the 2018 Plan, we previously granted equity awards under our 2015 Equity Incentive Plan (the “2015 Plan”) and our 2007 Equity Incentive Plan (the “2007 Plan”). No new awards may be issued under either the 2007 or 2015 Plans, but outstanding awards will continue to be governed by those plans. As of January 31, 2023, options to purchase an aggregate of 276,574 shares were outstanding under the 2007 Plan and options to purchase an aggregate of 135,125 shares were outstanding under the 2015 Plan. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We also have a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Employee</div> Director Annual Compensation Program (the “Program”), under which each of our <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-employee</div> directors automatically receives a grant of restricted stock on the date of their <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">re-election</div> to our board of directors. The number of whole shares granted is equal to the number calculated by dividing the stock component of the director compensation amount determined by the compensation committee for that year by the fair market value of our stock on that day. The value of the restricted stock award for fiscal 2023 was $65,000. Shares of restricted stock granted under the Program become vested on the first anniversary of the date of grant, conditi<div style="display:inline;">one</div>d upon the recipient’s continued service on our board of directors through that date.</div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div><div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;;font-weight: bold;"/><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 4%;;text-indent: 0px;"><div style="display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Share-Based Compensation: </div></div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Share-based compensation expense has been recognized as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:70%"/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="10" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Years Ended January 31</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock Options</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">210</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">517</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Restricted Stock Awards and Restricted Stock Units</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,271</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,266</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,285</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Employee Stock Purchase Plan</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,290</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,493</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,819</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt; margin-left: 4%; text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Stock Options: </div></div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Aggregated information regarding stock options granted under the plans is summarized below: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width: 72%;"/> <td style="vertical-align: bottom; width: 6%;"/> <td/> <td/> <td/> <td style="vertical-align: bottom; width: 6%;"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Number<br/> of Shares</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-<br/> Average<br/> Exercise<br/> Price Per<br/> Share</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Outstanding, January 31, 2020</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">679,044</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.46</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Granted</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Exercised</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,200</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7.60</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Forfeited</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(54,361</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12.89</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Cancelled</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,400</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7.36</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 72%;"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Outstanding, January 31, 2021</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">622,083</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.63</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Granted</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Exercised</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(6,425</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9.34</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Forfeited</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(17,615</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15.09</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Cancelled</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 72%;"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Outstanding, January 31, 2022</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">598,043</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.67</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Granted</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Exercised</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(42,944</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8.74</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Forfeited</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(5,500</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15.42</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Cancelled</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,400</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8.09</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 72%;"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Outstanding, January 31, 2023</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">547,199</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15.16</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 72%;"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Set forth below is a summary of options outstanding at January 31, 2023: </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 34%;"/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td colspan="12" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Outstanding</div></div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Exercisable</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Range of</div></div></div></div><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Exercise prices</div></div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Number of<br/>Shares</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-<br/>Average<br/>Exercise Price</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-<br/>Average<br/>Remaining<br/>Contractual Life</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Number of<br/>Shares</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-<br/>Average<br/>Exercise Price</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="font-size: 0px;"> <td style="width:34%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 34%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">$5.00-10.00</div></div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 34%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">$10.01-15.00</div></div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">332,849</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13.68</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2.9</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">332,849</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13.68</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2.9</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 34%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">$15.01-20.00</div></div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">214,350</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17.45</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4.8</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">214,350</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17.45</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4.8</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 34%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 34%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">547,199</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15.16</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3.7</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">547,199</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15.16</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3.7</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 34%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">No options were granted during fiscal 2023 or fiscal 2022. As of January 31, 2023, there was no unrecognized compensation expense related to the unvested stock options granted under the plans<div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">. </div></div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">As of January 31, 2023, the aggregate intrinsic value (the aggregate difference between the closing stock price of our common stock on January 31, 2023, and the exercise price of the outstanding options) that would have been received by the option holders if all options had been exercised was $50,000 for all exercisable options and all options outstanding. The total aggregate intrinsic value of options exercised during fiscal 2023, 2022 and 2021 was $200,000, $26,000, and $4,000, <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">respectively. </div></div><br/></div><div style="font-family: Times New Roman; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt; margin-left: 4%;;text-indent: 0px;"><div style="display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Restricted Stock Units, Performance-Based Restricted Stock Units and Restricted Stock Awards : </div></div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Aggregated information regarding RSUs, PSUs and RSAs granted under the Plan is summarized below: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:55%"/> <td style="vertical-align:bottom;width:14%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:14%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">RSUs, PSUs &amp;<br/> RSAs</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-Average<br/> Grant Date Fair Value</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Outstanding at January 31, 2020</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">134,634</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">16.79</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Granted</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">245,131</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7.61</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Vested</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(64,997</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17.28</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Forfeited</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(117,355</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8.83</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Outstanding at January 31, 2021</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">197,413</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9.96</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Granted</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">151,406</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.51</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Vested</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(126,939</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">10.43</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Forfeited</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(900</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.26</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Outstanding at January 31, 2022</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">220,980</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13.23</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Granted</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">141,371</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12.70</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Vested</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(85,324</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13.45</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Forfeited</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,100</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13.25</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Outstanding at January 31, 2023</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">274,927</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12.82</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">As of January 31, 2023, there was $2.0 million of unrecognized compensation expense related to unvested RSUs, PSUs and RSAs. This expense is expected to be recognized over a weighted average period of 1.3 years. </div> <div style="margin-top:18pt; margin-bottom:0pt; margin-left:4%; font-size:10pt; font-family:Times New Roman"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Employee Stock Purchase Plan (ESPP): </div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On June 7, 2022, we adopted the AstroNova Inc. 2022 Employee Stock Purchase Plan (“2022 ESPP”) to replace our previous Employee Stock Purchase Plan (the “Prior ESPP”). The 2022 ESPP allows eligible employees to purchase shares of common stock at a 15% discount from fair value on the first or last day of an offering period, whichever is less. A total of 40,000 shares were reserved for issuance under this plan and 5,045 shares were purchased under the 2022 ESSP during the year ended January 31, 2023. During the periods ended January 31, 2023 and January 31, 2022, there were 1,550 and 8,092 shares, respectively, purchased under the Prior ESPP, and no additional purchases may be made under the Prior ESPP. As of January 31, 2023, 34,955 shares remain available for purchase under the 2022 ESPP. </div> 950000 124962 128793 21172 135500 276574 135125 65000 <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Share-based compensation expense has been recognized as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:70%"/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="10" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Years Ended January 31</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Stock Options</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">210</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">517</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Restricted Stock Awards and Restricted Stock Units</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,271</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,266</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,285</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Employee Stock Purchase Plan</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,290</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,493</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,819</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 7000 210000 517000 1271000 1266000 1285000 12000 17000 17000 1290000 1493000 1819000 <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Aggregated information regarding stock options granted under the plans is summarized below: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width: 72%;"/> <td style="vertical-align: bottom; width: 6%;"/> <td/> <td/> <td/> <td style="vertical-align: bottom; width: 6%;"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Number<br/> of Shares</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-<br/> Average<br/> Exercise<br/> Price Per<br/> Share</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Outstanding, January 31, 2020</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">679,044</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.46</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Granted</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Exercised</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,200</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7.60</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Forfeited</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(54,361</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12.89</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Cancelled</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,400</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7.36</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 72%;"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Outstanding, January 31, 2021</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">622,083</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.63</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Granted</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Exercised</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(6,425</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9.34</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Forfeited</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(17,615</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15.09</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Cancelled</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 72%;"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Outstanding, January 31, 2022</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">598,043</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.67</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Granted</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Exercised</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(42,944</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8.74</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Forfeited</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(5,500</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15.42</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Cancelled</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,400</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8.09</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 72%;"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 72%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Options Outstanding, January 31, 2023</div></td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">547,199</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15.16</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 72%;"> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 6%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 679044 14.46 0 0 1200 7.6 54361 12.89 1400 7.36 622083 14.63 0 0 6425 9.34 17615 15.09 0 0 598043 14.67 0 0 42944 8.74 5500 15.42 2400 8.09 547199 15.16 <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Set forth below is a summary of options outstanding at January 31, 2023: </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 34%;"/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 5%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td colspan="12" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Outstanding</div></div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Exercisable</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Range of</div></div></div></div><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Exercise prices</div></div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Number of<br/>Shares</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-<br/>Average<br/>Exercise Price</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-<br/>Average<br/>Remaining<br/>Contractual Life</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Number of<br/>Shares</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-<br/>Average<br/>Exercise Price</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="font-size: 0px;"> <td style="width:34%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 34%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">$5.00-10.00</div></div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 34%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">$10.01-15.00</div></div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">332,849</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13.68</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2.9</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">332,849</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13.68</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2.9</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 34%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">$15.01-20.00</div></div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">214,350</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17.45</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4.8</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">214,350</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17.45</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4.8</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 34%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 34%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">547,199</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15.16</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3.7</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">547,199</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15.16</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3.7</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 34%;"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> 5 10 0 0 0 0 10.01 15 332849 13.68 P2Y10M24D 332849 13.68 P2Y10M24D 15.01 20 214350 17.45 P4Y9M18D 214350 17.45 P4Y9M18D 547199 15.16 P3Y8M12D 547199 15.16 P3Y8M12D 0 0 0 50000 200000 26000 4000 <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Aggregated information regarding RSUs, PSUs and RSAs granted under the Plan is summarized below: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:55%"/> <td style="vertical-align:bottom;width:14%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:14%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">RSUs, PSUs &amp;<br/> RSAs</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-Average<br/> Grant Date Fair Value</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Outstanding at January 31, 2020</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">134,634</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">16.79</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Granted</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">245,131</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7.61</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Vested</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(64,997</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17.28</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Forfeited</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(117,355</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8.83</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Outstanding at January 31, 2021</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">197,413</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9.96</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Granted</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">151,406</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.51</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Vested</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(126,939</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">10.43</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Forfeited</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(900</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.26</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Outstanding at January 31, 2022</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">220,980</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13.23</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Granted</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">141,371</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12.70</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Vested</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(85,324</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13.45</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Forfeited</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,100</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13.25</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Outstanding at January 31, 2023</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">274,927</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12.82</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 134634 16.79 245131 7.61 64997 17.28 117355 8.83 197413 9.96 151406 14.51 126939 10.43 900 14.26 220980 13.23 141371 12.7 85324 13.45 2100 13.25 274927 12.82 2000000 P1Y3M18D 0.15 40000 5045 1550 8092 34955 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 17—Income Taxes </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The components of income (loss) before income taxes are as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:69%"/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Domestic</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,773</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,046</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,193</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,637</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,988</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,372</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,410</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,034</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,179</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> <div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of the provision for income taxes are as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 70%;"/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">(In thousands)</div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="font-size: 0px;"> <td style="width:70%"/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Current:</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Federal</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">902</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(183</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,272</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">State</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">313</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">76</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">224</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">870</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">501</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">420</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,085</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">394</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,916</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred:</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Federal</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,053</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">180</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(910</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">State</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(315</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">177</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(189</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">32</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(146</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">78</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,336</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">211</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,021</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">749</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">605</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">895</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Total income tax provision differs from the expected tax provision as a result of the following: </div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:71%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income Tax Provision at Statutory Rate</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">716</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,477</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">458</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Change in Valuation Allowance</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">182</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">57</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(81</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign Rate Differential</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">157</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">61</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">197</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Change in Reserves Related to ASC 740 Liability</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">93</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(245</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(10</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Denmark Statutory Audit</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">341</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Meals and Entertainment</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Canada Withholding Taxes</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">62</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Global Intangible Low Taxed Income</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign Derived Intangible Income</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(180</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(55</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(150</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">R&amp;D Credits</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(160</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(180</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(157</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Share Based Compensation</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(52</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(95</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">171</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Return to Provision Adjustment</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(22</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">368</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">State Taxes, Net of Federal Tax Effect</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">143</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">28</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">PPP Loan Forgiveness</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(937</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">749</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">605</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">895</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Our effective tax rate for fiscal 2023 was 22.0% compared to 8.6% in fiscal 2022 and 41.1% in fiscal 2021. The increase in the effective tax rate in fiscal 2023 from fiscal 2022 is primarily related to the absence of the PPP loan forgiveness which is <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">tax-exempt</div> income that was a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">one-time</div> item that reduced the rate in fiscal 2022. Specific items increasing the effective tax rate in fiscal 2023 include the change in reserves related to ASC 740 liability and the increase in the valuation allowance recorded on China net operating losses. This increase was offset by state taxes, return to provision adjustments, share-based compensation, R&amp;D tax credits, and foreign derived intangible income (“FDII”) deduction. </div><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The decrease in the effective tax rate in fiscal 2022 from fiscal 2021 is primarily related to the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">one-time</div> impact of the PPP loan forgiveness <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">tax-exempt</div> income. Specific items decreasing the effective tax rate include PPP loan forgiveness <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">tax-exempt</div> income, R&amp;D tax credits, foreign derived intangible income (“FDII”) deduction and change in reserves related to ASC 740 liabilities. This decrease was offset by state taxes, return to provision adjustments, and taxes on foreign earnings. </div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"> </div><div/><div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The components of deferred income tax expense arise from various temporary differences and relate to items included in the statement of income. The tax effects of temporary differences that gave rise to significant portions of the deferred tax assets and liabilities are as follows: </div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width: 74%;"/> <td style="vertical-align: bottom; width: 7%;"/> <td/> <td/> <td/> <td style="vertical-align: bottom; width: 7%;"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt; text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">(In thousands)</div><br/></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Tax Assets:</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Inventory</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,710</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,159</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Honeywell Royalty Liability</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,008</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,655</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">State R&amp;D Credits</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,851</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,925</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Share-Based Compensation</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">620</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">593</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Bad Debt</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">180</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">213</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Warranty Reserve</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">258</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">198</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Compensation Accrual</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">248</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">322</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net Operating Loss</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">135</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">152</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">ASU 842 Adjustment – Lease Liability</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">53</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">93</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Unrecognized State Tax Benefits</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">58</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">64</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign Tax Credit</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">154</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">154</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Service Contract Revenue</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">90</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">61</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Section 174 Capitalization*</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,175</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">281</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">224</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 74%;"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align: bottom; text-align: right;">10,821</td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align: bottom; text-align: right;">8,813</td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Tax Liabilities:</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accumulated Tax Depreciation in Excess of Book Depreciation</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,037</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">455</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Intangibles</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">694</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">767</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">ASU 842 Adjustment – Lease Liability</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">50</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">90</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">180</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">318</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 74%;"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align: bottom; text-align: right;">1,961</td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align: bottom; text-align: right;">1,630</td> <td style="vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 74%;"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; background-color: rgb(204, 238, 255); width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Subtotal</div></td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);;text-align:right;">8,860</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);;text-align:right;">7,183</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td></tr> <tr style="break-inside: avoid; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <td style="vertical-align: top; background-color: rgba(255, 255, 255, 0); width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Valuation Allowance</div></td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"> </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);;text-align:right;">(2,120</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);">) </td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"> </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);;text-align:right;">(1,778</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 74%;"> </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="background-color: rgb(204, 238, 255);"> </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="background-color: rgb(204, 238, 255);"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; background-color: rgb(204, 238, 255); width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net Deferred Tax Assets</div></td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);">$</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);;text-align:right;">6,740</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);">$</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);;text-align:right;">5,405</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0); width: 74%;"> </td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0); width: 7%;">  </td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="background-color: rgba(255, 255, 255, 0);"> </td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0); width: 7%;">  </td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="background-color: rgba(255, 255, 255, 0);"> </td></tr></table><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"> <tr style="page-break-inside:avoid"> <td style="width:2%;vertical-align:top;text-align:left;">*</td> <td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;">Beginning in fiscal 2023, changes to Section 174 of the Internal Revenue Code made by the Tax Cuts and Jobs Act of 2017 no longer permit an immediate deduction for research and development expenditures in the tax year that such costs are incurred. These costs are capitalized resulting in an increase in deferred tax assets of $1.2 million. </div></td></tr></table><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred taxes are reflected in the consolidated balance sheet as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:78%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Tax Assets</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,907</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,591</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Tax Liabilities</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(167</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(186</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total Net Deferred Tax Assets</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,740</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,405</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table><div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The valuation allowances of $2.1 million at January 31, 2023 and $1.8 million at January 31, 2022, relate to Rhode Island research and development tax credit carryforwards, foreign tax credit carryforwards, and China’s net operating losses that are expected to expire unutilized. </div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"> </div> <div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">At January 31, 2023, we had net operating loss carryforwards of $0.1 million in China, which expire in 2024 through 2028. We have net operating loss carryforwards of less than $0.1 million in France, which can be carried forward indefinitely. We expect to utilize the net operating loss carryforwards in France before in future tax periods. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">At January 31, 2023, we had state research credit carryforwards of approximately $1.9 million which expire in 2023 through 2030. Additionally, we had $0.2 million of foreign tax credits. We maintain a full valuation allowance against these credits as we expect these credits to expire unused. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We believe that it is reasonably possible that some unrecognized tax benefits, accrued interest and penalties could decrease income tax expense in the next year due to either the review of previously filed tax returns or the expiration of certain statutes of limitation. The changes in the balances of unrecognized tax benefits, excluding interest and penalties are as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:76%"/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance, beginning of the year</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">303</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">384</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">362</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Increases in prior period tax positions</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">24</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">63</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">59</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Increases in current period tax positions</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">136</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">67</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Reductions related to lapse of statutes of limitations</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(49</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(211</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(42</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance, end of the year</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">414</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">303</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">384</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> </table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">During fiscal 2023 and 2022, we released $49,000 and $211,000, respectively, of uncertain tax positions including accrued interest and penalties relating to a change in various unrecognized tax positions. The Company has accrued potential interest and penalties of $77,000 included in income taxes payable in the accompanying consolidated balance sheet at the end of January 31, 2023. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Company and its subsidiaries file income tax returns in U.S. federal jurisdictions, various state jurisdictions, and various foreign jurisdictions. In fiscal 2023, we released $27,000 related to a federal tax exposure for the fiscal 2019 tax year and $22,000 of state nexus positions as a result of the expiration of the statute of limitations. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">U.S. income taxes have not been provided on $8.5 million of undistributed earnings of our foreign subsidiaries since it is our intention to permanently reinvest such earnings offshore. If the earnings were distributed in the form of dividends, the Company would not be subject to U.S. tax as a result of the Tax Act but could be subject to foreign income and withholding taxes. Determination of the amount of this unrecognized deferred income tax liability is not practical. </div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The components of income (loss) before income taxes are as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:69%"/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Domestic</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,773</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,046</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,193</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,637</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,988</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,372</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,410</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,034</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,179</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 1773000 5046000 -1193000 1637000 1988000 3372000 3410000 7034000 2179000 <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of the provision for income taxes are as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 70%;"/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 4%; vertical-align: bottom;"/> <td/> <td/> <td/></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">(In thousands)</div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">  </div></td> <td colspan="2" style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td></tr> <tr style="font-size: 0px;"> <td style="width:70%"/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Current:</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Federal</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">902</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(183</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,272</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">State</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">313</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">76</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">224</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">870</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">501</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">420</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,085</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">394</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,916</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred:</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Federal</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,053</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">180</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(910</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">State</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(315</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">177</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(189</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">32</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(146</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">78</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,336</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">211</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,021</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">749</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">605</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">895</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 902000 -183000 1272000 313000 76000 224000 870000 501000 420000 2085000 394000 1916000 -1053000 180000 -910000 -315000 177000 -189000 32000 -146000 78000 -1336000 211000 -1021000 749000 605000 895000 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Total income tax provision differs from the expected tax provision as a result of the following: </div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:71%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income Tax Provision at Statutory Rate</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">716</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,477</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">458</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Change in Valuation Allowance</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">182</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">57</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(81</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign Rate Differential</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">157</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">61</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">197</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Change in Reserves Related to ASC 740 Liability</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">93</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(245</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(10</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Denmark Statutory Audit</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">341</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Meals and Entertainment</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Canada Withholding Taxes</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">62</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Global Intangible Low Taxed Income</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign Derived Intangible Income</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(180</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(55</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(150</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">R&amp;D Credits</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(160</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(180</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(157</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Share Based Compensation</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(52</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(95</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">171</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Return to Provision Adjustment</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(22</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">368</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">State Taxes, Net of Federal Tax Effect</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">143</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">28</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">PPP Loan Forgiveness</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(937</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">17</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">749</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">605</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">895</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 716000 1477000 458000 182000 57000 -81000 157000 61000 197000 93000 -245000 -10000 0 0 -341000 0 9000 11000 0 0 -62000 0 0 -14000 180000 55000 150000 160000 180000 157000 -52000 -95000 171000 -22000 368000 -2000 -2000 143000 28000 0 -937000 0 17000 2000 13000 749000 605000 895000 0.22 0.086 0.411 The tax effects of temporary differences that gave rise to significant portions of the deferred tax assets and liabilities are as follows: <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width: 74%;"/> <td style="vertical-align: bottom; width: 7%;"/> <td/> <td/> <td/> <td style="vertical-align: bottom; width: 7%;"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt; text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">(In thousands)</div><br/></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Tax Assets:</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Inventory</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,710</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,159</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Honeywell Royalty Liability</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,008</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,655</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">State R&amp;D Credits</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,851</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,925</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Share-Based Compensation</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">620</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">593</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Bad Debt</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">180</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">213</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Warranty Reserve</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">258</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">198</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Compensation Accrual</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">248</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">322</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net Operating Loss</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">135</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">152</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">ASU 842 Adjustment – Lease Liability</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">53</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">93</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Unrecognized State Tax Benefits</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">58</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">64</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Foreign Tax Credit</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">154</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">154</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Service Contract Revenue</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">90</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">61</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Section 174 Capitalization*</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,175</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">281</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">224</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 74%;"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align: bottom; text-align: right;">10,821</td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align: bottom; text-align: right;">8,813</td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Tax Liabilities:</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Accumulated Tax Depreciation in Excess of Book Depreciation</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,037</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">455</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Intangibles</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">694</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">767</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">ASU 842 Adjustment – Lease Liability</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">50</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">90</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div></td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">180</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">318</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 74%;"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align: bottom; text-align: right;">1,961</td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align: bottom; text-align: right;">1,630</td> <td style="vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 74%;"> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align: bottom; width: 7%;">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; background-color: rgb(204, 238, 255); width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Subtotal</div></td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);;text-align:right;">8,860</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);;text-align:right;">7,183</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td></tr> <tr style="break-inside: avoid; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <td style="vertical-align: top; background-color: rgba(255, 255, 255, 0); width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Valuation Allowance</div></td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"> </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);;text-align:right;">(2,120</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);">) </td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"> </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);;text-align:right;">(1,778</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgba(255, 255, 255, 0);">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 74%;"> </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="background-color: rgb(204, 238, 255);"> </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="background-color: rgb(204, 238, 255);"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; background-color: rgb(204, 238, 255); width: 74%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net Deferred Tax Assets</div></td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);">$</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);;text-align:right;">6,740</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td> <td style="vertical-align: bottom; background-color: rgb(204, 238, 255); width: 7%;">  </td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);">$</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);;text-align:right;">5,405</td> <td style="white-space: nowrap; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0); width: 74%;"> </td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0); width: 7%;">  </td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="background-color: rgba(255, 255, 255, 0);"> </td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0); width: 7%;">  </td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align: bottom; background-color: rgba(255, 255, 255, 0);"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="background-color: rgba(255, 255, 255, 0);"> </td></tr></table><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"> <tr style="page-break-inside:avoid"> <td style="width:2%;vertical-align:top;text-align:left;">*</td> <td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;">Beginning in fiscal 2023, changes to Section 174 of the Internal Revenue Code made by the Tax Cuts and Jobs Act of 2017 no longer permit an immediate deduction for research and development expenditures in the tax year that such costs are incurred. These costs are capitalized resulting in an increase in deferred tax assets of $1.2 million. </div></td></tr></table><div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred taxes are reflected in the consolidated balance sheet as follows: </div></div></div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:78%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Tax Assets</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,907</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,591</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Deferred Tax Liabilities</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(167</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(186</td> <td style="white-space:nowrap;vertical-align:bottom">) </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total Net Deferred Tax Assets</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,740</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,405</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td style="vertical-align:bottom"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div></td> <td> </td></tr></table> 2710000 2159000 3008000 2655000 1851000 1925000 620000 593000 180000 213000 258000 198000 248000 322000 135000 152000 53000 93000 58000 64000 154000 154000 90000 61000 1175000 0 281000 224000 10821000 8813000 1037000 455000 694000 767000 50000 90000 180000 318000 1961000 1630000 8860000 7183000 2120000 1778000 6740000 5405000 1200000 6907000 5591000 167000 186000 6740000 5405000 2100000 1800000 100000 2024 through 2028 100000 1900000 2023 through 2030 200000 <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:76%"/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:4%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom">(In thousands)</td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="2" style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance, beginning of the year</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">303</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">384</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">362</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Increases in prior period tax positions</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">24</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">63</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">59</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Increases in current period tax positions</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">136</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">67</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Reductions related to lapse of statutes of limitations</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(49</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(211</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(42</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance, end of the year</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">414</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">303</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">384</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> </table> 303000 384000 362000 24000 63000 59000 136000 67000 5000 49000 211000 42000 414000 303000 384000 49000 211000 77000 27000 22000 8500000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 18—Nature of Operations, Segment Reporting and Geographical Information </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Our operations consist of the design, development, manufacture and sale of specialty printers and data acquisition and analysis systems, including both hardware and software and related consumable supplies. We organize and manage our business as a portfolio of products and services designed around a common theme of data acquisition and information output. We have two reporting segments consistent with our revenue product groups: Product Identification (“PI”) and Test &amp; Measurement (“T&amp;M”). </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Our PI segment produces an array of high-technology digital color and monochrome label printers and mini presses, labeling software and supplies for a variety of commercial industries worldwide and includes our newly acquired Astro Machine. AstroNova’s T&amp;M segment produces data acquisition systems used worldwide for a variety of recording, monitoring and troubleshooting applications for many industries including aerospace, automotive, defense, rail, energy, industrial and general manufacturing. The T&amp;M segment also includes our line of aerospace flight deck and cabin printers. </div> <div style="margin-top: 0px; margin-bottom: 0px; font-size: 8pt;"> </div> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"> </div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Business is conducted in the United States and through foreign branch offices and subsidiaries in Canada, Europe, China, Southeast Asia and Mexico. Manufacturing activities are primarily conducted in the United States. Revenue and service activities outside the United States are conducted through wholly owned entities and, to a lesser extent, through authorized distributors and agents. Transfer prices are intended to produce gross profit margins as would be associated with an arms-length transaction. </div></div></div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The accounting policies of the reporting segments are the same as those described in the summary of significant accounting policies herein. We evaluate segment performance based on the segment profit before corporate and financial administration expenses. </div> <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Summarized below are the revenue and segment operating profit (loss) (both in dollars and as a percentage of revenue) for each reporting segment: </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 36%;"/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> </tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">($ in thousands)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Revenue</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Segment Operating Profit<br/>(Loss)</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Segment Operating Profit (Loss)<br/>as a % of Revenue</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> </tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> </tr> <tr style="font-size: 0px;"> <td style="width: 36%;"/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Product Identification</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">103,089</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">90,915</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">90,268</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,889</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">10,411</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,885</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7.7</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11.5</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.3</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">T&amp;M</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">39,438</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">26,565</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,765</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8,989</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,398</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,032</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">22.8</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12.8</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(4.0</td> <td style="white-space:nowrap;vertical-align:bottom">)% </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">142,527</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">117,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">116,033</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">16,878</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13,809</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11,853</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11.8</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11.8</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">10.2</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Corporate Expenses</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11,435</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,553</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,420</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating Income</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,443</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,256</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,433</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Income (Expense), Net</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,033</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,778</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(254</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income Before Income Taxes</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,410</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,034</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,179</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income Tax Provision</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">749</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">605</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">895</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net Income</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,661</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,429</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,284</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> </table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">No customer accounted for greater than 10% of net revenue in fiscal 2023, 2022 or 2021. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Other information by segment is presented below: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:72%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Assets</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Product Identification</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">69,607</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">51,732</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">T&amp;M</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">60,730</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">50,374</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Corporate*</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8,870</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,849</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">139,207</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">114,955</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> </table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;;text-indent: 0px;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"> <tr style="page-break-inside:avoid"> <td style="width:2%;vertical-align:top;text-align:left;">*</td> <td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;">Corporate assets consist principally of cash, cash equivalents, deferred tax assets and refunds, and certain prepaid corporate assets. </div> </td> </tr> </table> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:60%"/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Depreciation and<br/> Amortization</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Capital Expenditures</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Product Identification</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,219</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,157</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,835</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">121</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">847</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,563</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">T&amp;M</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,697</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,837</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,148</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">108</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">949</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,024</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,916</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,994</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,983</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">229</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,796</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,587</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> </table> <div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div><br/></div> <div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div> <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Geographical Data </div></div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Presented below is selected financial information by geogr<div style="letter-spacing: 0px; top: 0px;;display:inline;">ap</div>hic area:</div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:57%"/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Long-Lived Assets*</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Revenue</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="vertical-align: bottom; padding-bottom: 0.5pt;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">United States</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">91,917</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">68,185</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">70,911</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">34,277</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">29,131</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Europe</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">31,021</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">31,922</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">29,029</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,230</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,486</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Canada</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8,393</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,519</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,574</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Asia</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,345</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,926</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,105</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Central and South America</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,589</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,271</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,950</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,262</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,657</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,464</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">142,527</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">117,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">116,033</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">35,520</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">30,641</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> </table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;;text-indent: 0px;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-size: 10pt; border: 0px; width: 100%;"> <tr style="page-break-inside:avoid"> <td style="width:2%;vertical-align:top;text-align:left;">*</td> <td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; line-height: normal;">Long-lived assets exclude goodwill assigned to the T&amp;M segment of $4.5 million at both January 31, 2023 and 2022 and $10.1 million and $7.6 million assigned to the PI segment at January 31, 2023 and 2022, respectively. </div> </td> </tr> </table> 2 <div style="text-indent: 4%; font-family: Times New Roman; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Summarized below are the revenue and segment operating profit (loss) (both in dollars and as a percentage of revenue) for each reporting segment: </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width: 36%;"/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> <td style="width: 2%; vertical-align: bottom;"/> <td/> <td/> <td/> </tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">($ in thousands)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Revenue</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Segment Operating Profit<br/>(Loss)</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Segment Operating Profit (Loss)<br/>as a % of Revenue</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> </tr> <tr style="font-family: Times New Roman; font-size: 8pt; page-break-inside: avoid;"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> <td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></td> </tr> <tr style="font-size: 0px;"> <td style="width: 36%;"/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Product Identification</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">103,089</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">90,915</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">90,268</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,889</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">10,411</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,885</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7.7</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11.5</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14.3</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">T&amp;M</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">39,438</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">26,565</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">25,765</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8,989</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,398</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,032</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">22.8</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12.8</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(4.0</td> <td style="white-space:nowrap;vertical-align:bottom">)% </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">142,527</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">117,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">116,033</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">16,878</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">13,809</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11,853</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11.8</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11.8</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">10.2</td> <td style="white-space:nowrap;vertical-align:bottom">% </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Corporate Expenses</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">11,435</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,553</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,420</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Operating Income</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,443</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,256</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,433</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other Income (Expense), Net</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,033</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,778</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(254</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income Before Income Taxes</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,410</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">7,034</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,179</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Income Tax Provision</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">749</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">605</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">895</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 36%;"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Net Income</div> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,661</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,429</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,284</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align: bottom; width: 36%;"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 2%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> </tr> </table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> 103089000 90915000 90268000 7889000 10411000 12885000 0.077 0.115 0.143 39438000 26565000 25765000 8989000 3398000 -1032000 0.228 0.128 -0.04 142527000 117480000 116033000 16878000 13809000 11853000 0.118 0.118 0.102 11435000 9553000 9420000 5443000 4256000 2433000 -2033000 2778000 -254000 3410000 7034000 2179000 749000 605000 895000 2661000 6429000 1284000 10 10 10 <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Other information by segment is presented below: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:76%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:72%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Assets</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td colspan="6" style="vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Product Identification</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">69,607</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">51,732</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">T&amp;M</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">60,730</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">50,374</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Corporate*</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8,870</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">12,849</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">139,207</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">114,955</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> </table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;;text-indent: 0px;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%"> <tr style="page-break-inside:avoid"> <td style="width:2%;vertical-align:top;text-align:left;">*</td> <td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;">Corporate assets consist principally of cash, cash equivalents, deferred tax assets and refunds, and certain prepaid corporate assets. </div> </td> </tr> </table> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:60%"/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Depreciation and<br/> Amortization</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Capital Expenditures</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Product Identification</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,219</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,157</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,835</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">121</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">847</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,563</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">T&amp;M</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,697</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,837</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,148</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">108</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">949</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,024</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,916</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,994</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,983</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">229</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,796</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,587</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> </table> 69607000 51732000 60730000 50374000 8870000 12849000 139207000 114955000 2219000 1157000 1835000 121000 847000 1563000 1697000 2837000 4148000 108000 949000 1024000 3916000 3994000 5983000 229000 1796000 2587000 <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Presented below is selected financial information by geogr<div style="letter-spacing: 0px; top: 0px;;display:inline;">ap</div>hic area:</div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:57%"/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Long-Lived Assets*</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="10" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Revenue</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="6" style="vertical-align: bottom; padding-bottom: 0.5pt;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">January 31,</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">United States</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">91,917</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">68,185</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">70,911</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">34,277</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">29,131</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Europe</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">31,021</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">31,922</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">29,029</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,230</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,486</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Canada</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">8,393</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">6,519</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,574</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Asia</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,345</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,926</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">5,105</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">15</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Central and South America</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4,589</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,271</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">3,950</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Other</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,262</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,657</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,464</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Total</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">142,527</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">117,480</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">116,033</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">35,520</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">30,641</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> </table> <div style="clear:both;max-height:0pt;;text-indent: 0px;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;;text-indent: 0px;"><div style="display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-size: 10pt; border: 0px; width: 100%;"> <tr style="page-break-inside:avoid"> <td style="width:2%;vertical-align:top;text-align:left;">*</td> <td style="vertical-align:top;text-align:left;"> <div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; line-height: normal;">Long-lived assets exclude goodwill assigned to the T&amp;M segment of $4.5 million at both January 31, 2023 and 2022 and $10.1 million and $7.6 million assigned to the PI segment at January 31, 2023 and 2022, respectively. </div> </td> </tr> </table> 91917000 68185000 70911000 34277000 29131000 31021000 31922000 29029000 1230000 1486000 8393000 6519000 5574000 4000 9000 5345000 5926000 5105000 9000 15000 4589000 3271000 3950000 1262000 1657000 1464000 142527000 117480000 116033000 35520000 30641000 4500000 4500000 10100000 7600000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 19—Employee Benefit Plans </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We sponsor a Profit-Sharing Plan (the “Plan”) which provides retirement benefits to all eligible domestic employees. The Plan allows participants to defer a portion of their cash compensation and contribute such deferral to the Plan through payroll deductions. The Company makes matching contributions up to specified levels. The deferrals are made within the limits prescribed by Section 401(k) of the Internal Revenue Code. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">All contributions are deposited into trust funds. It is our policy to fund any contributions accrued. Our annual contribution amounts are determined by the Board of Directors. Contributions paid or accrued amounted to $0.5 million in fiscal 2023, $0.5 million in fiscal 2022 and $0.4 million in fiscal 2021. </div> 500000 500000 400000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 20—Product Warranty Liability </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We offer a manufacturer’s warranty for the majority of our hardware products. The specific terms and conditions of warranty vary depending upon the products sold and the country in which we do business. We estimate the warranty costs based on historical claims experience and record a liability in the amount of such estimates at the time product revenue is recognized. We regularly assess the adequacy of our recorded warranty liabilities and adjust the amounts as necessary. Activity in the product warranty liability, which is included in other accrued expenses in the accompanying consolidated balance sheet, is as follows: </div> <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:68%"/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt; text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">(</div>In thousands)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance, beginning of the year</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">834</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">730</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">850</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Provision for Warranty Expense</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,077</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,174</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">855</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cost of Warranty Repairs</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,839</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,070</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(975</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance, end of the year</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,072</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">834</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">730</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> </table> <div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"><br/></div> <div style="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">During fiscal 2022, we incurred incremental costs because of a product quality issue with one of our vendors. As the result of discussions with the vendor, which was responsible for the product quality issue, we entered into an agreement wh<div style="letter-spacing: 0px; top: 0px;;display:inline;">ere</div>by the vendor paid us $975,000 as partial reimbursement of the costs we incurred in supporting our customers with respect to the product quality issue. For the period ended January 31, 2022, we recorded this payment to offset cost of goods in our PI segment for the product lines effected to partially reverse the accounting impact when the original costs of the quality issues were <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">incurred. </div></div></div> Activity in the product warranty liability, which is included in other accrued expenses in the accompanying consolidated balance sheet, is as follows: <div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:84%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:68%"/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:6%"/> <td/> <td/> <td/> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt; text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">(</div>In thousands)</div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2021</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance, beginning of the year</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">834</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">730</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">850</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Provision for Warranty Expense</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,077</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">2,174</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">855</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Cost of Warranty Repairs</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(1,839</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(2,070</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(975</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"> <div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Balance, end of the year</div> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,072</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">834</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">730</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> </tr> <tr style="font-size:1px"> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td style="vertical-align:bottom"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"> </div> </td> <td> </td> </tr> </table> 834000 730000 850000 2077000 2174000 855000 1839000 2070000 975000 1072000 834000 730000 975000000 <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div></div> <div style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"/></div></div> <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;;text-indent: 0px;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Note 21—Concentration of Risk </div></div></div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Credit is generally extended on an uncollateralized basis to almost all customers after review of credit worthiness. Concentration of credit and geographic risk with respect to accounts receivable is limited due to the large number and general dispersion of accounts, which constitute our customer base. We periodically perform <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">on-going</div> credit evaluations of our customers. We have not historically experienced significant credit losses on collection of our accounts receivable. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">During the years ended January 31, 2023, 2022 and 2021, one vendor accounted for 18.7%, 23.3% and 23.2% of purchases, respectively, and 16.2%, 15.4% and 28.3% of accounts payable, respectively, as of January 31, 2023, 2022 and 2021. </div> 0.187 0.233 0.232 0.162 0.154 0.283 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 22—Commitments and Contingencies </div></div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In order to meet our manufacturing demands and, in some cases, lock in particular pricing structures for specific goods used in manufacturing, we enter into purchase commitments with our suppliers. At January 31, 2023, our purchase commitments totaled $25.8 million, with $22.8 million due within 12 months, some of which are <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-cancelable.</div> </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We are also subject to contingencies, including legal proceedings and claims arising in the normal course of business that cover a wide range of matters including, among others, contract and employment claims; workers compensation claims; product liability; warranty and modification; and adjustment or replacement of component parts of units sold. </div> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Direct costs associated with the estimated resolution of contingencies are accrued at the earliest date at which it is deemed probable that a liability has been incurred and the amount of such liability can be reasonably estimated. While it is impossible to ascertain the ultimate legal and financial liability with respect to contingent liabilities, including lawsuits, we believe that the aggregate amount of such liabilities, if any, in excess of amounts provided or covered by insurance, will not have a material adverse effect on the consolidated financial position or results of operations. It is possible, however, that future results of operations for any particular future period could be materially affected by changes in our assumptions or strategies related to these contingencies or changes out of our control. </div> 25800000 22800000 <div style="margin-top: 18pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Note 23—Fair Value Measurements </div></div><div style="margin-top: 6pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><div style="font-weight:bold;display:inline;">Assets and Liabilities Not Recorded at Fair Value on the Cons<div style="letter-spacing: 0px; top: 0px;;display:inline;">olid</div>ated Balance Sheet </div></div><div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Our long-term debt, including the current portion of long-term debt not reflected in the financial statements at fair value, is reflected in the table below: </div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:100%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:66%"/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="14" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair Value Measurement at<br/> January 31, 2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 1</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 2</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 3</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying<br/> Value</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Long-Term Debt and Related Current Maturities</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,310</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,310</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1pt"> <td style="height:12pt"> </td> <td colspan="16" style="height:12pt"> </td> <td colspan="4" style="height:12pt"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="14" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair Value Measurement at<br/> January 31, 2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 1</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 2</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 3</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying<br/> Value</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Long-Term Debt and Related Current Maturities</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,255</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,255</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> <div style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The fair value of our long-term debt, including the current portion, is estimated by discounting the future cash flows using current interest rates at which similar borrowings with the same maturities would be made to borrowers with similar credit ratings and is classified as Level 3. </div> <div style="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Our long-term debt, including the current portion of long-term debt not reflected in the financial statements at fair value, is reflected in the table below: </div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt;width:100%;border:0;margin:0 auto"> <tr style="font-size: 0px;"> <td style="width:66%"/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:2%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="14" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair Value Measurement at<br/> January 31, 2023</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 1</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 2</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 3</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying<br/> Value</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Long-Term Debt and Related Current Maturities</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,310</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,310</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">14,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="font-size:1pt"> <td style="height:12pt"> </td> <td colspan="16" style="height:12pt"> </td> <td colspan="4" style="height:12pt"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="14" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair Value Measurement at<br/> January 31, 2022</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">(In thousands)</td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 1</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 2</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Level 3</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying<br/> Value</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Long-Term Debt and Related Current Maturities</div></td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">—  </td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,255</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,255</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">9,250</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table> 14310000 14310000 14250000 9255000 9255000 9250000 <div id="tx415415_8" style="margin-top: 6pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">SCHEDULE II—VA<div style="display:inline;">LUA</div>TION AND Q<div style="display:inline;">U</div>AL<div style="display:inline;">IFY</div>ING ACCOUNTS AND RESERVES</div></div></div></div><div style="null;text-indent: 0px;;font-weight:bold;display:inline;"> </div><div style="font-size: 12pt; margin-top: 0px; margin-bottom: 0px;;text-indent: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto;text-indent: 0px;"> <tr style="font-size: 0px;"> <td style="width:63%"/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/> <td style="vertical-align:bottom;width:5%"/> <td/> <td/> <td/></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt"> <td style="border-bottom:1.00pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center;"><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Description</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Balance at<br/>Beginning<br/>of Year</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Provision/<br/>(Benefit)<br/>Charged to<br/>Operations</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;">  </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Deductions(2)</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td> <td colspan="2" style="border-bottom:1.00pt solid #000000;vertical-align:bottom;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Balance<br/>at End<br/>of Year</div></div></td> <td style="vertical-align: bottom; padding-bottom: 0.5pt;"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 63%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Allowance for Doubtful Accounts (1):</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 8pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">(In thousands)</div></td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 63%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">Year Ended January 31,</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td> <td style="vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 63%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2023</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">826</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">100</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(195</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 5%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">731</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt;background-color:#cceeff"> <td style="vertical-align: top; width: 63%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2022</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,054</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">50</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">(278</td> <td style="white-space:nowrap;vertical-align:bottom">) </td> <td style="vertical-align: bottom; width: 5%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">826</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr> <tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt"> <td style="vertical-align: top; width: 63%;"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">2021</div></td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">856</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">194</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;">  </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">4</td> <td style="white-space:nowrap;vertical-align:bottom"> </td> <td style="vertical-align: bottom; width: 5%;"> </td> <td style="white-space:nowrap;vertical-align:bottom">$</td> <td style="white-space:nowrap;vertical-align:bottom;text-align:right;">1,054</td> <td style="white-space:nowrap;vertical-align:bottom"> </td></tr></table><div style="line-height: 8pt; margin-top: 0px; margin-bottom: 0px; border-bottom: 1px solid rgb(0, 0, 0); width: 11%;;text-indent: 0px;"> </div> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%;text-indent: 0px;"> <tr style="page-break-inside:avoid"> <td style="width:4%;vertical-align:top;text-align:left;">(1)</td> <td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;">The allowance for doubtful accounts has been netted against accounts receivable in the balance sheets as of the respective balance sheet dates. </div></td></tr></table> <table cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;border:0;width:100%;text-indent: 0px;"> <tr style="page-break-inside:avoid"> <td style="width:4%;vertical-align:top;text-align:left;">(2)</td> <td style="vertical-align:top;text-align:left;"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: left; line-height: normal;">Uncollectible accounts written off, net of recoveries. </div></td></tr></table> 826000 100000 195000 731000 1054000 50000 278000 826000 856000 194000 -4000 1054000 Beginning in fiscal 2023, changes to Section 174 of the Internal Revenue Code made by the Tax Cuts and Jobs Act of 2017 no longer permit an immediate deduction for research and development expenditures in the tax year that such costs are incurred. These costs are capitalized resulting in an increase in deferred tax assets of $1.2 million. EXCEL 117 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( %&"D58'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " !1@I%6 !YPV^\ K @ $0 &1O8U!R;W!S+V-O&ULS9)1 M2\,P$,>_BN2]O:05E=#E9<,G!<&!XEM(;EM8DX;DI-VWMZU;A^@'\#%W__SN M=W"-B=)T"5]2%S&1PWPS^#9D:>**'8BB!,CF@%[GHC9' MO4>H.+\#CZ2M)@T3L(@+D:G&&FD2:NK2&6_-@H^?J9UAU@"VZ#%0!E$*8&J: M&$]#V\ 5,,$(D\_?!;0+<:[^B9T[P,[)(;LEU?=]V==S;MQ!P/OST^N\;N%" M)AT,CK^RDW2*N&*7R6_U>K-]9*KB55WPVT+<;RLNQ8,4]&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" !1@I%6.NV($T8' ![, & 'AL+W=OSK$GUQLN7N(E8Y*\AD$4W[264JX^=#JQNV0A MC<_YBD7PR9R+D$K8%(M.O!*,>EE1&'0LP^AU0NI'K<%U]MY$#*YY(@,_8A-! MXB0,J7B[90'?W+3,UNZ-1W^QE.D;G<'UBB[8E,EOJXF K4ZAXODABV*?1T2P M^4W+,3_8/EE_0 M1:KG\B#.?I/-=M]NMT7<))8\S(OA#$(_VOZEKSF(O0*K5U-@Y0763P5FW1'L MO, ^MJ";%W0S,MM+R3C<44D'UX)OB$CW!K7T108SJX;+]Z/T>Y]* 9_Z4"<' M0[YF@DS@*R9M\FUZ1][_^MMU1X)R^GG'S55NMRI6C8IID2\\DLN8W$<>\ZH" M'3BEXKRLW7G=6JCBGS0Z)[9Y1BS#LA4G-,3+G94X)Z956WYWX.A) $C9*^1]G%DL!+?U?%>&M0E>MD';_#_&*NNRF!?T[9F+-6H-WOY@] MXZ.*CDZQ.TUB%7+=@EP74Q_<<3>!84:2I[<54V'#RTVC_4G%!ZUJRD>36(7/ M1<'G KU !^!X&:!10!T&IQX6JC'RI8:$U36)K$*K"N"EA7Z.7=1]*7;^21 M+?QT,@1J#S14=D9RIF>'%3:+K4JM3VO*V)7NHP$>+G00P;_@_( MM=N&V;9-)3:TLC$V36I5;%:)S3JFL7WG01))"(/ +V!".90=4'K@2EAH46-8 MFM2JL$IG;Z+VM^B9>5-[9"LNI!\MR%12J1[_#RC^8*JJ(5[5F-HI3+U9NGH3 M]^4YM7$DF=A&_[13TAU&)35O2ZU*K?3Z)F[6O^)*B7C65OX8P'2F2X@//YZY.2DE;SKTNM M2JFT_R;NV//V-5U"OR1#'JYHI&Y>N$QM%,?K&L,ZA?LW2_MO'N7_IR$%6+=) M#!_'ZED2UY$B4^W<*/^Y,N $3XGIO5^]AM,DFXB@*.2UX$$P<.0PS0KN?NBQ*;5 M]^M2JV(K?;^%N_4=)W+_ZBYIM&"UT?R T(,SO7/^4O+2:OUUJ55YE=;?.LKZ MCR.7"W#]-'V0=9;Y?FA\X#0XQ"=(3T/NJ2'BZH]C)4"M*4"76A5@F0*LHU) MZJ7(0Q+.U ;V@(C1-FW+,)2PM)I_76I56*7YMW"C7MQE=*(HH4&>-)7 <*&Z MF1,O:TSK%)[?*CV_=>1=?["P4>QGSY@18KA8_:RIU>SK4JLB*\V^A7OUO#<^ MT5[6&!%UJ59AE2+"."@D% MS&&Z!5/J$]]$2I"XW#,#B,]4 $*UB].:&72I55<:E)G!/BHS%.PF/)8P7?SM MKVJ=R %%P^I?*9_@X76-EQF<(C3896BP<:O_,[?"QTT$7_N1JR:':ZH]'%[4 M&-LI0H-=A@8;]_I9UW0$H_6M"Q?H&LHG*GA58TBG2 KVWO(?W,M_YMESX26/ M,*-[0*1O]=M=0^UT\=+&M$X1"^PR%MA'Q8+][ W=<4GA6.1K(F$XB]*[DDJ$ M.AW_,%>[R-32%93KP25\ Q<]^ [6%6"GB 9V&0WLHYX+3))9X+MD%'"J=+FX M2F,X6N-"KM;;0]WOVK:=M?>UBDX9!6S\K#&04X0!NPP#]H$;]SFONCM !\J?>3 G[VBX^KB[60E&Y'RH7*:! M2S7F=HH88)$*]I6EI*35W^M2JU(J_;U]8/%.3BF= M%].NJ,2$2]R"K4UOMWUQE+2T.GI=:EM:G;W5VNF-_6S5>TS<]';A=N%V\6ZQ MLM[)UI-WRMVWR_*_T/2Y0$P"-H=2X_P21E&Q7>F^W9!\E:W]GG$I>9B]7#+J M,9'N )_/.9>[C?0 Q?\;#/X'4$L#!!0 ( %&"D59E?7" ?0< )DA 8 M >&PO=V]R:W-H965T&ULK9IM4^,X$L>_BBH[M;M7-4PL MR8^SD*I,R-WDBAO8).S5O12)(*ZQK:RM!/CV)]DF3JR6@"K>@!]:\K_UT+]N M.^>/HOQ9;3B7Z"G/BNIBL)%R^W4XK%8;GK/JB]CR0MVY%V7.I#HM'X;5MN1L M73?*LR'QO'"8L[08C,[K:S?EZ%SL9)86_*9$U2[/6?G\C6?B\6* !R\7YNG# M1NH+P]'YECWP!9>WVYM2G0T/O:S3G!=5*@I4\ON+P1A_G?B^;E!;_)7RQ^KH M&&E7[H3XJ4]FZXN!IQ7QC*^D[H*I?WL^X5FF>U(Z_FX['1R>J1L>'[_T_L_: M>>7,':OX1&3_3==RFQL(V^ 5KM* MBKQMK!3D:='\9T_M0!PUP+ZE 6D;D+3M MSG;^7SZ8XG&B\5TN8#<:=K[<'N]M;Y66[;B%P.U M=RI>[OE@].LO./3^@)S[H,Y.7*4'5ZFK]]&$51ND)@W5!]._=^F>9;R0X"0V M785U5WK_[TB7D:U5Y]B$K87".11\]C@2"S!01+W7#*M<(2)#_L4 M''P*G#[-BKT:9U&F'!SKP'AF@.G1,QMEIA7U0R^!E84'9:%3V33?9N*97-."8AK :J.#VLBI]J;D6Y:NT?1)H:M2ZT#/ M^[7<\!)-=F6I'$#CJN+PBH[,^8^3_B";1C2DEMF/#ZICI^JED"Q[@\#8>':4 M1"'I*32M0AI%,2PQ.4A,7AE8E0R4\ODSNE%A7];CJ@/$5E%:UML/$IR8>\4G M<7]' 5;8]S$L&'L=K#SWGEKK]7J?ZA6*9H5DQ4.J#BNKVK:_TP! :']\ 3.< MJ$S(HO<(KMBI]U]"K!_3+ .E86 DPZ _DI"9BF&6@(L[!&(G=D:7_)ZKQ;E& M2_;4KD_[*!)S_25>U%=J6@5!8IOS#F#83; ZL]3!_[;BC5!0(@4V4G^C T;8 M2RP['7?PPFYZ-<'(OLS\;?9U6PYF\(ZG4Q[;TKV4;V=^MPA#;N9=LAW M;MBSC;;8Q%(<8B,\ %9!8@M<';VP&U]*8+E3P6$BR)ML"ZPX 1&HZ^P,*F%FFG'2L(FY6O>0J-Z*L4T*E\TH4#V=+7N;H MDM_!>DTZ$6S*!1CFV>A*CJHX-\)>%%^I?"#-4OG\ZR^QHOL?<_',,OF,KN^R M],&Z=(F)*QR1H"_=M")VZ1W4R"MEF47Z]&G%*U4&M1ZH\*"3,72Y T,$,7GF M$]KWP#0BMIR<=,PC;N;-BI7(N4X>N#.*$9-J4=Q''V!$B6W?=>0C;O(=,ARU M 7EA&4& :K&1S0)6)+2$+]*!C[C+L-,2X64E6,I% I16D6]4LH"96J[6Z>Z M12(GI']<_SAK0=U@\!5:$R?_WOT"Y8-Z.W6^@R%QP_ T#!Y>3*S:F=LV 1,< M!A-\F'B^$1]-LQ@'EKR4='PD;CZ:DK(9$"U5S8+UL@H]A2/-..?M1- MOZ:H>B4&4I-J@1\;FQ\PHS3Q+?BC'?ZH&W\J=<]3J=.'YI791!12):&\6-G& MT]D?'&41%*X_H*-3GSND4G+W]#TS]O9\G^@JQ]:3'Y4 M;Z=.=VRFK[X@;3?-0HK53]!?LTHTEJ'+Y%19!T[J!J=>@JJ2L,LRN1=0(\P M1L06J#LV4C<;QVM5@2E^L*R9B1N6KL_2HCF9L&VJP#_$MPU"<@9!8&V))V^!T#?3<#EZ6" M]ZY\;N;],V)2Q9X*+!]]DW!GU#\N3UJID!U-(IO6#H:^&X;CU6J7[[+ZZV?[ M34'D:I=N](?JOQWR/3=R&Q8]-;( MYYL\C%7"UL^/8+O*B$[Z%WE\.B[N?[1 MPG]8^9 6%&PO=V]R M:W-H965T&ULK99M;]HP$,>_BI554RMUY)$ '42B5%4[:1(J M;?=BV@N3',2J8S/;@7:??G9",P*!TFJ\('9R]_?O?.>'_HJ+)YD"*/2<428' M5JK4XL*V99Q"AF6++X#I+S,N,JQT5\QMN1" D\(IH[;G.*&=8<*LJ%^\&XNH MSW-%"8.Q0#+/,BQ>+H'RU*O/"COH+/(<)J(?%6.B>7:DD) ,F M"6=(P&Q@#=V+D>L8A\+BDM@IEC"B-,?)%'IP.I:*($9SJFZXZL;6 ?4-GHQ MI[+X1ZO2-NQ9*,ZEXMG:61-DA)5/_+R>B T'-]CCX*T=O&,=_+6#7P1:DA5A M76&%H[[@*R2,M58SC6)N"F\=#6$FC1,E]%>B_50TXDQR2A*L($&7F&(6 YH8 M.8E.QU@ 4RDH$F-ZAKZ@A\D5.CTY0R>(,'2?\EQBELB^K32)T;/C]:B7Y:C> MGE&_8=9"OGN./,?S&]Q'Q[M[=7=;QU]-@E=-@E?H^7OT)DJ'KVM3(3Y#UX3I M22"8HC&7I*BUG\.I5$)7W*^F4$OMH%G;+,,+N< Q#"R]SB2()5C1YT]NZ'QM M"OP_B=6FP:^FP3^D'@WCF.=,)_X.8B!+/*5PKMO%,(U)+N7"0L[L%\NHX[M] M>[D9T*Y-UPLKFQIG4'$&!SG'>J6#$+I@)XK'3^=(UREZQ#2')LA@!\!UMA@/ MFM00VQ5B^WV(DU2O)8F&N4JY('\@:4(M-=LU#O/;PGW3K(8<5LCAAY!OI)9IA?D,7DOA3J;8[><]A;@&T8UQF[%V'T'XU&) M[^YFU'>:4G]PY ]N#[TJKM[[X]I?';V&*@T[8;>]O4,T&;;#,'""YCRXSK^S MS3E(?*\O-C(7+W7FQN/*V8'P_RN1!]QV).F$04 M9MK3:76TA"CO&&5'\45Q3$^YTH=^T4SUO0R$,=#?9YRKUXXY^:N;7O074$L# M!!0 ( %&"D5;_LA,:) 8 +@: 8 >&PO=V]R:W-H965T&ULM9E=<]HX%(;_BH9V.NU,$RQ9V"8ES"1QMMN=?C!-N[W8V0L# CRQ M+2H)DO[[E8RQ03IV,KOL#6#SGF,]^GPECQZXN)=\S0K]SX*+/%'Z4BS[_L;7]/E2ID;_?%HG2S9'5/?UQ.AK_IUEGF:LT*F MO$""+2Y[5_@B)J$)*!5_INQ!'OQ&!F7*^;VY^#"_['FF1"QC,V52)/IKRVY8 MEIE,NAP_JZ2]^IDF\/#W/OMO);R&F2:2W?#L1SI7J\M>U$-SMD@VF?K*'WYG M%=# Y)OQ3):?Z*'2>CTTVTC%\RI8ER!/B]UW\EA5Q$$ #EH"2!5 [ #:$N!7 M ?YS V@50,N:V:&4]1 G*AF/!'] PJAU-O.CK,PR6N.GA6GW.R7TOZF.4^,; M7DB>I?-$L3FZ4_I+-ZJ2B"_0AV+&[&+U^^0;)52*81&F!OJWX1B;% M7+Y%+X^N1WVE"V52]V=5 :YW!2 M!< $?>*%6DET6\S9_#A!7]/42&2/=$TZ M,_Z1%.?(QV\1\8@/%.CF^>$$"(^?'XX[:/RZ@?PRG]^2KVJ%NFG07U=3J80> M+W]#E;U+1N%D9A*YD.MDQBY[>I:03&Q9;_SJ!0Z\=U!%G3)9?*)D1Y5(ZTJD M7=G'7]F6%1L&5=@N,"@#S22Y'6-*!B0<];>'50'(<$@C[U@60[+ \_U:=E3\ M05W\06?Q;[A49D1V8.P2# X>/*1^B"T*5Q7Z(;54,:"B0=C"$-0,02?#>\&E M1!/!%ZF" +GH33"@\ " %1^Z \M $"%_<"# <(:(.P\W:[W6/258PD60ERM5 M0#8<.$"0BI*6(8H/W SN)/JR9@9 ][3]( 5)L#M!D!#[-HDK\XAP;.D.XLZK_MM(UCPIV>8FR: MV51%G,HUEWJAT95P)253<-.&3U.[DK-@Z%#_'TX'-U8'=WN=@+L MNA*,AS:G*SJSMR0QF*G%W>#&WN!N?P-/U^TXKC,Y(X<;G@K(E9'0GIEB,-F MPDBDL3FDV^94,%.VT+/-'NU;\@B; ^(Z$Y]BNR<"JM#SK7DH!E0$A\,6H,;E MD&Z7TR"8#=4V-8=P((KK3$)J]S5 %'@#&\051<.6Q8 T#H=T.YS/3'5XFRKX M<#--@L#>T@*J@!)[1PBH,(G:>E;C;4CGJG\ @"9ZU-SP/-?3W9TY)ROG>?+N M.I'I#*3;90X/9[MSW][H@*K(H8-4.&JA:SP'Z?8<3]/%:;91]J%=Q4>?Q0>I MG(4:5+7R-5Z$='N1'^6A,--[GZUVVDN&/F_RJ0;5J]0AJT1?-DHJO4G2Z_F3 MS0H=L7CV:1*D(K8JAE38:^NTC4$AW0:E;#2]QT.WBP6;J4-WZU?OUR5+QVL^]?X(MZ]1&G2[-[I?$K$ M,BTDRMA"I_3.0UTDL7M-LKM0?%V^.)ARI7A>_ERQ9,Z$$>C_%YRK_85Y0/VR M:OP/4$L#!!0 ( %&"D59O$F!&PO=V]R:W-H965T M&ULK5??<]HX$/Y7-+[.33+3Q#\QD -F$KA><]/>94+:>[BY M!\5>L*^V1"4!Z7_?E0P.V,+)0UZP)+[]I&]W):U&6RZ^R0Q D:>R8'+L9$JM MKEQ7)AF45%[R%3#\9\%%215VQ=*5*P$T-49EX0:>%[LES9DS&9FQ.S$9\;4J M<@9W@LAU65+QXP8*OAT[OK,?N,^7F=(#[F2THDN8@_JRNA/8= F6LHCY]]TYS8=.YY>$120*$U!\;.!*12%9L)U M?-^1.O6DFNYEOJIF#$S/[ ?G,F[VYWZ$FK",3&K[P!%\=C).Q^/?Z42J!.^<_F_36JO1IUL4_^PJ.T R:M4%^,(AJT-':>_7:>YT9\;?*0-A3X>P3 ME_+\/6%@TD71)Y $]R4>S4E!I4*K@S;]'T\5L\FO;"[HO67:O"79[(W( MCEP?UZZ/.],&[QB\01B9KH4 EOP@#X(R650NO7YVJF&_D506 MD!\%<2.KVJB^[]F3JE\KZW$[U1 M4-="\+(I1Y+[>K>@7L7WNZL^BFV"!ZW%1LW@MB%QT)#=D=6 MH-2+.F-OF0+<&(K0"!)85)8FOF#E^,Y8N(61L1]>RZ?.^Y9O$Z ME;UX$%JK$:^=5=&P*B0SU#VHQOSMB%D56*7[[GO+[S7O* M@NIY<:^II(WRAZW4LS M3?7$^$S%$GG$ZF;$=Z&2?LQMX^/>=>M0?/#^8+TG# MYE7^3Y:VJ].)/T$INTHV>?NANOV#[0[(Z?265=[T/]'M+M::H.6F::MB-YC/ MH,C*[>_D^ZX0!P,P/3* [ 80:0 A1P;0W0 J#:#ND0'V;H M9_".#'!V QQY M@'UD@+L;X$H#'.?( &\WP.O-VE:WMV:1M,G925W=HKJ+YFK='[V__6CN2%9V MK7C9UOR_&1_7GLVKLJGR+$U:EJ++EO_B?=8VJ+I"\U527K,&926Z7"4U6U5Y MRNKF-Q1^VV3M#S1%GRX7Z/>GS]'3+N;CJMHT29DV)[.63ZR3GRUWDSC?3H(< MF<3'JDURS;"Y>=B\*@K>S9=MM?R*_GW'BB^L_D\CLS#+O$G3K%L628XNDBR= M\F.9)^N,3\DD&II%/["6[P.\IF%2EUEYW9BTHGO*P_>89E/_N/](XWN.=+G< M%)N\]_I]NV(UXB7D.]BJVUIN&'I;+JN"H=__JIKF^9$\,]Y@^RXC^RXC?6+[ M2.)S=IV571G0>9(GY9*AI$5_)N5+1/$+1"QBZ9IFJ^GVFMV6>G/F8>HY)[.; MPQY1HQSLB3$+38R+J25&A6J4'9# %Z,B-6I*J>U)*6--&+8"NH\2ZDCW=:3C MZOABNS2;!]73J-V=\UXUZV3)3B>\)1I6W[#)V;,GV+5>ZY;F5LPY.#YL49NZ M6*KJ C)K""D608K%0&)"6]C[MK"-;='WP/2_6 ,O5_W%V[A=U8OLX9I MS[&.LN-@RY:,U<1(R]71K6O)+..DQYJE)I1VD!@HG>" NW? ?9P#=SNOS@E7 MK2&_-9"LT 2YMB^?N8RS&[M[0HI%D&(QD)A@L;>WV#-:_($U;9TMMQ? W076 MF]ND3AOTF;_/TA>H9*W.9$]S@L?2:IJK0=):6GA*&TSEY6:<_EC;-/F4:<= M&04[_+T=_L_:85I[1O&Q%SF^4BS7#@)YC4*F#"'%(DBQ&$A,:(I@WQ2!L2D. M;_6>/?$))J_G2;-"B^PF2UF9[MY[:KVT/+3F-S9-UR"Z_@C4_K=E1^?&R8R] M_H$4"Q\R_0@R8PPD)MB.K0%/6$;C_V;M[K94BQ4LS9G6ER]ZS"G&V@FJ%C[H M""+0G#&4FFCI 7'"1DOO)0]:I[%2)\^2;UO,B4<;#:D6@JI%H&KQ/<45?1Z8 M#S9#G[!,#<0':UTFZD1LUZ>RSQJ>0^0;&8V6XUNV?..I"[,LWY%7H!HVI=3Q M)3H4:^,.UK-8RX'[8#/X$6MYC/KH:PJ*?;".^]C$L0);KC\H^ %5BT#58B@U ML3<&^(/AZ _6P!@[4-87*/]Y4,X0-&<$JA9#J8D&#Q ( U(@K$$\CGQ]JPN2 MEZ\&!#FN;!HH"0)5BZ'41-,&;H1_ 3C"*A1R^>8JNZ=!1S;U% =!V1&H6@2J M%D.IB58/_ C_$H"$-02)^JYLMAKERD9KF(ZR4D$ADBZC,O48*J=HR\"1\"\% M26;UT==-*DK"Q UH('L)"I- U2)0M1A*3>R. 2AA,U&Z!RRHG(5OQ,K])B@G M E4+'W0$$6C.&$I-_([!P(J(F14]"BP0%$"T3JM4@X?6YC(3F,-7)!N\Q<:+2=P TDKU(6Y#I;QGB9L M2FG@27&Q+@Y[MG^DF ??SAE#:H[1!7U1C1I#%X@&#I% _N#;G'#T5OJ0G"%HS@A4+892$PT>\!$Q MXZ-1=&&G)=(%Y1MY:A"1EZ^&"3DR$C)/?+1IH$@(2DTT;4!"Y)%(R'1'0U2D MPZ\(;>521PTC#B;R%Q?,,QR] X.2)%"U&$I-]'H@2<1,DAZ)%W:J EX@KOP% M%4V4IC7(R00&9.5"#C.Y0H5D(F M#4'5(E"U&$I-;(Z!/1$S>S+3!:+"(.*J2Q,2MRQ U<(''4$$FC.&4A,M'8 1 M,0.CQ]$%[?=UE"MB4(X$JA:"JD6@:O%]U16?L1@X$C5S)#-;H-I'*RSE-.K; MU)4_=].$.53>I#5!+L946ERA3BO \N,QD29L2FU"I;A8%T<(/<(6Z !JZ!A0 M&PO=V]R:W-H M965T&UL?51M;]HP$/XKIVS:BS3A)-!VZD*DPCIMDRJAHFT? MIGTP\4$L'#NU#VC__6P',CI1^!#?G>^>>^ZX<[$S=NUJ1(+'1FDW3FJB]IHQ M5]78<#15NV*NM[/[BOMZ+@)>992+7]AUOE<7"50; M1Z;9!WL&C=3=R1_W?3@*R%\*R/>3=)8HL/W/B96'-#FSP]FA!B*7&:$]. MZO"GS,GZ6^GCJ)P:[8R2@A,*F),_?,?)@5G"M.9ZA0ZDAGG-+=9&";3N+=P^ M;"0]P;N9-VJJD63%U?N"D><34%FUSSWIP,&M%BB> S!?2%]- M?JAFDI]%_,[U (;9!\C3/(/7P, %YNX,]+!OU#!"#U^ [GL36C,G4ZW_[\?O MFX4CZ\?LSZE6=.BCT^AA]:Y=RRL<)WZW'-HM)N6;5]EE^ND,]U'/?70.O9QR M5X.06RE0"VC1=FTY1;,#NHI 8:&W93I(K])GOZQ@VV,V[&C\&K2KN&0.*K/1 MU$UB;^WW^*8;WW_NW2-PQ^U*:@<*ESXT'82UL=UB=0J9-@[SPI!?C2C6_BU" M&QS\_=(8.B@A0?^ZE7\!4$L#!!0 ( %&"D597AJ#@QPD -0P 8 M>&PO=V]R:W-H965T&ULK5MA;]NV%OTKA#<,+=#4(D59=I<8 M2*QTR]!N1M+NX7UD9-K6JRQZE)PT^_6/I&S1%J^8I-"7QI8/KW@N+R\/+]GS M1R&_E6O.*_1]DQ?EQ6!=5=L/PV&9KOF&E>_%EA?JEZ60&U:IKW(U++>2LX5I MM,F') A&PPW+BL'TW#R;R^FYV%5Y5O"Y1.5NLV'RZ8KGXO%B@ >'![?9:EWI M!\/I^9:M^!VOOF[G4GT;-E86V887928*)/GR8G")/R1TI!L8Q-\9?RR//B-- MY5Z(;_K+S>)B$.@>\9RGE3;!U)\'/N-YKBVI?ORS-SIHWJD;'G\^6/]HR"LR M]ZSD,Y'_)UM4ZXO!>( 6?,EV>74K'G_G>T*1MI>*O#3_HL<]-AB@=%=68K-O MK'JPR8KZ+_N^=\11 SSJ:$#V#4B[ >UH$.X;A"]M0/<-J/%,3<7X(6$5FYY+ M\8BD1BMK^H-QIFFMZ&>%'O>[2JI?,]6NFLY$48H\6["*+]!=I?ZH0:U*))9H MQLHU^J@"HT1GZ.M=@M[\_!;]C+("?5F+7?+R MYMC#)FS&(S3VPJ[QL$Y?2K%!?VVY9%56K-"EGB%9E?'R ^3VVBR%S>KL\:'< MLI1?#%1Z*+E\X(/I+S_A4? KY+(^C24]&3MQ)VW<27W6IW^JS'E3I&+#(9_5 M;4>FK4Z0#U,R&JE1?#CVA0L:43(Y!24N"),Q;4 G?8^:OD?>4+A<_$_-_WHZ M5@+=\E04:99S9$GIY_J;B9HW7TN^>(OF4CQD:FJAJZ>71T_49_3T:2SIR=C) M"(R:$1AYHR?ARFB:L7J%*A;H6" MHLDXA ,J;NC$7CK'O=<)/N'W*I#**E*.9*"LPH<=.5TC4HN1":)N0"XDC MF,ZXH3/VTKE;,\G/KM2BOU"=WR@E5'8.S-AY.R:3H,4" -%)V.(!@,9X C.9 M-$PF7B:?1*E6W (E6;D5)S @;196F2X?5WO7YWT'/%T%E( MW+3GPF@0D38YP%C4QT3XR='.*BU,(2M_4@!)O$04?GK9+"?BG5[(::;=!^6W0/ M[X9 GJY^.B,3-]Y<& X=(0^AHHAV[ V)55 D>%6A0*>(\B5;/=*3_-D75_JT MEO1E[=2G5IH1OS2K X=E"[044LF72@KTF:5K!5->;31*HV!2C3?B1;9+67M? M0R(K#IQUU]^O5WNQ)VNG7K0*D'@ES_1RL3!N,E4+-0W5K*N>WJ%YSI3"USG_ M6CELJ_4^Z#("3+YVO64&H7#L;') 8]&X(]T3J[J(7W4U64;G%IU:H-D'LH-T M6$Q&89L?B'/Y 3 //RO&"'U5M))>R_T:2WIR]JI3ZV&(WX- M=[PRI9PO]JYMY.U=)=)O:HTR"E=/%CB 7&TV;FM: #-J;_\ 3$<1@UB!1_P" MKX.AJ=.@^4ZF:Z84'MH5"Z7T6[P//QOF('%7M\5MW01@W"D#8#H*4<3*/^*7 M?Z?Y0"\>2@,>*AJU*+SEN3EC43GQ;Y4JU*=;]4=F:7WPHGP LH:4H%.BAE#A MV&$.H##NV/ 3*Q>)7RYJ[F]N^;8F7+X=7@FIC*AD<1CJ6_X@\@>=/?8;MX\L MU<6 )Y Q(#*C2> ,M;=3KTX-@!@=14&'&B56C1*_&CV*@L]9D6UV&_3;CDFU M$.K]K'AB>:5DZ7V>K3HKEP02HX'KCQ?!DF=AIX=65HV&_GK>Z8S_)(K5V1OOMO_K\JE=5&KIU14I)QSXKM&HS]*M-K\_L) *]Y>K* MD1L3 H';DQ L(B$7?RL#@S].E %OU@N=>R?<@,)]5KA"R%U2**XG1%!'(X[ MJ1\=XOKUX5QF2BYM67Y8!TQY_P5N@&0?,+ +(Z<<050X20:=Y"SXC#T5^HL MI1I?9J+0FA M N"D8[L06N$7OESXM8LNT-8!=)NKR_ XCMK:%H"=15'DS&P(AFG7\%NA%_J% MWO5RR>LSBX]"\FRE3[!2<^*!;I6\0X?3#UVD-L4!M=TU'_2>]X'E>MZ [(%2 MGE-9 T!J\6Z7JB'4B'2-L95YX?,R[Z9()=Y^< + 83[J&V>JVT*_;.AF]0U=\E16%CF<5!/_E#*R4AJ[,BDA[^9D! M*#7H[;R8 #!*:,=NC5K)1OV2SZ-VLJH]X)JAKKR*IXXUZM<4$C;AS8 :!1WI#1J51KUJ[3G MN=E#G7?FGI6:%+=\N>NX^4A=P15BAV\-.KET1MNI/@%0]&B&G1(^N@SG+^O] M*8HS0_J+VH*6S-R\A>MXM-,M MN2^-;/7R^QA&RY6Y-E\B<[I>WYMNGC97\R_-A?36\RO\(:DOV%LS]7W_ MSTPJF5.BG"^5R>!]K,)%UE?HZR^5V)I+Y?>BJL3&?%QSMN!2 ]3O2R&JPQ?] M@N8_,DS_#U!+ P04 " !1@I%6)WJR7:@4 ![. & 'AL+W=OV'>O.+#?(\);V\+KW\FVWTW2<71UG>^;9>A<7@ M8.4J_=]\"7H8+/CQ]($%YV'!N?"M&PF7/YG6O'K1U)NLX=N@QC]$5%D-YEQ% MH]RU#;YU6->^NE-C9/4\NW.+RLU=;JHVN\KSNJM:5RVRV[ITN;/^Q4F+_;CJ M) ^T7ROM\P=HGYUG[^JJ7?KL35788DS@!(PF;L\CMZ_/OTKQGZ::9A=GD^S\ M]/SB*_0NDO070N_B 7H'Q,S^ZVKFVP;>\M^')%9Z3P[38P1=^K7)[O7WOYP].WW^%6Z?)&Z??(WZ_]%67Z5]F//L7W5KL[.__^7'\[/SY]^_ M??;:>.?YXBUI5:UA!%[BDZMRMRZM?'==5QX+BO#E!YN7QGLAJT]^\Y;OO?&M M0_A9?XDLL#!-P:VNW_]^\]/QV3^R:^.7F:D*_>/-GYV[-R6VQ-OPEHX,WU3W M>% WCB1N&R2TIMU.LMN2[',I5ZV1:=K^ZRRO5^NNM0WXPNK.DK\:4BMK'Y^12C^ <*M:*7N&G"H;T/\A:UL [Z+;-[4JZS%$@_6^&;A(%.5M]FZJ8LN M1UI-VV#ARAK?-5AGO*PR*RJ8ZW*HS!6DRHRVL9G]LD9ZR]H:&^<6^2US%1[F M2U,M;(:T[>>A;X7S=N-QB&;6$18WJ MX-_X9K.TPH$'+WX.*AGT)D6BRB'CK'0+Y7*VS4"W\G/;-+2<[(,\!W%,9(P" MF)#N;#,5]<9%06Y9TS-=YWG7>/)>5S9;UPX*@NCP%#O)NC7V]4NUZ419;5T+ MW5..QOG/)%K6WF=KN!QW%PVD_3_8MFLJ+Z_'IUD.D[@6#QMJ>=[8/SL;'(B/ MJ)NF4*L9?*)&OM^:+U9IPU5A%5L1D^SEREQL4#&X-G E];KTM'?W$5'*@L]25(>@)/Q+:N(M/, M+G2K:?;)HH*""Q0V^X#_>#H0C&21&K 6MH04C8@2O3JCFP>:PGD*+U%#+0N M \BDW]7#%.DAH^$:6FK6+YX,]\A64$WD,+-.2$(T^D.](8%H(E,XQM2]<:69 ME70+C[R0!X,+&6SB[=HP-\@J^FW@R'YI]QE\5_LVYIZ,]*L0;:J@+2HA\S7\U8(I8P H=5Y C]KL+T$X-$D$-E* MYM8H361 H+ @S>4YH+Y\MG3_J MI]R&W -!@\3TJ!P:45/#<[".'FKHR[)A[1.W25W*PC3[)3X@U<1\<@Y^:+=K ME" FF<*62*F2B=N0OU=6J/5CR$'/D1 ^FGYD#O+:ZKR0:D8Y-6PTRBC M:0:#GR$TD=6X(J74*/0P?=WL1-]^Z"'SH# 2SA9TXQPECSXTA[_5"'\I&J'Z M4+>E_1)JW,@%)BP3\[DD(G5X5_(]4#+(4O6B,6N(BDR;][RD? J< 0%LE0H, MX$36:.%BW)IL#E!?F*W7\L!/*\&3ZGK!.L+6;KXY(#&M15_37*)JZY//(*]L MY=44H0^DI%MTO6,U:VS,R)/5*M MA)R#:KDT>P[05\_#;CGORKDK2PG]P8Z04*6&ZK\F*'1;;T"MJXK "8D@2@2! M%(YDP=V]8_Y PKZZN\Z>G3X+.>*@W'/+B=K W_ !KY/Y6'=9 !@:!=] M=6UU9TG+$.B%*5Z._9LOZP;$:[HFD$4U,S"9@U2 M7P1#@\33Z>G?Y,LGTR=_&ZHIFG^Y1SX27Q.FN.:L=8A*6]!]7"ZSJ MBP[Q+/UM4ZLEIM)A2=?#:ABMI13]2)JQ\B5I<%?FN.B*_=L:FVNX30!R>UH> M8$7)3%165VD]:/M2!9L*, 3&A#.3'J([2+8;FH4-$96PZ2<["(JH7A1E1)]D M*"J*YNT[)4DI+32,4A[?W,8-&;A)E6?GH6 (E173PCY^ F:&&ZI!7#.KFTH0 M#\%QZI=ZDDMS/V)/% /41B60Q,7Q4XJ4S* XHYMY[18(#5=4D7PCM:A-S@1% M-:)XQ&SA&C9VFN#HX>)?DD23611R#C*_FP][0E"<0;-S%_(089'24Z!;UBBU M(??3Z>AMV:,/M!#?D-[_8I*Q^S\_?7Z@#99OSIZ/#$Q3H0I:/RA_H2_]"?)WJA#B-E5O/WV[M6;% M7+BQ92FP@2^[ICA&NFDE:M*8Y#XT"NQ"&C?K",>F')7$WGP8[V)_:^"@&MW$ MZJ!(OPSSUP&C4'D#A^^:L ,3770%BC#-?DYQB,QN/L/9)CLMHT +R."J @BB M(#N((]A"\T5A<^=CSS9,Z4&F6@!2U"2*@=THA?NP#&\)W"#^U+V'\Y4Q+V(X M& O^6-4KHDPWE[KI^^$41-FW:AA8>;JR=??LTI2_*X(<2==TJY_J;M8"-J7W M+[,-.+'']7R>O>Z \DGYNF^&\<*5AIW)D>>]Q C[+JNB7+-)09(,XQU%CW,6 M?QD#2)@;<1 D!:]$8JTLG6)K:?2][]AGA9R,QERKU6" (W_#?@#7SH:4&;>7 MROHM'JJZ.A[2NQI(- 9?M&@<2W%@!/\;V*J?5L4!A82Q((,4Q.*-<7J" !YN MIIN,N^0^GZ0L(BER';Q '-\QX<9A2!(QA(PE5-:4[BJ$+9:P\QJGPL/<>FU9$)NL)>P9*Y0! M 9PFCUVBL)U&>3*LPJJ_GDZ?HNDMRPCQ\. B/6 +YSR3)S%:!&L78["FS=9W M[+D(Z I;/#N\Q1FBJ0#,:!V;WLOL5Y24XU^Q"X))O/@2&D&I7CB.0N*CG^NZ MV("=- 4XR^Z&%2]""]G;D6@+,9&XM+I%P/6I_HY:F (2. 2E R\ M_@DG=II?0P,8O28V?CJ,0)F KMUG*]4(%.C>$FCC0-%)6 ]WNDK7]]F&$XL< M.&'+KV7--'L;VFLA.)C%1.?R.GH!G0?XC:ES9?*F3HD/_Q:>S2K910HH\<(>O^0F>3C2::N(8P.!!"0T[*B+'3G MP6MQAE"'B&;%CGKI)]MT1DU\"*+Y-Y10$-Q'\/7_;SA)WZP?8 B.>H C+QV? MBX@D]'6#+1@G:B/6UPEA&J<=JA2*(!X06.X1N,[S6L\)XT"3_$(=A M0+:;[V.FWM&'X(I##GPSW]]\K(? HRU$1AN.;@YLJXEG+7< M@R3.B+NORWN9?#GD;$#Z6< JDU!HQ5%UITXGI2O!!805ZS;BL*2) M"'UE9M,1/\;F;1++.4CG9NW: -J9C0@N=$.>RJLVY(W)$ A'$Z7!H\QZU:JM M^:(8-;G=-_V6K9PMPMARY+IQ09]F!E*E$L/CQT45YSW(':0Z&90@A3M:B:3< MS[^RUP,N\W46AB)\2]Z0ES;Q[(D5;U E=;;61X1(5+AY&+I*WY7"5;/;H@Y7\NF@RY$&=SSH0JRD5J#E()^SP31C]PRX$GP4L/"50 :[ MCB.>OC66]'QP_-UWSTY.UL+Y$O.D,"=>O[&A_]J?@'4S#F=:IV?+99E.#2)< M"4,)W\_8NO[ QH7IG;0('(ZDD6_<)W36.^ODY1 0(R'VV5=[RDG/IN9H1WU) MOB4Z2OE;GP@'"I5L>!2,EXTO+.@16-"H3,>B,5P@7R;=QZ)$DU.I.0B)V/R.# MK8F"INR#HZ]%%32]L-J\[6IIFKT?/TD3FYVA)"LSH2+->2PCBIE>%HG32ETM M@H9JD#JJ,"C4_J6 FIV 3H9OW*W^5I>HU04=XOO?4J>])YV"8E>"8WOTI-8O"=5?%Q$BH$/L+'Q2-3"_J4&^')E)SF'*:IIR#RTS<8LC@-(X[/[*Z)6I D'GC9E8O?:39*+8$ EKR7%O@J\Y; M%,JW8<20>H4#8U&!1FCZ";>8XD82MN:SE48JP4^=2>AS&8$*>I);+&/4-V0Q MT$WY6"IM?Y_GH T*>SP@,5]D[&;2<_R 5[C3.NAJT.O>N066Z'/')T'?CZ4>!V"F-=)L%$67=N'"+ =) M%8&^L58.&BU 3CX"6+%,IG2?RE$CG(DM6-M%G1$RVXA(I:D6EW^/C"4Q&-:E MZ:6P2=EOS39?VOPS3Z3:D,KQYZ(QJYBPDPL.$DC?+3#N6$-S.0B*I<>NUF6] MM1S6;INZU"PHF$UB-.:4J9IDFSV+]MC8\54?%,*:A2<=\S!$U#+V"RPB1SMD MD8/CNMG*/%\PC;FOY3K6SUA9;8!VLFNY$Y7]5E'(:,'T=;+@NFL\P1;E40V MJ5G=-'*H'$=+CZB]0./V]C;[%6Q&$B+63S;G+9=FS]D&:?"*+=6Z<0$,71'J M$'!-LE^F'Z;9V<7%]_D3YWL:%(QQN7@2;C?0>8*RX]A?#H &4#5D5YE&TU?2 M^PC!K@351_0V/XI?_>IQS.V<"*"PR9!9D)L8[5%>ZX44?GJ,+&1X$&73R?PW M_*^''_..\*QK(=*_%2UG4>4RTIN>NF\8\CKOX#90MJ\ M!4/7==G1$W]#9.!W!#\..Y]E@YE!2EF2XWIY?%X MN#RO90)X^1_B)L^> Y?=H[V/-U;_LZO[2XQ:%P0L:/>M\BG@)%8/:( PJ*_ MSW=(GP?2-]6ZX\O]]8FP=7]46L]XHLKCA4F\,:;8E8>\C8RQ]-,DW;?Y<\2P M7-\,3?QAYG86R%!.14M,)4W;_IKQ)&(2'Z[@JL'30Z2"]$3 'V$;:7Z_&0;>(Y$ MZ=L$!F]Z-5_R( L[IK<&)NC]&U@4'JYR)'"PU5N)/;Q8VF(1CB3UA*<)ITM5 M*'8'-M$N+L2X9;H@,J\6I-$_[RO!FE-XCE1@%G;6BMN%K=]3RQ-6V+@I?3O*S0 M!U^$^R7_"Y^0L\( 4/2X?]65^EHX0HQ7B?5^0Y]HPR!YH(IX85>U1_-/>)_% M5#RO'%\(= =:VQ#5P<;*C+:2:OZIG/;O_%P%/4K=A'JDL[CXH:W7\O.R6=VV]4K^7%H#C^$+^'Y> Z*$#]P@_=[PU?\ 4$L#!!0 M ( %&"D5969[,)]0T $@E 9 >&PO=V]R:W-H965T<9QT\:]2>J)D^;ASGV 2$A"0Q(L M0%I6?_W]S@% 4HL=O]@B"1R<]3L+^7IE['>W5*H2]WE6N#>'RZHJ7PX&+EFJ M7+J^*56!)W-CZ.+QXS?=N[,5K4U>9+M2- M%:[.]6%9T8W#QNI0+=:NJK^6-Q=6@H9+J7!5.FT)8 M-7]S>#EZ^?:4UO."O[1:N+?G;I264:$ MP,8_@>9A:9$ M+S&9X[]BY==.)H3>8TP49Y;:R>*JQK[JX3/ZIM=.D(?=Z4($BW1\D8?=; MOWO\P.[16'PT1;5TXEV1JG23P "L-/R,(S]OQX]2_$,6?3$9]<1X.)X\0F_2 MR#=A>I,'Z+VM'>XX)ZY,/M.%9$'%?R]GKK+PB/_MD]E3/-U/D:+DI2MEHMX< M(@RX?>TX??T,>H_M,>CN_?S)CZ92HFQ^.6G\_%H]$IT MCQ"7T(,1'V6R!"GQ9R$NZP6\3IRR!<8]L5*('&RP*MU:_.'#E3@FHN/AJXTG M?&_TZJ0G9"&N,S!IM'M&L9/"=8MZ#L775EEAYJ*TNJATL1 *9Y2(]JHG=)%D M=4HW,SE3F5^CK.N)2LYF_",QQ9U:&_HIBU0H7&4 *C%7*N4%@"LA%PNK%A+" M8[G3>,#FIV./1F?]$>()S!DXW)=ED-*K1:RDPW5B\C+3B*U4E+5UM2PJ41D2 MZAV65FMQ36PI:.NFMLD2\HE+G*A("I'BW%2 #D[;U*DXKG!<4-SNSJ@],5NS M;#(WT$0-F7Z__?2K>&\R5LV5L:4) D4KT()6^71**2TQ0Y+(8LV\="WEM;=Q MJT_"-+(2C5T6V2O*<#L5H^'P9R)-B[5S-%N1U.Q-R: MW$O(IFO(D_43Y6TV[3]_W&;SFF!(4,POQ,Q8!!]^.4&WX6ZU%0G\6%<"+J@S M<-07WT![5B%[$==(,QPW1>452V*LI+70!C'O:OP",Z7)=.*M4V:(ME0<38;# MWG XC&K8XAYRL]\HEQ >D&O5K,:E3I8;SD6;H:/<,77X;1H"-1#>9PS8F&5S M)E.0 +0M%I :9\C32..\>U,TUY5-8P6\C;3?%U]+"$Y')9EA/8:3@9>%DYQ+ M>UNVFZE$YK &Y#%9!C=;D39=/4/0::3ZQMJ?S)WL(6R2/ORW2&I+WHD-*UTM M^1"G%T7GS'W2DJ2%6F%7@TOM2;UM_U;L<6FP0$N0I+^563=BF8E;EK/+B?/AM!?Q>6_]$&S>9C^_ MJ76%U1).!VK$ ,BC0F3%D*$]A6Z2\XON5%$K'Y5*VH)A:P]<6Q5VLD]S,,S! M%E0)3;+)R9>=AU.B3'G(2]SHP6/G+L!NNBLK-;A/"(4H_Y$>2*(198.M M75@=WTDWTCDJ(SYC7540P&8H[VRI-,%1=#O*,D=$% MPP=2[=CGA:7M7C9USZ+M3UKF#CF3[G>,$U86Z!9A'0307'.5\S3KDTN1]6WJ M2Z.%,>D*V-6/8<>H->.:BP(^;\TE$#K:L!]"I#L<'HH:HL]FI^0MG2DD^V/. MHA*[:"%IET_ROD8I?#-+=BX4:8!R%-8$D7QF#X=#K0%J%^Y4OP.1P#9U'#U1>WFN+(:PDT.#^IC/R/=-1Z'ZH)8RL/0NRB2VW3 M!ZARN;B4=^ W_1L)II,!O9U\<.UWM2@UXC%XA M2731,)#PJN74Y/?@OD^FK(]M @W7:7#!+*FSV'SHB&Q-NEM*-8A FI2J< M!W&NS0&*J*Q]Y]3D,CH%1$VN&B_A:%)B(C,1[2!S"2G?=)OALV[W(0BLR=N,LI(Q,F[ MV'&C,1T/AP?7 ="9S'6;VR]]!$YZI^?#@]\#9(MQ[VPR;#FXD6L9ZX(_(8D5 M5[ZZ1_W<"GP\!I%3<7+@/:NIQF_8 D=B=-8;C:?>A#L*?:39W#6>;,)40L'09\WX%\D:6A2>4H)BS,X,!/'XQ,/ M968M,[0V-K@UP&+Z-SOM#6G5ZLEFT\+,7>,;''D]/ M"/$AB/+M+5?0_(C+$V]TF/QO/P#N)!F?F@A%'(/&,_QY_C3DV,U/T0=U-WSV M^"I7OAX]6U=M]'RGW':@"[;\5[_B UEB?7 5M?:YT?41(G.(1FYZ\*6QR^!+ M-)83IV-^Q@%W%**8)-U#:IOKUG-=R$QA)7K@$ J,!3-R?-K,/LS56$SPB#3 MD"9]1XOO]C5>]8U;#1I7VZ-'Q!1-](,?<[^Z)C[KZA'L9EHATS;%FI=H 09Y M0M#QZN@HL92':UGNB:/+9V9AG%BJS/>,F[(T$$GI<=P_F\3\V.F)"3V0OFIX M)LG&!\I[2DFE<=0G;&G^:87ZWG0$O0'&'FKA?N"T/\I<7-+NL66L[+OEC1_" MQ4J?.GJ*_%GM PW]T'WI9\Q6A8?R9M" MG10JJ'I"&&O30\--%W7AF=94[J_"=IB=HMP#-@V,?2_%K:6!?;4*'LZ%ZUKQ M6&>V4V[M'VZ0^G)(E?([*3)O$A232&LY,74ZE*Z^]G;=-T&RF*&3S;'OS74S M,W:*N\DP'0W%]18Z-N.%F4]/<+PV#Z1/+\9B-Q.JU.TA]W8Y21G!FGJQW*G9 MV- TO67LW<5!6G/P.4B (F';>PHC9$TS; ^M:P(!@@^S/:7MB_=H/=TL$;RO7FMU,#]6Z,H,L_.SP3@,[%R'@)IF\WH"'YK+')*N?9M&;AH MY6V*R84USK6#OB9\G,Q4B^S-JZY2EE0<<=50$II3J4D#U[@TR)Q&W&-\"^KA M-QM?M@HP1Z.,=A1@+0$?Q$@^B)0 '7D)=<.0LQH=G MFRLS%I.&L9EZENJ%9AC-=?HL-?6LN;O0IB;(EOOM(&;HXIJ2_C0G_A-L;X"M-B*TVB3 M[??4Z"T?7B)JM_,ZWW91-"Z(@W9LU73UV\)U2X)F6N&G=U7P5]_8;)3$#YSJ M.N_L?E@PU4-:>S/'-H/@N!L> M<1U]"Y/6H6:BWA*P3JQNM">]8%/"$!IM%1MO0./1'=7[\S49':ZB&CC;.79=Q M2N2<232[2RPJ8"H/%'WQZV.#QF86J/VKOW13'NI<]WU!,>A\W0*#+_@;'IJ] M0O'^0Y?F;O.9T*7_.J9=[K\Q^BA17Z+1R=0<6ZD;/136?[?C+RI3\KON*-Z M,NT,*Y$4]>78GG'<9IJ=S383IYN'G7V 2$C$AB08 +2B_OH]%R!E^2/N[@M% M@K@']^.<"U 7>VV^V%)*1]_JJK&7X]*Y]GPZM7DI:V$GNI4-WFRUJ87#H]E- M;6ND*+Q174W3.%Y,:Z&:\=6%'_M@KBYTYRK5R ^&;%?7PAS>R$KO+\?)>!CX MJ':EXX'IU44K=O)6NC_:#P9/TR-*H6K96*4;,G)[.;Y.SM]D/-]/^*>2>WMR M3QS)1NLO_/"NN!S'[)"L9.X80>#G3M[(JF(@N/&UQQP?EV3#T_L!_:V/';%L MA)4WNOJL"E=>CE=C*N16=)7[J/>_R3Z>.>/ENK+^2OLP-UN.*>^LTW5O# ]J MU81?\:W/PXG!*OZ.0=H;I-[OL)#W\A?AQ-6%T7LR/!MH?.-#]=9P3C5RZ21]E+G>-8HS=3%U .;7T[P'>1- TN^ )"F]UXTK+?W:%+)X M"#"%1T>WTL&M-^F+B'\3S81F241IG,Y>P)L=PYQYO-E?A+DUNJ8;^&I !Z3: ME73CDRP-_>MZ8_WXOY_+0,#/GL=GZ9S;5N3R<@QM6&GNY/CJU0_)(G[]@O?9 MT?OL)?3_M4@O@_Q#.TFS5S^LTB1]_0PB?9:@LX%&(+:3;+E2DA65)+VE']5/ M5 I3[(61I)J\Z@K5["(JU$XY41'8J U5@C:2)M0O8O':BMW.R)UPLJ#-@5JC MN 703NJ=$6VI+592LYKA9 MQAA)1K]V!NV/B0@S_EDSQ!I/Z]&-:$0A:!7-UC-:1/-D3?-HOLQ&UU8)W,ZR M.:[K=(%K$L]'-Y)95_D ;]$>2[H&Z^ V9=%\M:99E"ZQ1K2>QZ/?D71#290N M4EP7\R6NV2(;?=*S4;OGR;QK_+RVU#: M,P)PEG$F$'2V3ODFBQ*DY+9KVTHA;:LTBI%WEM$RB9;+='0+YJM<^B#[ M(%91G,24I-$2TY(X2A#?_Q,'//Y%YK+> (Q=C6@O";F4!B54C=-8C 3V"70> M$/!4VKKQK-6=H4^O1-V^?M^W5&DLTB G9;)+. MT7>KBA6"M3:LCEQ")0734>#)8@,8ELDKH6H,,TG%!J+IX):AMT8V>0EA0/:R M$@ZB83!1%%YZ7CEU"W>Q:JXM9( 82W'G1=89CI0SNH0XDI-&^'['4.%>V]X35?$P2!\T#+7BH(4RY4TW#O@'Q&H95X 8OW:_J M'2^-[G8EOYM/Z-IR[.C7':MQ:-D1"MCHYF?O?..B^YY[;>T@\[\KL5$5,@ V MH?DTO,M6<+[0N'Z:P ?:N0KX.O, M\P%U3#>*:4$#5W) VA,5\YJ0#2R%\PB'Y7#^F-#O7-C!C^K>Z<$9(WW/1^W8 M#2!:3J#\EDOKDS.T4Q.:[9^RB+Q#G@KPVC/A3C0Y-\0HR ZZ M0A>53,Z00?G-!=Y#M48T[-3D/M4GKH)/+.L,,HSCV-N>H;F$!_>D?'["HT$( M#U&VTA^CJD/DYX0P@E[U[+K]ZNP6=>2O,A2V'CF/O>PM >TZP9Q8MPVY] MTN"&/XK[-YM*84\%I4_+?N,;R.>^@102ZL?!4?:NY](XG-7[-G-"0;WA<5Z" M=WM[9'R@(C>W)TUEV%TLU?S]P%DP\FNGC*=HWRYST?+9@-,YH7@\ET/*VIMG/K3)Y"X&:"\WKC#^<"B050^,=YAI(+/]S_SJ:J?.^$<;R0V MPSO9>Q+0T1@V7K4Z1'OB+0EE=N ZIA^L0VHOD73PY[[)"M' MYB.<(#K$4$!_1SRN ":B6%W=!:T_H/U)YA*688L[R0LWC18(H4F%O7-H M^^)^W\]SHK DP+'[7'T>-? M?A2_A^>O@_X;TP M.,Y8JN06IO%D.1^3"=_HX<'IUG\7;[3#D=#?EE) E3P![[<:7TS] R]P_*/D MZK]02P,$% @ 48*15L!?,7K(! Z0H !D !X;"]W;W)K&ULC599<]LV$'[7K]AA/!E[AI%(D!(I'YJ173=QI\YD'+=] MZ/0!(EU;,Q94%F[ M/AZ-3%%ASTU:N166ODI1>JY8A%T614<]$$LU-/^Z1GIZJU M4C3X28-IZYKK^W.4:G,6Q,&.<"-6E76$T>QTS5?X&>T?ZT^:=J,>I10U-D:H M!C0NSX)Y?'R>.G[/\*? C=E;@_-DH=07M[DJSX+(&802"^L0.$W?\ *E=$!D MQM0$OZ9U,/%[R M#-Y[IMUM@4]_"1^L_+QX-K(2TUH^/!A2\+U'!!:>,H MHOF0A5F6P1$MMQZZ0[+T$]1AQ MR*+LX7 \SAX?9LG@5JM_>?,[7Z \'ES>"6-%LX);+*I&2;6Z)^F$9<[ *'?2 MTQ22)-U1XS";.&I,FTF>#2B)K1:+UBK]8"%,$V(=YSDQ$E^233I*.G64= (I M.?I!-7B_H;[X$\YF%,^$E,?A-'[D[CC,)Y$[9VEW'F6/SB=AG$6#.=FHX)H7 M%:7FZ^J2,"+0PR2:[$'1E8[3?O?,3,'E)3U?]+1!R@@C97L029:_"O!#O870 M4(X>0!J%:9JYS(FG89),?.K$+*:1T<4FS"77)$R3CB<+TSCJ>#*7=R1$#^; M%P:"P4)13_I*96,I#FKIZR:$#0+>673]U/-I= ^LRX_6X+*5(,42';L[I&)^ MA[O\*78Q+78QU7LQ!=&[Y0I90W_YKMY1-YZ3RY"VQ1 .7318=-)S^7U\<@1+ MK6JR]=T]<@VW%5)KV+BA42#J-1>:'FYJ&5;M:=SUD;+5SE)O.FJA2@.=IS\T M%->O74"&,*^5MN(_;QZ%AOXDQOM_$ ^G]"Y*2?00#MB0/>R<]$$ZC'<4>EIM M1>%8<5TZRWCQM16:].X'I:(.MT!LB%C(MO2GWE2*IU%2E+XQ&4M3YR(90:P4 M3^$2[K$VFO@3SF\T]!0 #UQ;H:J@_ RS>+J=^SWS"Y;'\-1+-MK[?E#FK?PGRU# MVL9V/Y&>VO_CYMWWY8&]^P1><[T2U+HV] +XS\Q"64IS MOZSH+XK:,=#Y4M%[MMTX!?WO=O8_4$L#!!0 ( %&"D584X7#.[@( "8& M 9 >&PO=V]R:W-H965T3^\VFOSQ3:(#KZU4MEUW#C77::IK1ILN9WH#A7M;+5IN2/3[%+;&>1U +4R M95DV2ULN5+Q9!=^=V:QT[Z10>&? ]FW+S?,U2KU?QWG\XK@7N\9Y1[I9=7R' M#^C^ZNX,6>G(4HL6E15:@<'M.K[*+Z]+?SX<^%O@WAZMP4?RJ/47;]S4ZSCS M@E!BY3P#I\\3?D I/1')^'K@C,_X:'>*:>K]+2AE_8#V<+%D/56Z?; Y@4M$(-7_[M\ Y'@$7V P [ M %C0/5P45'[DCF]61N_!^-/$YA4B9ZZU"DS4*>Y.6,?LO%,OHDE* *KN%7 MK6L+K$@8RR%?)O-\$]'1;'+ '1P]5:C;@/?/E=#8LAV&P2.?)_!:A:1'O=NBV84)92DSO7)# M&X_><0A>#;W__?@P06^YV0EE0>*6H-ED/HTIEV$J#8;379@$C]K17 G+A@8Y M&G^ ]K>:BN5@^ O&OX;-?U!+ P04 " !1@I%6W\=^P4,# !]!P &0 M 'AL+W=OV#K3ORGH?WPCLN M>ZF^Z1+1P%,M&KWR2V/:BS#468DUUQ/98D,[A50U-Z2J;:A;A3QWH%J$+(IF M8R,Z)J<*- =W7-U?,5"MFO_-A_6?A:;4MC%\+ULN5;O$?S M1[M1I(4C2U[5V.A*-J"P6/F7\<55:NV=P9\5]GI/!AO)@Y3?K'*;K_S(.H0" M,V,9.'T>\1J%L$3DQO<=IS\>:8'[\@O[)Q<[Q?+ -5Y+\5>5FW+ESWW(L>"= M,%]E_QONXIE:ODP*[?ZA'VQ3.C'KM)'U#DQZ737#ES_M\K 'F$<_ ; =@#F_ MAX.< -H(W!GB3 MP\?O7=52XLTR-'2$-0RS'=W50,=^0A88K MG_I#HWI$?_W^73R+/ASQ.QW]3H^Q__="':4[["Q\D09A]O[=G,7LP_%,O>ZV MXRZ.NYFDMM4&9 &F1"BDH.ZOFNV%1_7LJ/MM23U;4EM7YIW>-F0H.TTT^LS[ MW;+9GQ-NZU;)1[3$&DZ !4F4TC<.HBCUKKI*Y,2L!WND#BVE^!8 M!;/9S+OC64GI("?>AL328#&+@"4!2^;>M:S;SJ#:,[#F][(P/5<(<1(LSIG[ MQ(GWJY):P_&43:=!LDAA&@647^\RR[JZ$]Q@#C=(1<@J[@;5:1H'<32#,SA- M%D$RC^#,^X*O&3_(?6)C9/.Y%>(@36/O#2<^T137""2V1PO7%, ^@1>D6W]1=9%(>Z*]P;B36JK1O\FNYEUYAA.HZKX]MR.8S4 M5_/A8;KC:ELU&@06!(TFYU,?U##L!\7(U@W8!VEH7#NQI/<1E36@_4*2HSO% M'C"^N.L?4$L#!!0 ( %&"D58Q59]UV ( 8& 9 >&PO=V]R:W-H M965TU!L)C8J6YZD-.W?CY*3K-O28"^Z\')X*(H<+)5^- 6BA>=*UF88%M8V M)U%DL@(K80Y5@S5I9DI7PM)5SR/3:!2Y=ZIDQ..X%U6BK,/1P,O&>C10"RO+ M&L<:S**JA'XY1ZF6PY"%:\%].2^L$T2C02/F.$'[M1EKND4;E+RLL#:EJD'C M;!B>L9/SKK/W!M]*7)I79W"93)5Z=)>;?!C&CA!*S*Q#$+0]X05*Z8"(QL\5 M9K@)Z1Q?G]?HUSYWRF4J#%XH^5#FMAB&_1!RG(F%M/=J^0%7^1PYO$Q)XU=8 MMK9)$D*V,%95*V=B4)5UNXOGU3N\\V0'7K+),?%XR1MX8_$B MIA(-B#H'G["0!KZ?38W5]"M^;,NY1>QN1W2=$PI%8PJ)\P'!WLL5Y\ MNH-O=\.WNPO]OVJR$V$[/_BD+$)ZL-?GC)_^'036 EP+,D6M9RRH&=@"8:8D M=7!9ST\"*M"".MC5*'AW4Y-:+0P]KGGO2^86'CP(K45M7V ?6"=..>W]I!N, MM9JA<3TM)%PCQ4D8@RYCP;7V+00K@I!TT^ 6J>/@MA334I:$Q=,C2'@:K,D2 M6H.:% >B:DYA(ER9OXAG8/V4@'O!Q*KLL5 R1PWW*(4?!3YLOPB77X\3&MO20-]B'I)'&?4NMV&-OZ5Z-7O5FA MGOL)Y!YW4=NV33?2S9 [:WO[MWD[(>^$GI?$3^*,7./#]"@$W4Z=]F)5XSM] MJBS-#7\L:%"C=@:DGRGZ :N+"[ 9_:-?4$L#!!0 ( %&"D59N/,=C10P M %PC 9 >&PO=V]R:W-H965T3>*>[G;7=R;"__IXJNU\2$F!. MM])]@;1CUWL]5>7.JY6Q7]U<*2^^Y5GA7G?FWB]>'AVY9*YRZ7IFH0I\,S4V MEQZ/=G;D%E;)E _EV=&PWS\]RJ4N.I>O>.V3O7QE2I_I0GVRPI5Y+NW]EJ.RC A!C#\BS4[-D@ZV M/U?4W[+NT&4BG7ICLB\Z]?/7G?..2-54EIF_-:M?5-1G1/02DSG^*U9A[_%I M1R2E\R:/AR%!KHOP7WZ+=F@=.._O.#",!X8L=V#$4EY++R]?6;,2EG:#&GU@ M5?DTA-,%.>7.6WRK<.!UTQ M[ ^/'Z%W7*M]S/2.=] CO<2U=DEF7&F5^-=XXKQ%B/Q[F[:!ULEV6I0V+]U" M)NIU!WGAE%VJSN7??AB<]B\>D?2DEO3D,>K_K8,>);I=9/'!>"7.__;#^7 P MO'@&7_%@STTA$E,4,>-6VL^%GRNQ*&TR1^H(,Q5CV-F(]S*90Z:NP+9Q.4.< MBQ-V[K K5DJ E@)MH0MOA!1W"E13,0:/E/E@E1^PA<2Z5])H MV+_8I,++@XO#(.>5++ZR?+FR.I%=\:$W[G6%="(C1G:-U#M>J@CTQ&=\]4!( M&26D<\^3-N5EL(02[A&#(/Q MD5]TE*B_N[GZ>"L^6PGX96?6C-;/7ZM$Y1.8IR*Q9J>?OVGG=3%[*$2T7K#VU/ICO09 52/$%G@$2/[.0, LSH^#;&M,.JI)W*J)">N,4;"XG2'GQ M,?&&T#:V0D/0LZ:^* YWI (,(R')/>BK M*@5KBEV*TM7<(/^@44S6;D ECUF% 9O^4TM!ZH)(KLN<=F.,DAG2ZH!SBC*A MB T^AB$Q 6Y^Q1044A-\ID(N%ADZ$23[82U@D*D%'<_ ("$)$.[_$L%034LN M+L1 +2EN"B,(<"*A=4,'.*2][?K52$XV=FV\7P%JR6]IJ?AHA7[@."VSK('7 MW=HS"?*@+B 6=YR,OU356G9-RX2=6N_<($LM-$58)-^R:1?T)K^C5I+W*]1% M6"N'0 '@,QBC]'!)AP5WNR!$NN;F%T8CA&U[>">&222&=!'#W,N-+"#^#\P3 M+#U1TC;\2"<18!T<95% .*0/,LR;+GU+.6X6GEL7I3E:#N0AL[NZN_JGN*6S M$ 13,:R55EW 3KD/C.U6FY(X'^R0-%6%"7YALA(1:JTJDEBB0K#]UKOKB6M8 M05H7FL(F5(%*A@Z3?@C;15;",_"]G;$ T&Z)O(>]R3W, ?5RQB(->J?]'\FY M:#OP@2X!&$3(''"L,YD.+7&&#+"4*V"B83)J#R?4'DZS,O&E]"':IXHD5\'4 ME8%9W+F>S0$*"9!\9\5F\ZCVD/>GVBSXY',*A*'*QMY0H M;RP+\V2[^I1!!J,?6?9^[WCT/18A1 @I\$P@V )&.1A+;VQ5U+BM6H,M$MS MO^I;HA81I[BJ47X7RE-ZSIL>EK^JJ*?:H0<,Z$:Z8A?P@WI?"OXG#FOG2BK> M?))\P^>2[SM7A0S2)*5["1Y)TB=IJ&_HB8U%#:)"9S')Z@6UQ6-NCQP76[0+ MSRFQ5$,FM*$:*-:L&YV,]"\5U8(;O'$,9Q66HJMR"EX\ M"(%*<2A1D54ZJ\>> )YUY-"M@J &E")F_.$& ]9=-]R^?C!+*?Z>3W[AG&R6 M[L9WAUN;V795H",3JILY*N.,"E6L8F9%+1^"L"4USGZA*/XB[4HG7[OB=FY2 M)6X*N-AGW%+YY(G*9QX".GO;-!Z#E.>@-T871S0\3OT?3S;(XSO\JB)+O4XSAM MWU@<=JL,U$N51?^L2 S&W%3LGXV&-*B'*[(3_C@UK<&"01H%HTD<8!Z;]G\@ M3X\N<5L=G'NDA5OWRV81)T\>]QM-1N$SW\[5RK:L*+:(+;;*+>)MS:;D5R;6 M_]I4L;6-0^.Z7C+(086*K]\?'*IN79,D7&NSDNWF$J>I3/&;@4"7< X9%0N4 MB 6">H>QWZ)65^R+%[U!'>OA.L:U+FN)8GT_$4/Z\738>*G$C]SD<"^W0Z>4 M%$[7M:MRBM^&/@N:$9.MN7FO%6A[!S?$&.T#/.$.@_;DP[W?[JX%2_N.BN8! MLNS\Q^J=S4;T'EZ@*?.(= 17=8F^?B$"&+8R&&YC M< >H#J]DXF7:J*),OB->>Y%E>&"CW\1V&KG$MSP1V&#U,B_#_;$DP-=_AO0] M& SZXE M]?.@(:84)4IX=;4BW$P,ZO^?!$J809L7+7@Z;MYQ%/QU\PH! C_(I8CBV5HT M;B)A: 7#6YN8ES2;_*5Y2=6CNID.%R9QHFTN1*L1KW5;NE6=M>JS/80W4V0] M+?;>UJ7Q!/YC5[?61E@Y6ULY?;!R]F#E',G11V!6J;'M)?I1ZQ[[0H->\4QSM]\Y&'6'#;SG"@S<+_OW$ MQ'B,$?QQKB2PA3;@^ZDQOGH@!O4/:B[_ U!+ P04 " !1@I%6*M"[AMP# M !/" &0 'AL+W=OBC[0$FT1H4@M2<5QO[YG*%GQ HD+%'!L M49PY<^8,.9/9SKI'7TH9Z+G2QL^3,H3Z,DU]7LI*^*&MI<'.QKI*!"S=-O6U MDZ*(3I5.L]'H/*V$,LEB%M^MW&)FFZ"5D2M'OJDJX?;74MO=/!DGAQ?W:EL& M?I$N9K78R@<9?J]7#JNT1RE4)8U7UI"3FWFR'%]>3]D^&ORAY,X?/1-GLK;V MD1<_%?-DQ(2DEGE@!(&?)WDCM68@T/C<829]2'8\?CZ@?Q]S1RYKX>6-U7^J M(I3SY"*A0FY$H\.]W?THNWS.&"^WVL=OVK6VDTE">>.#K3IG,*B4:7_%-TB9F\@CC.ZLR:4GCZ:0A9? J2@ MUW/,#AROLY.(GX09TF0\H&R434[@3?J<)Q%O\@;>K5P'NE4^U]8W3M)?R[4/ M#N?C[]>R;;&FKV/QG;GTMZS$:T$Z2-$$Z69 RP9(@S69BZZ3$ M]0TXT:$9-P&&@FIG*^6]=7LR'%X9VH@GZ\ANZ =XFIVU!=6-\XT M!G!WIB!1X!(JWZ:[WD>,A^MES$XTH;1._?.R<[.\__A RSP,Z3<. MUM$:$,RVR@BM]\1]MF@TG) CV@R?2'LL<0:)A0=G#_$X+,>"!JP9\_"!!#[D M!&2$>N/AZ&NJD9\PIJD@?)Z[1IEM*P+3BO4I8#[D8GYJC*3Q68R%2_:B$NJB M-@H!&P\WQ.B3K5&])VS8QO%"JUQ$Y3 D^&^+1FND]\R&?7 (%.A^4:[:*9.K M6F@T52U,'JDSWD&D5E*M6_[MX6JS!:23%CUAZ3EMZ=&!!WR .!9$LG#\W @' MDA$-N71$/(1B=]8RV&&&LO'P.4*M1OHRG%P@%&L:@.W_*(U*N MFR(RBB%!T%:U,'L6&=&]U8K590/L@%/ *H*Q0.R"\B@H++E#$OH;V.X/+2X; MTFNM(SUJ\I5TVSC*/.(U)K3]OG_;3\ME.R1>S-M1>R=0(N-)RPU<1\-OSQ)R M[?AJ%\'6<62L;< BH\E)KYT;(#]C<5EZ18&PO=V]R:W-H965T>>>:9%X_G=&G=1U\R![JN*^//!F4(SUDJ;P?0T[KUUTU/;ADH;?NO(MW6MW.J< M*[L\&XP'ZXUW>E$&V1A.3QNUX/<6T..B[/!;'QR?BCR M4>!/S4N_L2;Q9&[M1_FXS,\&(R'$%6=!$!3^KOB"JTJ 0.-3ASGH38KBYGJ- M_CSZ#E_FRO.%K?[2>2C/!L<#RKE0;17>V>4+[OPY$KS,5C[^TC+)/H9PUOI@ MZTX9#&IMTK^Z[N*PH7 \ND-ATBE,(N]D*+)\IH*:GCJ[)"?20)-%=#5J@YPV MDI3WP>%40R],G['35THB0\^U42;3JJ)+XX-K$?K@29F\)VO>YY-[$5\JLT\'XSV: MC"8']^ =]'$XB'@'WX[#;>]?<+[09D$S*2 =-'MZIGU66=\ZIG]F3']Z,'X\>GJ/2X>]2X?WH?]OJ;W?RN\V M,(U'/STXGHPG3W_$)LZ1Q?&3/5HRX9L=YZ1-L*0H<];[G[/6.3;92G9QZ@,Y M!:M^J9H(J,RV$P#4T0B%DF\).%#8IS>&7K;5B@Y&L8Y&D0'$<,\@E(N>Q\;2 M1D"_3W^4Z=R3+2+J# Z@H)-;0(]J%W! !YHM'"<'\[BMHM8M@YEJ?;1D?:+M MA7?&2@Q;FB,B1<&Q=5&)0N3>= O#KEI)9?)U$XMQ@Z%X(%VO$T[(2U#(< ^E M7"7&=0VBX 9&C=/6B461AD^](D,AIT^MZT.LR9>6$B9<,"PZ>2D90!%F6>F'H:]!&K=*-6"(\9"RB!\HN M91!QF_1Q^]K5'_3O#H=4;5W0G[_R)I3.MHLRJEJGT0.1$TG$NC9B/28CX.E+ MW:PCL%&;165QC,5-ZSG/ _D@OO.U]A@L:!8(71U5L.H;>[R0I8(_15NAGF[$ M7D&W8V(PO8C'6 M4.XXT)ZUCE M7UJTWFC,J"G;BMO&VTJGCE7T+3QVMB182)\ S@JQ\)3:W^V\Q7Z(Q>1DY^\H M%I_]G0OI%,]!-+ZI3 \O)5FV]1#WC]!,;9NB\AL*_N$KQ/P1O;)9W\EDF[K] MF\+=[LXFD>]8[[R7S*Q;HJ==ZMZQC=6;6 Z7J6AVZ>'1+_1(_I_@?]LK/=P8 MQFIVBSAR2M\%W327];O]5#M+P]P7\302OU8.M\Y3Q054T4N/!GBYXIB9/H)M MXF@WMPER6F,S9B0#."XO7N?L0 _VL/_T/4$L#!!0 ( %&"D5;P@%P6 MJ 8 !$0 9 >&PO=V]R:W-H965T3.9Q&)#M8YCWY##R-J' M6B>\AFH2FT"Z%*/:3N;3Z?>36ALWNKZ4;W?A^M*WR1I'=T'%MJYUV-V0]=NK MT6S4?[@WU2;QA\GU9:,K6E+ZW-P%O$T&E-+4Y*+Q3@5:7XT6LS/"OV9.7]+_SRJ;P:39D062H2(VC\>J!;LI:!0./7#G,T+,F&A\\]^@?Q M';ZL=*1;;W\V9=IOJ,P;PSF OOO)"P?*>3OKX,?JL"SP8:/XBK8@URQG%2 MEBE@U, N7;^O&^MW1.J>$CD)U&V@TJ3+20(\3YH4'=1-AIH_ S6;JQ^]2YNH MWKN2RF. "7@-Y.8]N9OYBX@_:#=6Y[,S-9_.SU_ .Q^\\]_KK'IG8F%] M; .I?RQ6,06HY9]/A2 OS[Z=L7Z%\, M]"]>0O]]N7H1ZFFBZB\^D9K-OOWJ]7PV?_M\M'[:D+I=W+]?JD615!/\@RDI M*NT4]39AL"FRS0FCSJ=OW]_?RM/L[:E*&YV4@2&7=^M*O;*DDG[L;72%KA*3 M*B@D//7H@>=0'*N_.O6."JI7^#1_)3*9GJE;[RKX%!4Y9)%*+$/J)_W8:#:] MS5AI![HEYUW'A,\8AY_6T%I\\NL.;+LQQ49IM"%(6DSH,>47>*+T@S96KXPU M (0'0%IV_69^/ITQ3CH,UEC=$#HIR5?A!^343_N?21+^ 11)MJ8R'$4L(I!, M&.B;;02W&"$2R?E MPV+YV 5.1B"F*NA:.-%U:;^CPJ4=/7JBQL-$"RU](71EC/>!A: R%+1KRT^ CK2 W&\&@H% M1_3DU?2;TYXB3S)K@QALL?EU<0'!1IN2C7T;AFJ*"$?:$AW(O>N*4PGR#ZTC M=3Z5+[.Q^ML7T,S6FMI(+7CU]6QZ-IU.F=:^7OFET!;*UH&Y!'C7XV"9 M 7M'^"'2[W?S_?AOM90)"9 V1'2U,%X M,'2>@)4DEKJ$/ M5T596C>-[=WL2U;DI\[',QR/K(6G8[4TG%Y.&O'VXKSZO%0?%XL[5;6FU#S( M"/C_!_2;-:+2-RC%P4KFBSZE*O] P4E;U#&:F'1>(&]?SJ=>LGQ*9D):.ML9 M;XG@XNNCIH*E [>&EK*^-/+OY,B!PU_:\+L<_"@'YRCAQ#$(O@DL*9QI"]^" M,423<"3/C7O%'5I;7^VDCXAV>[]%09W5?R678[!/L I.NBE:W&*_^A(1@1#* MJ$X^+9:GBG> @V%>Y^,^AA^#=BGV^TA_\$+8#N8LACB?\6<7U $OYJF=JKD%.=X+I>0&HXJCHD[, MF,9G!W(Y98EAW\T5PCN6K]F>\[_=D-OK' J(" ]O85!I&T2D'9X1I4(Y*Q[O MCEX'5+>H'4&VNTZ$;L>R! &$'+E*2>-"6/8=*Y/MV\&SU 5VM3]WB/XX+$&. M4\>%V\T2!Y[= M80#/*.-C,_VC/VMOVA;:N1IC:QB*2M\NM:X4X!L!TV4'66 M4=@)"7%A6V$5<46%?4>!JZ5N$ YIS8B%MZ@EKIZ5MA)BN7V-Y50\^//4<7]R M<$U#<5=R&8U*JB3?V(:OPWUWD:]Y^^GYLORC#A4.)CC>K&$Z';_Z;J1"OH#F ME^0;N?2M?$(GD<<-[NP4> +&UQYG_>Z%%QC^"G#];U!+ P04 " !1@I%6 M!&(6VH(# (" &0 'AL+W=OC)L6PY:8/$-N"TNV@7VVZ0[L=AL0=:&EE$*%(A*3O^]_M(R:J[ M<(T<]F*+Y,R;-Q^/G.^,?705LZ?G6FFW2"KOFYLT=7G%M7!CT[#&26EL+3R6 M=I.ZQK(HHE.MTFPR>9O60NID.8][]W8Y-ZU74O.])=?6M;#[.U9FMTBFR6'C M06XJ'S;2Y;P1&_[*_H_FWF*5#BB%K%D[:319+A?):GIS=QGLH\&?DG?NZ)M" M)FMC'L/B4[%()H$0*\Y]0!#XV_)[5BH @<93CYD,(8/C\?>8.W)9"\?O MC?I+%KY:)-<)%5R*5OD'L_O(?3Y7 2\WRL5?VG6VEXB8M\Z;NG?&NI:Z^Q?/ M?1V.'*XG/W#(>H*+^GW]9*;D0HU#SUP VG:=YCW'48V0\PIAE]-MI7CG[2!1?? Z0@-+#* M#JSNLK.(OP@]IMET1-DDFYW!FPU9SB+>[,59T@?IN@VQ$U;!OV;3"$T%5Q :$PJ3X&W&JAVQ)=#"T=8L0$W]TZTL*B^!?= M-4:E"FJ%?/-':JP,/!SAC/P.\:7-K2AA)6JI)#L2RNA-QSYGZW'7(>\M,C)V M3ZV+92!?\1$'"0=3QLV>8S%$&M/OV&X.M<)VSD! JI /"=JTP@I88@')R[JM MR?8=:L0^5A+0KZ=7XPD,E$+]1J$":V )&2+UN+]"P58-&Z MOO=13MF83FD^/;J=:[:;^ 8YRDVK?7=1#[O#,[?J;O=OYMT;^5G8#?I)BDNX M3L;OKA*RW;O3+;QIXEV_-AXO1_RL\%2S#08X+PV(]HL08'C\E_\"4$L#!!0 M ( %&"D5;"D>I=M@0 *P* 9 >&PO=V]R:W-H965TIXX/N?%J(-=ZA^UK<&MIU&Y1$9IA;J7,PN)JU%^'Y19_E MOEL'BIU3>9N'36'KFY^C>22G78=8?%)-Z[U+BJ]Z!6],(+/.G>IA4]Y@LDA0)=(-$RB M'9.+Z"3B'R+O0"\\@RB(>B?P>HUG/8_7.^D9_+U86F_(6#NT(#,G0;%AQ!3VC@>%JBE(4;CJ'5!KT"7!E8BEDHZ2;K"P8,P4I<6 ME(X%]Y#E%E,)52AVX(;$564F%0]('@$MQ#\SS+9 H)1ZW+%AT14U=X1(A;C6Y-D]Y^2%!&D. M!JP_#L;UUUA;=Q#"_PO6G:,(9\R1_+O*8RZ79S'B(<&/Z+DV7)(U"[]A3L?* MYW"1T."4/ 7X#[#SE"CVAP'3#0-8N(.H,_H9C5E7FLHI+N/&3E62:L]G8;!U MF.$607 J>D'$RP&$DPDOAA .^KP80=CW)V.81*U[2@6*%;=J'>+6O7;$O_+I M5FPY'!;&DR$EQ=ISN,J*DLOPBOL;*<#OAT/X<*!UF)5Q+V@MO"5&V_@? M&"8_4S,;^A\?;6@?SQ>2B;2Q+BE=%"#T;U;;#@^M6*BXK-OL&+5#@Z5E(S1&C"\:\G^I#0UC/F4!FCC5I,$?)7UD M1'_,L9"[\#7C09(612Q?Q$@5(A MAKX<1Q$<^W5U]VX0&9JUOR=9\$&N+A/-:7,56U0WD"?QZA[W69BUI#&N<$6J M066VM'MQB]3NDZB80'ZOM+T*ZLW;*"YH,[_ U!+ P04 M " !1@I%6(!IZJ4NB)5QBSN?)]G158 M,7TA-RCHRTJJBAF:JK6O-PI9[I2JTH^"X-*O&!?>=.S6;M5T+&M3V.PGBRE_&HGBWSB!980EI@9B\#H]8AS+$L+1#2^M9A>9](J M[H]WZ+\ZW\F7)=,XE^7?/#?%Q!MZD..*U:6YD]O?L?5G8/$R66KW#]M&-DX] MR&IM9-4J$X.*B^;-GMHX["D,@R,*4:L0.=Z-(= M-I'CPF[*O5'TE9.>F\A)QN(Y#"$39=8;"6X:% R HFUJB!"R F ME 4E$QF"7%%2O;"4CF7V \N26,+RV:U*@<( 4PA,PTJ65 _T5:^_L*"RUDSD M^@PHU2B1!,QKI5!DS_"9"M.#-*SL7;=FB1F=AII*R.Y !/ +]$?# 9S901@, MV\%Y,(KAK'$E:=B; M5;(61L-=)T=NKY2L8/9EO@ CX88IP<5:0QM,"(D!_7IS18;>=5XMA$&*OX$[ M"AW<;]D&'E!1?C=V=]K)@)Y7\'<\0V*9!J,3<0IM5**TB].H&<3#Y$B4/KKM M.Q(6.0Q/O)*#CI=>SV^3R*FT3867I9[-FL M9BU75PB$S6"VE&26LOQ0*O.63>G8V#06E)I4 PQ[HMJ 3QEN#.6U BJH0I=- MF%C^'S4QZN)DB (B,^YJQ9:; F2MX#*H[Z 0S75WVM\%:JU:^^:B)-C30_L5KL;Q*QIG"_BS?7C$U-K+C24N"+5 MX"(=>*":EMY,C-RX-KJ4AIJR&Q9T"T)E!>C[2E(9;2?60'>OFGX'4$L#!!0 M ( %&"D58%)%K/RP( X& 9 >&PO=V]R:W-H965TL*%:TL MM"FYHZE9QK8RR/, *F7,DN0\+KE0T70<8D]F.M:UDT+ADP%;ER4WNQE*O9E$ M:;0//(MEX7P@GHXKOL07=-^K)T.SN&/)18G*"JW X&(27:>7LZ'/#PD_!&[L MP1B\DKG6*S_YE$^BQ!>$$C/G&3B]UGB#4GHB*N.UY8RZ+3WP<+QGOP_:2>+]/2AB=LFMS!6019;9TN6S!54 K5 MO/FV/8<#P$7R#H"U !;J;C8*5=YRQZ=CHS=@?#:Q^4&0&M!4G%#^4EZ%.Y9C_2Q!3 M25U=;%_7C!UE_,Q5'P9I#UC"!D?X!IW.0> ;O,-WCZ202WC0)<(7S17,N%I9 M^'4]M\[0M_'[+=4-Y_!M3N^72UOQ#"<1&<*B66,T/3U)SY.K(Q4/NXJ'Q]C_ M^V:.LWS5#B$].SVY8"F[.N0,H=%5RPRWM1%J"0MA,SJF'7)CP]D#5[D?L!YD M:!S9'/0"=&T RTKJ':(E%TBREL$<.#CM"$\IZ:@W.F,-?-1CC('UN]L>>=E6 M&-PH=[T]6Z;+DEQ*'WRV(A*PW F[V($K$'"+)A,6H3(BPT!I4')'&SJ^I0*H M.;5(77FSVPZ2M]ETR2+S@"9M30&2VX=O1-_4=:!B0T]8&ULG5AK;]LX%OWN7T%XLH,$4!2]9:5)@/2QNUU@VB"93K%8[ ?: MHFVALNB24MSLK]]S24F6$]O-#)#(>O"^[SWWDE<;J;[II1 U^[$J*WT]7M;U M^O+B0L^68L6U*]>BPI>Y5"M>XU$M+O1:"9X;HE5Y$7A>GHK2KFY'OOC[L5]L5C6].+BYFK-%^)!U%_6=PI/%SV7 MO%B)2A>R8DK,K\>W_N7;B-:;!7\48J,']XPLF4KYC1X^YM=CCQ02I9C5Q('C MYU&\$V5)C*#&]Y;GN!=)A,/[COO?C>VP9"?+KT5>+Z_'DS'+Q9PW97TO M-_\4K3TQ\9O)4ILKV]BU:31FLT;7( MM>;DKJN+&MQIS<6LY?36<@H.@[+/""\ B_L+%WI62MTHP>1\QUIV+TI>&Q?H6CO,>F5J MO'+'GY"$M6;_N9WJ6B&-_KO/.59TM%\TE=:E7O.9N!ZC=K10CV)\\^LO?N*] M.6)8U!L6'>/^IX)XE--^/=DG60OF)[_^,@G\X,TA:>SWI3 O>/7$" ]J_&M6 MX^UQET%ZL%-:3[8'WANSC-Z:9__-F6NL[E^SM9*/12XT M3%8.XRL)FR48*$B%_:WT0NN&0PKE8:<5+"N;G'RTM5$;;\@U>0A+*EF=?V]X M63*V'>CCD#D3PL9"-+I^L'T"SXPG6H% 5DXTBPOAUYL<[ MYC->Y2T#+WT5 RS;]=\GR2J =ZO2BC^QJ740U+4*BJ)UH+!B9*NOR1*'39L: M*M2ZAB[DOI;3IBA+I!@4J1I!#@+;A7P4J@+CZ1/826VS2+M(!PH% *=!9^HQ MQ^E<3^3K1LV6R%N8S/ABH<0"B$%409HX<1K9U(9<0?@RT,<:T6MO?&+<]@K> M?A@[?A"_BG?K$9?*AI=:VMKA<'!U_F&U+N63$":%1/> 2NS;(]78HZE3#P8(:]4PN*E-_7+>%KR]'_Q99E<'=#%'YTBIQ&7 M1L,\?3:R8/"Y]=,)2_$?^!ZNL9^.[@5JN)A16MN%MS;PY-L7W[Y4!2#<=X+4 MIVN2T'42CWK'M,#3!<)$"2W-3_$W^EW6O(18T&2>^8VRT/Q._&Q7S4MVVP4P M1R7;L?FM44J[Z:84/DYZ/. M.9^W2>$\SV./)6GF>%%$&D=NE/14_VAEM\C>_?;?/_P0:E90T$]ANN>Q,Y:Z MB==_QV T1W72]SARPL3' C]P)UF_XAW!7%E:#E'+(4Q>I;?/DB!PO$EH]4[" MOZ)WXD2HGS.6N6&T3V\_=1*?%OBQZ^W3^Y",8YH'+,XF\'BG>?I7-(\")T/, MSMC$3?>J'CNQ<2@TCX)]'@]:CT^&EAW3.V1QE#I^EI'>L>LG(TSEU,KJI3? $4%T6[P!P_8+OY6@@MC.23TLQNN?5PD!=9SG:5C$#UK6ICB]]M@_N MCGT=G2"4WKGOX=H[^N2YRP]_&9T0J7].&>&Q, R<290!BMUDP@(W>_D&!#$1 M!$9BX*,48@^XX48QB]S)RS>C9VYFH9L^=SV]&Z$Y=AXVV-^!1=XH>8EV?;K[.2_F02V8/;JM*SV M*$!M@IB(G;PC>GH[S.?6R#-\0&IO9%/FMK=V#4]@UFEG"M&N9DM9PA6 <4QX M&$0Z1RUY;LE$7^@4BI/8$AJX&*=@JM39/WPA:;A:3@^W^Q+4=/B]379 _RM?K=]L(>86XR-?B!TP M>XEV*/0P.H&D]&P-Z$Y MA7%L$'P2_D0JYIHL=2*?>D[F9DDOU(^I\R;4B.*M5!]QS,*,Q'IN% [%9K:K M1&Z0_$0FQK; <[*)F8E"-PBW0B/?"6G6"MS4ZX5.8B<,J*5A<10/90:.;Z6" M2_P3J9@84_@LH'&0IHU@]'.L.PEGLRBTJOT#U5>SMK M*:=B.!#3[@/M<].F$^,VG=A:J$+F9MYW0_9$H[++CDZFIQ\>[N[.+MEG(%N# MR3VUX3#;/IZCRD6^N\WM=KD(V7'&_4:-5D)(O].#-4H U0DC ;#=YO(G[ 9[ MOSL8J79X=IOG5A2A&S8+3)3%HB#DZS8JNWND=B\$;^V //*$(]?_AF:A9[+! MMM\<#LQYH3K\LUUC7BA=4[LL.7YS;N883EF!'D,99\/AV',%03%#5$NA:9_8 M@BPH(HO8PYU9>V*2&QCO]_@=Y(#)NMO[Q1@.=W=UG7GYSI[.>.;AKD-I>DGI MP<2SC91->)>]WZZS5N@#2XT6SZNY+QBZ^$Z,D86689+-@E;97:QW]JJ]#;3M M$I@SNH,*N*ZCZ/?Z*YZ+O=2'AP? :Q;W_E."3IM03;PH3<,R4 M/1^V#[5OP*AN1NFH,J\2Y22>\:4]=2=M/7;2/)PY#Q )66@H4H< (ZN_ M_GP+@!0ERTXSY\$610)[^7;WVP7U=E/5G]52",T>5T6IW@V66J_/3D]5MA0K MKL;56I1XLJCJ%=?X6C^&XVK8K3T/;R]%46W>#8)!>^-./BPUW3@]?[OF#^)>Z(_KVQK?3CLIN5R)4LFJ M9+58O!M7,:TW"_Z48J-ZUXP\F5?59_IRD[\;^&20*$2F20+'QQ=Q)8J" M!,&,_SJ9@TXE;>Q?M])_-K[#ESE7XJHJ/LE<+]\-T@'+Q8(WA;ZK-K\(YT]" M\K*J4.8_V]BU431@6:-TM7*;8<%*EO:3/SH<>AM2_YD-H=L0&KNM(F/E-=?\ M_&U=;5A-JR&-+HRK9C>,DR4%Y5[7>"JQ3Y_?E%FU$NP#?Q3J[:F&1+I_FKG= MEW9W^,SN(&2_5:5>*O93F8M\7\ I3.GL"5M[+L,7)?[*RS&+@A$+_3!Z05[4 M^1<9>=%7_6/74F5%I9I:L']?S)6ND1'_.>:SE1@?ETA5HO M8G#^ZKM@XK]YP=ZXLS=^2?I7X_'B[N.VL=\K+5@P??5=&@;AF[X&]F$I&+ZN MJU*46K%JP:1]/ 12ZC6;"]2]:&]JLX?C!E=L416H:'7F4:0H7"']"[SA3X',8C()9Q%Y[J"]43XD%DVB*_[,T M9=$HFH;>"3[CP,?BZF1\:DU,8;'P)8=Z]YH V"B(VG; PC#M/TJG/$C]@<>A[XABP!1&G00\C(NC9N(:(2C@=8,PE8 M,)OVY-W9:E&X*+CQMV(7]U? SF?O)9_+0NHM0[8.PYAB,33AN18E6MGGGND7 M32XU '4RAQ\IRS3U(OEU61 TU7 MJ(<2)Z'WKZ*:PYV;4L,).2\$>P^NH>4Y::72%O)0IN"+HS3^U2@A3)NJ0JNT2/S-D5BA.MVX9HF(2T M:F:3./#NA&[JDB#>)ZG4%D&-+R:)+BJJL! \.(_2Y,PK650TGT$V*; M:;,6#B+Q4N_V]A9@\)+!VP>X60JU@W X \F\;K]Z?R!Y:YC%0A9$1ZKECZ9F MPJB (%,&-=E##+- 1X$1)MTW*(DP'/O?&UX"$":%TO'D>TJOWQT]?3W+I]R M?^X8M<]I1%PE3(0&_#?ZO^ :+,0TQ%0U1E!'=P2(K4QK"-DAL4B1O*+)C6!C MF:)4-#G:=4H;-:/1H&";T5$->@F6>^" R=@$+0J5*!FI(*P:H ]9E'2=W_<<4SX41? 921O -@U&+G9J6BU:; MS+Q?@/-V@[&9W55;7H %=WP8C7P_Q;I)DK@R/22*8)0F 36^,+'\\.,1?IB$ MZ):SR+OD.7AIKDT/#%&-GWA= YMM2\\L3%(0-QI!?_M%EM4-)5:,L0$.$D?\ ML08_:.+/]QAD4-D)>#_T+NX_LC0.^VQC>"!XP]Z;C-[YAG8,DSZ6M<@J1.EO M&-TQ$;M$I2S(/]@SV9$J/;*>0UM,?SNT[^& 1.5=86"FT1,^ ?)&8+) ._+N MW3$EF,;LBJ\E6K3\V_CW ^ +ILD!887HS+>$BQ%&0>D@-:L:8_'SOOIEK,YO &_27Z0C3EG>LTP^1FJ'M/)@I4S0) MBOF1Q"8F'U$/IZDS]A/O!X3N098E9<8^CXY89J8!1879CX:KQQOJVB46MW&[ MJG*!HQC^S;=FA8E^X\KTUVJND)F&*4(?[:6LP+207S.DY@H9 M:5JQ62A9(* M)--8E=18:';G-4B8).705U1K@ZQA-:07#C&J)27BARV66WY1#;9EE=*6'4!2 M-,OFAJ:4Z#W)VB03N9OD'"9D5Z\)'>,A^'02C$,<2(L"-H]WT.^F;9RN"SLZ M.CLSD%M5R-SD("87$TG[YN$Y#GN1M!#9F3]%7)-9\&SFTZ0RM9,*)F,W^O[3 M9"%F_]*E'V_3S_H?CH/6?YI>>V9;KJ70 :3TA47AJ-=Q[I:43S>JL(WHF02@ M(&2683*0XQ;9LN%UCLEHX3CH^14DZVHI2V[J<_I&L9*FJ8XIZ2(,6WDI@^G#[*0,+G]54LZ?;LC-5LT5,?V9(5IO,K5RZ":Z6.7&L>"3![S-Q3E'F?",5""AHX*5F! N9)8BS8 M/8?3:P3 '&DL)=),V/0;.=D]=RT<=4'S@^$I,+Q0VA0*>!;##C%(5C5%WI]Y MG\R8CN!*\:@M$^>-*6DA3:NC9[7X0J\H@=V:+C&6P^J6 MM04..S)[6C3Q;[2EGT*BA9@5=@!M>Y!JG:58(NB4M*.Q&" 2801 M<7]#9M_2'-\21!,&YD]PV'2=5?7/&05?*W,*.@XJ^@:.@6@;]"H%'S$=1#OW MT((/'(N#N.^>=]W4Y'W_F$; 6L[?4#H4PLS!)_$,,[1ONP64T1?J"FIM3U14 MA":&;1+L>VD/**3J*TEL7*=U\)V[;"$,VS/1DR3I=-C\HH&;EUNP@>I4K2OM M7JD\HY1(?CHU_O5/4GLOYM9\RZE27>)"MM5$MKXT,6A;*#82AY2Y;S,9142B MFKF2&+=JLHUJKU_+;07"CH_C^S%;N#<,?R&2*ID8$/423I.^JVCP?BJ="WG#;D( M>XDF3*I43=VAMAP$0C1,[(7:@G! M0-]YVC[9(&M9WQZ7A?1CEWFQ(,F/DH8GW4NHC>D(UETR]2\W$1A<[)C\!%TS M9F(9]+B.LK^W]=S!2D'<]-X"&IAISM9T>"CWPL1755,Z1?*@E(^]&BFZ QE6 MDQ=K.H]*9-*8'?L)X[3W\])*U _F1S33%TMM?VGJ[G:_TUW8GZ=VR^V/?+_Q M&IU!82I;8*L_GB8#5ML?SNP77:W-CU7S2NMJ92Z7 F>LFA;@^:("Z;@OI*#[ M]?+\?U!+ P04 " !1@I%6OOB\+4\) &%0 &0 'AL+W=OG;B M[EWKLQ/5V5HVXEHSTZW77-]_$K7:G$Z#Z7CCNURN+-TX.CMI^5+<"/M[>ZTQ M.]I*J>1:-$:JAFFQ.)V>!Q\_Q;3>+?BG%!NS-V;DR5RIGS2YK$ZG/ADD:E%: MDL!QN147HJY)$,SXDTG[)*+'A7 MV^]J\WQMR_X4-X; A M=';WBIR5OW++STZTVC!-JR&-!LY5MQO&R8:2VT8&K!OK5" M2E.IR@=(_2MF)Z]^R5( M_>-7;(VWML:O2?^_Y?!5K<_[Q+XJ*UB0O_LE#X/P^']A&?O6:::VVUF)/VDL M";4K@0HT"'/SMI9,\5N,D;7M]#$S/WQHHU[)9-67<5V3M7=L567%<;/FI0"[N=:%%S M*RIG:K?FVE8,M2F,%Y:.):=60S5*[7< "163N/GW5-[D471-UVUIFUXK>" MV8V"_6-B3)^J;=0I;1L)Y\E/K2S<(C@^=,3\$DOF.K]MC=B6X08X=BEWQ<@4TS/KI5W7+75%EQX8-,7D:@R?9'K#+.@.Y.PN> MF*Q%J31!VZ/(2*OT6);0W0' 9J547ZKD=3G4(LD!?N_W_=Q5"1=:.8;P&.]P MD"DZ@*E2%SC4,=!V\K E$CO4NZC_&NE"%RQGZ@Y!^[SVNC'@:4 MN(K MH !7P+U%GB5W.Z_$G2S5# C8<[WO7Y!5$J^IZ"2Z* G<^P+ M@WY#F'C&4:C9"1]=WJQ4#:UJ0[Q#!=Z;U%0>LPJHJJEJ-!-WUE'QN T(6 %5 M?V%3)2G/%F"/QV^6S!NZ>+2 MGR_/<"&918\,7Y,JC)5Q!U$)KW9I&/I<=^X (XX(":W/Z%H)P*AQ)"QN>=W! M\EUQ"^W8NH'CU']63 WR=]5/<9@+ B,2IF$P":#(+H"QQC$1KXC4J(-QQ"#N M6BI"!/W&F>D2,Z<>?>N>?H";7M=P#I/MO=:#&JDX9 ?N1(3C%<#!Q[2Z4PQ, MB)WNB%N,,@\=S5Z>2%X^L-"_S(\_,"H\+WBB#I!V&:8Y!YN7L2^%X MGD1D3MY;Y2[^+(15%UO@?!ZP033Y!O#H\?'!(.S08U_QBGD0.JO@D9?!K(,PB=GA9%C[J4?P,/O![V!" MA'#ZB*X?Q=@39,5D]YB2?"O=ZV$6%RSU$;TBF9">8=$;[$E32D<*ZUU^O#"/ M)U_5\&X%0X=Z!/P)DTN\V>)$ /K &8'_ED#;0.!8# #F0AIJ40DU7@\;["/D MH#=QKN^W5_/[;>U(XUH*X72Y4@/4+Q\ _1S4:9W;0?1F7:>&E M/J4_";PL"K?X2GU,?9;X7I3%N_R^!\;RS'<(C8L=B@#'T.]1%'M%DDS>LQTF MN+-LVWS3P5G*EKN3 !T/-RO/_3.!Y@,41D39'_6:6AJ+; TB^@9Y@785"]Q1 M++3E[C 6+9?5/H.Y';/'4?I58"G1^]C/7O#6M7<.:Y6DMM^\7O,O!S/TPJ ' M2I"X8'AYE+AZ)ACE<7\O2:-MF ,O+3+LRZ,,=1#$J#8_9P40B?(-XVV (W!& MVE^+F+*%2H](XP#,K$B=_B3/)@]>ANC%'EA_ !U"4_]M0^RS_"/H+4D,6K;) M%]4L/WQ!^U4-&'O_.*@CQSZ+O4A067A %D[[](?$D$I>"Q!>84;Q"X!6DDZ>3OET"5*,B0O4F2$KB)5G,8E9, M7*N4>%&<4!3#%/\!JA\2DLD%HJ2')M(U5^P<98Y (CF)H]8P"R@)B<^&U]3Q M.E 7S$A#2BL &/2^,FZ_X9YX3H,#NE6Y'MI'*">7!IJEX:A&L2=:UO94BFT MYG5-]_M7.O0[]IEF%]7V)L9ILL9BAW_;OXWNY:U/%/GO#-R#Y8+>'[F2S M='?CD=*]]RO(?U$T6GA!K]34U]?W,_;W M'_G.^V];N^7]%\*KH=.KQ0);_5F63)GNO[KU$ZM:]Z4+ 0&WNR%:ZTIH6H#G M"[S#C!-2L/WT>?8?4$L#!!0 ( %&"D58OIU#0AP, ,(' 9 >&PO M=V]R:W-H965T3FGWAMM<-CXLI,MYI[9XC_[W;LTR2X^4 M2K=HG28+C/4BN@B3VVJ19$$0&BQ]("CY>\0; M-": 1,;?(S,YA@R.3\<'^N>8N^2R40YOR'S5E6\6R64"%=:J-_Z.=C_AF,]% MX)5D7/R%W6 [O4B@[)VG=G06!:VVP[_Z-I[#$X?+[ 6'8G0HHNXA4%3Y47FU MG#/M@(.UT,(@IAJ]19RVX5+N/>J%'2S2 M1-WV!MR;G,68KWY0_Y.O@S^N-\RQ?QU^GLAZ8L]/,4#$?7*=*7"12$@[Y M$9/EZU?Y^^SJC.+94?'L'/U_W,U9SFF5\ MYA/S'UZ\NB[RX.AT+OB*XCJPC M!@5K)MGY_KY1K.TV6L ;WR $1I%=A84XS*_>PJ[190,=TZ.NT$G]>LT83WYS M.'E/H(P!-'JK-P:AHA:=UR7@*,9-X#?!QT!B23L'G6*QT)VR T *$(.VCCA6 M.=4@BC1#J5P#);72O9P:&H"M9,%ZUIM>4G>]Z(ONK$Q ^4,HWS#U6Q&O]DPB M4+[G/O:04<^-4)7=2QD^2&;2&1'2RA[P+3=5CJ6F,%!A_1C(!#5 >* M40 52M5[@40-1K?A=,)5E<(3W\T>[L/0\&JJ4^W,X04P1*VQJ2"))7I+@*^C_*]U!Z8HE^\RQ I[08 M\"'0R).!:/HNFUQ(&S0F!)+SJK4K)7YH$>_.;!;Q\F5_=GH_G\"I>DV?]-46 M>1M?#R?9BIZAQ1Y7CP_4]="7_S4?7K QY>C&'BJ8M= M>D->>GX<-O+((@<#V:])ZG6N2 'N1 M1/+NN^^.WY%:]<9^=A6BAX>FUFZ=5-ZWYVGJ9(6-<%/3HJ:5TMA&>!K:7>I: MBZ((3DV=YEGV)FV$TLEF%>9N[&9E.E\KC3<67- M)]+-JA4[_(C^]_;&TB@=40K5H';*:+!8KI/+V?G5@NV#P1\*>W?T#9S)UIC/ M//BI6"<9$\(:I6<$0:][O,:Z9B"B\>6 F8PAV?'X>T#_/N1.N6R%PVM3WZG" M5^OD+($"2]'5_M;T/^(AGU/&DZ9VX0E]M%V<)B [YTUS<"8&C=+Q+1X.=3AR M.,N><,@/#GG@'0,%EN^$%YN5-3U8MB8T_@BI!F\BIS1ORD=O:561G]_<6%-T MTL.=L%9HOX=?E-BJ6OG]*O6$SU:I/&!=1:S\":Q9#A^,]I6#][K XM\ *1$; MV>4#NZO\6<2?A9["?#:!/,OGS^#-QVSG 6_^!-X/G> L$1T(7< WR2N:_O-R MZ[PEK?SU6/X1??$X.O?/N6N%Q'5"#>+0WF.R>?EB]B:[>(;[8N2^> []?^[4 MLUB/,X5?C4>J],L79_DLOW@Z'MPAF+)$"X*DJ+N2RM59M,%Q>>&@'USHT !? M(5E],I8]30FFLU )6Y 10AN#N"G\1F:N1:E*)<&C;>(62:,+Q?WKV'<$OJ<# MA)J/CJ9"Z1UT+34X!QKPP)FZ" \*TVG/3DH#7VE9 4]0F%@VSFJBZ/@E! Z MKZC),3B,<:1Q!,9M7P"%J!0UI%52U"!KH8@C/K1H%6J)(9I%:2P%AGHLEHK, M1,,D. G7$8,A'&7IPSH-1_H$]X]VF/:+E50.0JJ=2VXFN%( MFS J$2M-3;>'.S]Y%4X"?N3\F)U<1?,);'&GM&8X*@*'V*.P\!V,4N&7^\79["ZZ^,2)O?<)F197[,Z>1=9YERJ1QKBM.:L#BID)VUH9#2 M(MV!GA47M8A2=(X;D%0V[ KM?M2:_@LMX&7XUC[\4'X0E43BHL237;+JD M2]C&:SH.O&G#U;@UGB[:\%G1GPU:-J#UTM"1>!AP@/%?:?,/4$L#!!0 ( M %&"D5:]5+!E*@, \' 9 >&PO=V]R:W-H965T'J@@2JBH 'Q,/&GMBKKG?-[CAI^/7, MKAT31!IX\7Z=.7-F=F<\WQK[X&I$@L=&:;>(:J+V*DE<46,C7&Q:U'RR-K81 MQ$M;):ZU*,I@U*@DFTPNDT9('2WG8>_.+N>F(R4UWEEP7=,(N[M!9;:+*(WV M&_>RJLEO),MY*RK\B/2IO;.\2D:64C:HG30:+*X7T75Z=3/U^ #X+''K#N;@ M(UD9\^ 7;\M%-/&"4&%!GD'PL,%;5,H3L8SO V M&O5%EE0OHED$):Y%I^C>;/_'(9X+SU<8Y<(7MCTVOXB@Z!R99C!F!8W4_2@> MASP<&,PF3QAD@T$6=/>.@LK7@L1R;LT6K$7O! EK&H5E M>V$WV4G&=T+'D*?GD$VR_ 1?/@::![[\"3X?EP.A2_C$$5OB]TH2'7R]7CD. MOZ!OQZ+N.:?'.7W!7+E6%+B(N"( CH;]A\!6EH=/\ )4@?RI_ M\#97"./)@%"-<<2#&IXQ6D[_FI%>\!RV[+2&PFA'DCK.G>GL&%CH"S%\06!;:4I9A%SQ MPG=-3M6+RDA=P>O.^L$+V*'@?/2IY*?><4,<7WOX9D$63WC3:(0-8XW=*V(K MIH9T%K\\8W@>YV<]/H^S,Z^\[6Q1LRJ6/B2(FY_:G0=4>LFHY7_#^5_&> M;T]JOEA&G_^P\ [&?^#R M)U!+ P04 " !1@I%61G"W.^0$ #I"@ &0 'AL+W=O2UG1J^"+"=%G6 %$:"-@]%'RCN MK)8QE]SR8EE_WS/D6E("V4#[8N]R9\[,G#DSXN7:^8?0$47QU!L;KJHNQN%\ M-@NJHUZ&J1O(XDOK?"\C7OUJ%@9/LLE.O9G5\_G[62^UK1:7^>S>+RY=BD9; MNO"S7G61#V:+RT&NZ O%/X9[C[?9%J71/=F@G16> MVJOJ^NC\YH3ML\&?FM9A[UEP)4OG'OCEKKFJYIP0&5*1$23^/=(M&<- 2..? M$;/:AF3'_>=G]%]S[:AE*0/=.O-5-[&[JLXJT5 KDXF?W?HW&NLY93SE3,A_ MQ;K8GM:54"E$UX_.R*#7MOR73R,/>PYG\Q<_ '=4BT] Z(+XQ3;4? \P0V[;!.OG!&_J5Q$_2CL5QT<34<_KXU?P MCK<%'V>\X_]3L/B@@S(N)$_BK^MEB!ZJ^?L0#27(R>$@/$GG89"*KBJ,2B#_ M2-7BW9NC]_.+5THXV99P\AKZ?^_9JW"'DQ6_NTBBKM^].:N/ZHO76;NSPOF& MO(A.]+Q)7/(0J4TMZ$L>AA@4O#?9>2*T%<'U)!3&*4R$<>J!SP;IHU;)2"\& MKQ6[H0.)(1 $"TB$@91NM1(KYP"6 C7L^%VHB5B30*)(1ULD-"2O.@02:J^& MM8Y=SC*D83":?)B*ZR@@MH35M-7;)-L<1(@N2H/P;^O3Z1DFTQ@LF4D!?EO7 MNS/1),K'2!3CT>?QF!0"7"O6G5:=D!"<=?8G):TB(Y>&IN(KY6-I@D.:RV_8 M8TRPVJ>>N50F-P>,FX_6NX=9GIXM\(IMO M6) Y K3A:3 0<7EM@@J1-' FP]+AW44.F ,D&##M2ZY MR85MN:M90&=B2629Y.0]PZ)2Q@75J906$O!V+M ,7)"F#,X"=;/+'2+J-,*4 MX!J,A*!S7(>B%?DH1T'@1RR[C"KBH*VV4*/&VRY6I@>$##^*<=>W'U4IUR&! M]SR62P(UCV/9N:C5RB-@?+&\@M8BH4W>&_2D6*4P*PZ!N7R$3!O60-8M'I<; MV&*+\S3Q3!H#Q4>0B]B2=4R>ZY(-S*%_:ENNQQ4J4!,:KIO<_!T)X$X7$;#6 M @C+:>!ZY+,FL4'N,LW/)$]$Y]:HUD]*O6WB17;8-V\WU+B_ T=[V&C7\*B: MAOO\G#WZ+'/>I5YL*/2!AS/O+$@Z]4/!YL6)N8RT8LEZ[!?V0?=0;=YJ^XIF M%D+H&? MI%^AC_-CA+DJ>#?"]=?C=&E\XP/9V MN_@74$L#!!0 ( %&"D58_.M Z6@, "\( 9 >&PO=V]R:W-H965T M5G:45__O,+BE&<645N?6B_9KWYLT.9U;3M;&?J4%T\+55FF91 MX]SJ-(ZI;+ 5=&16J/FD-K85CI=V&=/*HJ@"J%5QEB2OXE9('_&SJ>F M+C'!2KEB5C& MEX$S&EUZX/9\PWX98N=8"D&X,.IO6;EF%IU$4&$M.N5NS?I/'.(Y]GRE411^ M8=W;YI,(RHZ<:0[65\*_01Y.DA9$F6[^'+QU#SP)?_ M=Z@7DDIE?+0$_YP5Y"Q_'9]V!=U33G93^HHYI94H<19Q21#:>XSFSY^EKY+7 M>P1/1L&3?>P_DYN]1+MEOC,.(54@W"P!>=2P-5L:&4C7U(P!H]L?EZFN9'12VUT*44"L@)-PAF,;47<^_%L"/Z-\Z) M0B$4OB&='NP.G&D.7KSQYJ8C#IY>PA7>HX)T&+-AS.'..%:P$-8^<#P'5U[X MG1=^X87[B[M%);S[Q1#FM7"=[>_Q%QCN_X=9.CG,T^31)#M._I=B?V=EQX_& M!.Y\?L8\^(R:G_T,0O*0G&R#H.(!*BY;TVFW =0=:V.@,^KPTWAV'A'8S_$>;? %!+ P04 " !1@I%6S!U_UR8# #L!@ &0 M 'AL+W=O)EYLPY0^IH M>E#ZNRD0+?PLA32SH+"VN@Y#DQ98,G.A*I2TDRM=,DM3O0M-I9%E/JD481)% MX[!D7 ;SJ5^[T_.IJJW@$N\TF+HLF?ZU1*$.LR .VH5[OBNL6PCGTXKM\ 'M MIKK3- L[E(R7* U7$C3FLV 17R^'+MX'/'(\F&=C<$JV2GUWDW4V"R)'" 6F MUB$P>NWQ!H5P0$3CQQ$SZ$JZQ.?C%OV3UTY:MLS@C1)_\-0S19KIAE\ZE6!] NFM#PP=X9*)F M3;=D!G_43/#\%Y<[6*2IJJ4U?OT>#>H]FFEHB8'#"=-CM653+7FC6IS 5R5M M8>!69IB]! B)>L<_:?DODY.(OS-Y 8.X#TF4#$[@#;I^##S>X*U^W-Y VY,^ MQ,F'Z*K_']KR]V)KK*8K]L]K36E*#E\OZ3Z[:U.Q%&^M<'\_;MX''T\ M(6C8"1J>0O_?#_ADM=>U/-Q\OEUMOMP2A??O)DFQO06@AS%1Y,WP4K56YO7XDG) M67Q^W3M;2["%J@WI,N>];\AT<_> ;DY--N0N3\]='O@-)LF8GG$4T?,LOAK! M.0TN![';3]Q./QH-Z3WR 9PUXQ,:,NM7.RA>-@SV%-_^!KTSO2#8(S"DUNK@S[;* MDCOZ84&_(]0N@/9SI6P[<06Z']S\7U!+ P04 " !1@I%6V^FM?7H6 "0 M1@ &0 'AL+W=O'9 MF; C*$JB?'3+1X0LV]W::(^U5A\/&_M0!(IDM4$4&P6(YOSZS2^SJ@"0(.1U MQ+S8(@ADY7V#K[:N^N)7QM3JZ[HH_>M'J[K>7)Z>^FQEUMI/W<:4],W"56M= MT\=J>>HWE=$Y/[0N3F=G9\]/U]J6C]Z\XFNWU9M7KJD+6YK;2OEFO=;5[JTI MW/;UH_-'\<)GNUS5N'#ZYM5&+\V=J7_;W%;TZ31!R>W:E-ZZ4E5F\?K1U?GE MV]D+/,!W_&[-UG?^5B!E[MP7?+C)7S\Z T:F,%D-$)K^NS?7IB@ B?#X*P!] ME,[$@]V_(_0/3#P1,]?>7+OB#YO7J]>/?GBD!EKO#\ MK]K*O<]>/%)9XVNW#@\3!FM;RO_Z:V!$YX$?SHX\, L/S!AO.8BQ?*=K_>95 MY;:JPMT$#7\PJ?PT(6=+2.6NKNA;2\_5;^Y$&LHMU)U=EG9A,UW6ZBK+7%/6 MMERJ6U?8S!JO'L>_GKPZK>EH #C-PC%OY9C9D6/.9^JC*^N55^_+W.1] *>$ MQ+]>O*J'OM:XK2?Y*( M:HZMKJG(1N1N\JU+4YJ*+"=7B\JM54V/>-(\W)E;LJHRJ]6FG]!I!"\]EY.IL#JA(=K9&F:\;RGQ4[>C@S%#JHVQ)%[.5+I=& M43Y'F5BV2L=,U'9EZ7/"KBAV2M=\"L'F,-CP15\SYIO*9H8>@Q3IH4IX\"_Z M9KLRC($G7/R"H"B2*R>0948TS@N[%"SG.T5P2[\P507?P>=0"D3DZ(@8"- A M$S+5E-D;'PIT\S,MTB[+FLH#=U<:M7&6&$2DDZ\R$]5LZ%R_$IV;"*JUK8GW MH*.R_@N %LY[M2%_C-.9 ^G\SZ9NJM+S[?&JRD@DMJ:+%;B\J,Q?C0D*CDO@ M396+U#1] EV@GV7#LIVJ.XV85>NO1F"3)R*1ZQR/R55*]9#+TF>BF4BLZ @B M=VOK5=*MH%A@)N>[I)-&T"+)%TT>-2X=^U&7K*!=,7M%D VTC%CGY(!(J@ C M"UV[LA!3):;1K2PS^CBWI0B7+IAHW!/2MDB;2L;8$ MTK LJ-54_6$HN28L*.8C'DR+V:# MXP>H1 "2?I\/4W*T"H*K(*EY^_"D>X9:$VLBALI8!DFD01_<%@"BB'1N85/W MVA9Z7D M//F%+ B@L9$/.[3 ML/KUW+ BP<&*=OB=K\U:3J;T2).W*JD* Q^4=XN: 26/0$2+\@1\-H3VBFHA M<0(1K21NL=($A@#DAD#C\8Q\%"%51,-*>, RMBM7D(W2W[;&4Z4#,D4.'E*5 M\L5 ^2-_BEWP/41HH!@:E1%'1-2D.?0<-%1#E_E YQ.VB5V"PE3]'"\ :D(^ M*0<^U+L-Y6=P,KDIR*6R)ZZ#_UX;]C')ZK54%# YPH,)A)X6Q]29;Q.6=T)% MQZ^&DWH>33P8Z1F9)GDU/)%<:B2ZZ[YN]JSOT/3(\U ]B$HWAQIG%)*A0PO2 M-T?FST$C1!_PMC!?0XSKJ< $86*Q8$0-'DIMZSTAD@E3YNUN"1_ M2C&6"#!E"C!4E*I* A?L5JL%U?NYWGD)#_BTYOI25"](A]':]S<#%$-:T#7Q M)<*VUOET_,J.;TT6>L0M3?K1N86/9+FRK?*W=GQ'LMLPLPA!BM!YL>?"ZQ7B M&2*;THL:(2?&2J*S$RU7^D !VN@YK):+IEC8HF#3[YQ(% K5Q/HQ0HFW;DO0 MFC(/F (60EG(+D%6,+NWL)_D,.^NKM6S\^>!Q\Q2/?"(-R1@2Z%@G[PZ5J$ M3Z;"DEWAVT)+C/0I(+?.*PO^,CWU#2855#MR^"$+H\"UUKL4$%HEJP-^E!OX MUI6'YR:=! 9RD5LWVE82'$AE:U.* !:MAR=#N;>N\4C+R%$R4[WI:[9?N8J) MRYNJ8P4.7EAO"-17KN((Q+/IV=_YRZ?3IW_OLBEBM#.Z0G8 ;H8**?5@^$'Z M8S9!8$/N2298['KI:U]T/2PK0&5_"O>99693B[X<<%<7WD6-BC"47E8F1O'6 M:87(>!M$=X/8DTKL;KRZ.P3#D33$N6[4:5/V]#SC'#%*TD,_$.KAYHQ+PG1? MG.4>,#9+Z(]UG%:U00?Y+/1MZT024^[3<=V-:!BE)1!]CYH^\]EIX%3XN*B* M[=UBFQM2FY#('7"YDRNR9P*SFE+B0=V&*I(I)X:48Y(R QY9=Z!LWS1S$RPJ MY:9_F(Y11/924";K8P\%1D&\;:7$+J4F#E,HCW?NXH$PW,3*\UD(& QE#;=P MF#]1SDQJ* *QU=Q5)6<\2(Y3O=2"7.G['GK,&,K:P 2 N#AY!I*2&"3/:.9> MJ@6DAFNPB+_A6%0G92)&5)+H%HY";?#]4#IHFWK\&1+"'?]T%/PN)NH??_MA-CM[.5 & M\S?G+WL"AJ@H"AK?"7^A.X=@9&$."(Y<7X+6)V+N5#CL@@<^C"P$"A_*1("5 MTDA8GF@*-MAE$%=^$J3!='$)056VKBER$>C1#^;C@217,)[ MKHVL]UR?D/].$8+5IFSE)W?71J_A"[>F*#AMP,VVRD_(W=1L-:D'>Q\*!50A ME9TW2,>F:''&VKQK[RQ_HTE!Q;J1JQ-$Z&68S700)997I/!-%4Z HXNJ !*F MZJ=DA^39]1=2MLE>R:'*<($5. M4C P6X%P'QZCNSC=0/XI9W?[*WU<6' D+-+'TJV19=H%QTW?CCB(E .ICC6< M9FW#:3;:< J#! ]S,/8>E9[0>(5$B5T^5/.=:^8UI5YQU#+8'/PW'76IML0X M<^(6BS&2V]')^>BLX\W;A@H;,/.ZK?^'Z?F.F)]@[HUQ#CK0_W1 M:8CQWV0/5*Q8$T)0/)XSE8=P*%UYTH5WU:&HG\S"0F*;#PTXLN>.[K?=O]CP M8;?(F59RBFS=L1M%#K%[F!S2[SJT_CEY90XYFWC4=&Q.<=Z.L\['YUF?2=JZ MRJ0;_X[B2>$D&;H&4H.J]&T Q[!KQU;GXW.K#ZXRY#G4-3?=LIWZ%05 <70 M- YN6,W'SKAD]W1BI,0A#:):*P8!$@U]A_ ?6W-)08(#-RC<),&P)041>@1] M@'Y@'I:UEP*:(@4R&W0P2DI*N/S16>Q9,-JILC\YEV])SP;Q_+9'95"DVZV# M94/6AY =G3Z9[S+%%2L9 M9&AQ13\>6UO2;J5$F.S7?C&<;Q,$!!P.??W0);W^MJ!K2GF^S:?0D\VH$MKA M:WYFJCZ$!B(#['2;H\/RTEPF.$?PC52ZD=_9_;T(VBW).RRFH7:FPT MC/=(Z;J*A<9H8*8H!!%/YHTB,;=X,RPT+JH=)2'U94>6D1F9!:\[4D>AO MZEAI)D[$XIZ[T@TJY-B>FL0$FT!G>F/KT): -T*Z+P=B)5&XP7=,NJ5^%%$: MK? T2Z1:ZZ]2A2>U>U!OT:PR>1C,]%0W/M"ZF0Y5*<1@^VA9QHXV^0Y G71" MD!0@$HDXA5R,G'5$9<91Z)+P$+W!+VWC=!T1KQ,E97K06@13E-M%&"MQ9RF9 MJWBW(<\36XQM)HD^MRYV84,NHC[%TEP\R?H.B$DW5.3."!?GIK &SNM;G7B? MRWZ8)SYP,%0)G6)SKU-8B"3!IL>/J @UN2D=%>+R^=>BGBWKSMTC84DB1*XR!9&\F7)J*\%1_ MA5+V#@)'>201A;E>PP?(Y.>/P+DUQ1;NN[<9^09[P#N5-L@Q2TW-:)ZJ2="3 M,0'=$6<"R(YAYJ)4G FZK/GWY+[;@#ZGCI8 C47!>L![P /^D*1=#N-?/Z8"W+NFK0 M0$F1G!N *9MY$$9$;:AAUD.-5XEJF4ZUM*<<::(V>B<-%_:G!RH_(N]V9,^' MZ)!J$S,,ESH]U>F-!$,]A08D?SGFE=M]R]GXON6-)#"_8F5MT#=_SZ)E%^BE M=$Q#B8:H>2)1\P11\P1F]TRI0XLOU54#0S).(PN'A]CW]BBL]1?#16=*U:4G*-=Y(,:9)N\T]C/D M+HH!;@H4G)6TVYV#,LC-20?$1'TJU4?N\,Y><#9P%COU%96%][:BD'EEJ7#Z MC,QH(9;X/H:H.T/RQJCGBB+(XR""ZZO/[^]P)?#[">92N3?<%^0AUB#/VYK/0Z1I*D@AW/UE96< @([AFO!<28 M:-:;PNT,1G>[RA7BGCF_9><1G=U41+)3SZ,\MJ:_^$D1VB$BIJ$_3$0D8[Z2 M1'C0#Q0Q1G35CJ>[G/_I>\?+N3_1D^66,D-US1NRZK<21$8)IJ^3!#=-Y9&8 M@A[A "$U=U7%*T:QM?L8W LP;F]OU2^$9@3!9+TS&78>JP-EZ_CG*Y2?F\J& M+.T*.1B2TXGZ>?IYJLXO+KY-G]!?%Z. C?,:8MAU@_($9L3"38%07T,;?,]^Y6OGL2@@^X)15P>D7%*R4)[G#E93\2G)^2%--82 M3-K3>D#_VKQHT2!O;&HBZ5]26:C(@_*2,-OO>6J+KFO61U1[6)&0P^H]".!)^1,T;;R;-V?CH;GY]^ M0*'V.]>Z'UO_/TC =PQ0U3!XB:,5/"LOW__:+[I7EI('\M<[J)^\LQGWMA:. M6\^7_\$V]_PE9=_WIE#G7.7/7OYWX]KW R3(#ILOW5N"FTS MWM:6US>ZE1V[ K+5_DK7,/YDEGL,O@@,_JWL'+B/,';X*0H)8@2K%LQ+ESIZ MDHKN0I$8'^N\5QKRG__L-N DK"^@2RSK;EK[+@[PQ:1^^C?.E MKF-2Q_L[6&2NFK"@-^9WVJG[;'Q(?F>*Q^T3Z==<=M1BD_WO>03UVP&7X1IJ278TDRX?6 M^91 %)+SQ_8%-*E53/0,8E\E#@OU%BN/F.YC#H:$P5097LSAIIMEM[8@?TBW MYH:[U 0R5-1(=3D#Z6 G\,*&XI_I1;+"W+,9DW5P,C0FD':H/AL?JK\S%1DP M.\L/J<"Y:;5]4##?\Y+M0P==J@_,]'17Q^1:?T:%''DTX7K*K'?R@D>;FZ], MO@S;2+*>4(75B#)DB@.'2&\F^%B!A]EA&;=NV&OQ*U=FA1]&N(]3H-/'@/TD MKO=TFQQ8D(S[(<%U\:LJW.HA?<#VH7?$"9R9:F"L6! MG'&V Y;PPDT'2MQ2 MKL)?'DOF\C(6+\?B/1LPH@=&Z5!U)<0>F^ERBOEMS.ION [QM7HOOCF6U$GO M#Z'&9?_P8)*$/R"0KG+KY(1?XLC-O&8C"4=_ IEU(6DW0$T.5K4&.D)'LH/3SH^$K$VUY)]"P;HR M42._%Y*NII];N9(?&6EOE]]J^:BIC"NQ-["@1\^F+RA*5O+S)_*A=AO^R9&Y MJVNWYC]71I-^XP;Z?N$H@0X?<$#Z$9HW_P=02P,$% @ 48*15@LJL\MH M! 9@L !D !X;"]W;W)K&ULI5;?;]LV$'[7 M7W'0@B$!C.B7';>9;<#VTB[#@AE)VCT,>Z ERB)*D2I)V8VE3R(P_ F* D3_FSBYE9J-I&UX4S0E0)=ER51KPO*Y6[J1WX[\<@V MA;$3P6Q2D0U]HN93M5+X%70H&2NIT$P*4#2?^O/H=C&V]L[@,Z,[?30&RV0M MY1?[<9]-_= &1#E-C44@^+>E2\JY!<(PONXQ_5^,T90,M'\DY=] M'L[9$.\WQ"[NQI&+\E=BR&RBY Z4M48T.W!4W6X,C@DKRI-1N,IPGYG-TZ\U MT\QF2,/E,UESJJ\F@4%H:Q"D>YA% Q/_ ":*X4$*4VBX$QG-O@4(,*8NL+@- M;!'W(OY.Q#4DT0#B,$YZ\)*.:.+PDA_@+6J-,UK#4I9K)DC#^._Y6AN%I?'/ M*$U/$>MU?9H8/!<4>"" M4,Z":L-*QRFW/+:61[M;X$E%M+:_=J="(R(RX(RL&4<8JNUR7=IYW6[*$,R. MCYS=>I?W A=EK7&_OO*61!=P >\C;YZFLA9([9&FE&T=U620O$^\>[&EPDC4 M93081R-OI?!X5.9U "M.A'&1W*&+"L\M \,!GHW>?89CEC,'VSP'\B$P7+6BD+_L<1X M6ZI/%6UO8/^C:+^KL*ZNV#$-=J!!#C34GL:A8NN&!KU8DPUL8;^C #04I4>YA[-:]-)>W.N MM(\4R[QNJNZ.*(')T["@F#0*S^3EM#Z]Z#WZD+(I=?2KCOS2UN^Z\6NL7U0A MY75FM<'CI%:08KXD9YE+O3;XYSH/L= 2TPJYDJ53%?N4R0SF]083CJUI+Y88 M+H^/'XMRA<9*UIL"\ :J;3[:2PB(LM+OZ^E[;:V-UV8.>RX>C/"$N'M#PZ4/ MHL%H'/7UX[@3;7RN:.=UWRGE>EWT*7=6HP#3WZ3M;0\<.F")3PA[&1]:H6"5 M;8=1$F)Z3^8K.'K[(,;&O? TN..S>09UL]TCM MX?483QS5O.J:#R,K]Y):2X,!NV&!#V&JK &NYU*:]L,ZZ)[6LW\!4$L#!!0 M ( %&"D5;$E,\R2@, .T& 9 >&PO=V]R:W-H965T,2%0EDG5@ \MRW5WI;I,VJ13E='MI'ZH^>,$+] 3 MV]SF_GW'AJ57:;MI7\S8S'SS?>-A6!VE>M25$ :^M4VGUWYE3'\=!#JO1,OU ME>Q%AV\.4K7Z5X(4+:IN A>$B:'G=^9N5.[M3FY4<3%-WXDZ!'MJ6 MJ^=;T"^+BMC#X+-JN>EV GSI;]3N MFE*)N1:=KV8$2A[5_0Z]O M8^OO''ZMQ5&_L,$JV4OY:#E)+%XN&^U6.$Z^H0_Y MH(ULIV!DT-;=^.3?ICK\EP V!3#'>TSD6+[CAF]62AY!66]$LX:3ZJ*17-W9 M2]D9A6]KC#.;>_$DND' O^+X1^NTJ,)C!^@7YA'8[HK%_0:,, M/LG.5!K>=X4H_@D0(+69'SOQNV47$7_AW15$E +670!+YKU1@XO^H[>@Y(M M;)&KPK[ FIL*MJ[:0L'O-WOMSO\X5X$1/SZ/;[^A:]WS7*Q]_$BT4$_"W_SP MBB["'R^PCV?V\27TS6[\=$ >8!*BX5VM>5DJ47(C"M@_PYVJG=//0I:*]U6= MPR>N'H71P+L"[3^E0B=9#*C\X;D7YU1>Y'%>Y9RXG!/S!GO5I;[VWGSLP%1R MT$A"OW7W:1=F%^I]P=Y#^CN#*C2\AHR2C*9H+):$+A,TTA!/J/=^4#B1;$M@ MF'UD%B+#7>9M><<+#DL291$L2$(S2$B2QMZ-KCF:49S@FK$%KC1,O*VP]]^X MLNQP8E5P@_>/M"$FR3*#B+ 4@S2(<&JK MUT!C1A)FF5.:DG@9.FM!PBCRQM+W4^D-EOZ[=?G 57'DRB(C8_W.8O4$L#!!0 ( M %&"D5;5P@8R$@0 *8) 9 >&PO=V]R:W-H965T;)0ZH?;7)03+W0&,<$*ZQ H3+_8G GA@,",GUM,KU?I!'?7#^@? M6M_!EP4U;*[$-U[::N+E'BK9DC;"7JO-)[;UIS6P4,*T(]IL>4,/%8VQJMX* M@P4UE]U,[[;W\"<">"N 6[L[1:V5[ZFET[%6&Z0=-Z"Y1>MJ*PW&<>D>Y<9J MH'*0L],+::E<\85@:&8,LP8=WU+8F9-Q8 '?<07%%NNLP\(O8$4872II*X/. M9>0'OHU+EA@N!J"S1 M[ZZ_YZ80RC2:H>^SA;$:8N:????0:8GW:W%Y-#)K6K")!XEBF/[%O.G;-U$: MOCO@0]S[$!]"GWZ@7*.O5#0,J26:%3\;KAEX4S)I^9*[Q]OCFG/XF@EJ@?7< M6%ZWJR^&+1N!/D-BF'U^'K9D1PO=:M%NB99*0+*;T0#>KX%4[Y\0/3O @^,+ MB6RE&@,&FA/T42MCP*FBJ9O.V'FC-9/%/?H;*M1A\N"2"POE:C28MXG#-)I# M/+I7['R',F JOC;H"!$_"D.8C[&?91DZ@>7;-SF.\#M'!$N?L"11\HPER9/! M]<7M^?QU9=C/28B.(S\%V),>(_)QF#T2DR1[2LS(X%:K?ZG\3!=,C ;G=QS> M3:[0+2LJJ81:W8,TP9DS,,R=]#!&A,0/IY&?I>XT@DV:9P.(;JOYHK%*/UJ( MA@18DSP'1N C6=J=Q$-W$JT%,_RL+!#&Q4Z)(6%03;Z^J('P+H,0G3'2AXTB3N=R_,<+FTA 8' MS0_%&#!BO -!LOQ5@-^2S$<28O0(Q:$?QYF+G&CH$Y*VH1/A"$8,#TNP"Z[4 MCTG'D_EQ%'8\F8L[$(*6>J!2)'VE2 [FYTW7:%V9>$SY6:VTY?^U=XC.[Z"Y M&[8O]0]"[R]QCTKHKA+6*8&JH"'5&5S2G45+*#G/DQ\*0NR&Q VI&S(WY(-7 M@(]MPN<1VC?G08[O1,";=7^$ PJ5"-MUT;[T_X3,NMZ M[R-[]X.YI'K%(:4$6X)H>)K!'>KN5]!MH#BUG7BA+$1UNZS@(\6T8P#Z4BG[ ML'$*^J_9]']02P,$% @ 48*15O ^MFVK @ G 4 !D !X;"]W;W)K M&ULA53?3]LP$'[/7W'*T-1*@21.^HNUD2B,C4E( M%;#Q,.W!3=S&(K$SVZ'PW^^I)YXP9>"D+H6=N M;DQU[OLZS5E)]9FLF,";E50E-:BJM:\KQ6C6.)6%3X)@Z)>4"S>9-F<+E4QE M;0HNV$*!KLN2JM6_O&X!=G&[TG@\UD*>6356ZRF1M80JQ@J;$(%+=G=LF*P@(A MC;];3+<+:1WWY1WZ=9,[YK*DFEW*XI%G)I^Y8Q[DYCO;YC.P>*DL M=+/"IK6-B MIK8TLM\[(H.2BW>G+]AWV',;!!PYDZT :WFV@AN45-329*KD! M9:T1S0I-JHTWDN/"%N7>*+SEZ&>2&_',A)&*,PV]![HLF.Y/?8/(]MY/MRCS M%H5\@!(2N)7"Y!J^BHQE[P%\I-3Q(CM> \6% VRSGNJ(IF[G8#9JI9^8FGS^% MP^#+$;IQ1S<^AIYA#A.%AYQ!^BX(;X. C>+@\]?8 MH[8"CJV +0-Q>C<"3"YK346F^\XM-4QQ6FA '>[KJBKL-SJ!:.Q%XQ$*A'BC M8.(\8F.>:"X[_-X-O4F8:2.01$D(X\4;AV!DB MP""&./(FX=!Y*^)=FPCT0@2) NA#;^)%P0CZS@D,0B\BL>41>\-@3NW;JE:0DW]02P,$% @ 48*15B7Q]7'K M @ >P8 !D !X;"]W;W)K&ULG97?;]HP$,?? M\U=86345*6H2)]# G:_>BT3JCLQ\.T!Y,<)*ICI[93VO]^YP0R.E$>]@#^ MD;O/?<\77\9;J>YU#F#(4\F%GKBY,=7(]W6:0\GTA:Q X).U5"4SN%0;7U<* M6-8XE=RG03#P2U8(=SIN]A9J.I:UX86 A2*Z+DNFGN? Y7;BANY^XZ[8Y,9N M^--QQ3:P!/.]6BA<^1TE*TH0NI""*%A/W%DXFL?6OC'X4_J')'7-9,0U7DO\L,I-/ MW,0E&:Q9SV3!F3"$B8R\?ZB+"@_>D/-O;,5!]\:^P5C6PT]WW'G+I:]P0TINI3"Y)N]% M!ME+@(\B.Z5TKW1.3Q(_,W%!HM C-*#1"5[491XUO.B_,O\U6VFC\)WY?2SW MEAP?)]M[--(52V'BXD71H![!G;Y]$PZ"=R=TQYWN^!1]NFRO#Y%K5WP#,FZM0>\BKGD_SB% ML1?V$Q)2;S 8.+)1\5%+KTR=/^GTO&L:D'W@)#9U9FM9ES9F!C%P#GFQ:L*8CG<>A M%P8#TB/GT="+DH#TG*_8A_?PH^PSFR--$CL)O3@.C[U2_D%#*$%MFK:GL5BU M,&UOZ':[SCIK&\I?\[8MWS*U*80F'-;H&EQ<]EVBVE;7+HRLFO:RD@:;53/- M\>L RAK@\[649K^P ;KOS?0/4$L#!!0 ( %&"D5;_^JQMV ( .8% 9 M >&PO=V]R:W-H965T,G"AJ)!3; M:P<( 23(14V5J"BDS4/5A\4>L)6UU]U= OG[SJZ!IBWAQ7N;.7-FQF?Z*ZE> M=(YH8%V*2@_\W)BZ%P0ZS;'D^DS66-'+7*J2&SJJ1:!KA3QS3J4(6!BV@Y(7 ME3_LN[N)&O;ETHBBPHD"O2Q+KM[&*.1JX$?^]N*Q6.3&7@3#?LT7.$7SK9XH M.@4[E*PHL=*%K$#A?."/HMXXL?;.X'N!*_UN#S:3F90O]G"7#?S0$D*!J;$( MG)97O$(A+!#1^+7!]'/[_1;]UN5.N@K#6AV8U+U7D3N:*R39D:1:\%^9GA*$W5$C.X65.;-6KX],1G M O5I/S $;XV"= ,U;J#8!U 1@P=9F5S#395A]C= 0+QVY-B6W)@=1/S"JS.( MHQ:PD,4'\.)=LK'#BS_ F_ WEQSP*@.7.1<:?HQFVBCZ/7[NR[E!3/8C6LGT M=,U3'/BD"8WJ%?WAR5'4#B\/\$UV?)-#Z,-IHQ20<_BW3_NH'@;;(N"VTZDD M:6ECT4V.,)>"%%I4BYY'=5_:N%1Z[]-=1<]RJ:EF^M1UPGZ8]\R5XI5Y@V.( M6F&'T=J-$V^BY!RUU2P7<(L4)XXB2*+(NU5.(G!RU&41NX0XZ7CW2(J"^X+/ M"E$0%NN<0\PZWI8LH=6HZ.&$E_4E3+GMWA-?0]3M$'#;FQJ9ON129*C@$05W M4G=ANVV(0N9=(_DHN))E63A:&CI=B.(+[RMEK?XK+"7#+B[HVXX[WC'$K3CL M4FI)*XKV_H+!.^V5J!9NPMCB+BO3R'!WNQMBHT:[?\R;"?C U:(@?@+GY!J> M=&PO=V]R:W-H965T52#/\IY9-AUKM0/MK G-#7RJWIO(<>D.96DU[7+R ML].YQHQ;F&TT(M7: I,9?%1R\]L3ZASN<67AZHFM!)KK<6@IHO,+TSWZ786> MG$&/$_BDI-T:>"\SS%X#A$2UYIL<^-XE%Q'_8+(#W;@-291T+^!UZ_R['J][ M!L\G>,]-*I0I-<(_LY6QFK3R[ZEL*ZS>:2QW?VY,P5*T%IKV::>\2^G1)]S$K!8):^P."EP/B$NP689:F*B^8?.:T.U=4<6DP "J]*0B,VUEXC[25J?E_=5 MN3XJ)N%JT!F.?G4H5,J&OW>XOJ7K94O-[3,XBLYF5F[H)D+/6PSA%XA[[:0? MT>#MFU$2)[?' 9).MW\F0'(JP!(+B_F*4N]&WJI_0*88[URLUCYD-?&G_F!, MZ6LW5\::-DAZP@F+JE[FI?#59;G2EO_'_ -X%<<17,/5NP%^BABYR*6W5:NK5NE'/JO[T8EYU^4],;[@T M('!-KE%G2(>BJ\Y93:PJ?+=:*4N]SP^W]+&!VAG0_EHI>YBX /7GR_1_4$L# M!!0 ( %&"D59*T&.\\P( ,,& 9 >&PO=V]R:W-H965TD,%'6+_'Y?/?<<^?SI;]2^L%DB!:>][E;'?558P27>:C!%GC/] M/$*A5H.@':P5=WR16:<(X_Z2+7"*]MOR5M,NK%%2GJ,T7$G0.!\$PW9OU'7V MWN [QY79D,%E,E/JP6TFZ2!H.4(H,+$.@='RB&,4P@$1C3\59E"'=(Z;\AK] MTN=.NZ=65UCE<^SP$B6,_\*JLFT%D!3&JKQR M)@8YE^7*GJHZO,4AJAPBS[L,Y%E>,,OBOE8KT,Z:T)S@4_7>1(Y+=RE3J^F4 MDY^-+U#S1^8J Y=<,IEP)F BC=4%E=X:8#*%.VX>X(9)NB6GA.8]FPDTA_W0 M$@4'%"95N%$9+GHE7#N"&R5M9N"33#'=!@B)>YU M$Y@%.U%_,+D$73:'R!J M19T]>)VZ(!V/U_E_0?XMPQ6F"RX7,'2=Q"U' Q?<)$*90B/\&L[(G+KL]ZZR ME$&[NX.ZE]/$M_BG+_SY-G]5:$@V6<]KUJ9F3:&TQWE&I@V@:TF@ABIH M/-4]Y:^>A*C7^.G-?.N:*HP9&X.89BK0GJ>GVDR-J^5 M(>6U2IB?194:*OVV<:5M;!)Y@]R8KMC2Y>R;T, [>']P%K6C\PWI*R6KZ:H3 ME2.IF\?%C/XRJ)T!G<^5LNN-"U#_M^*_4$L# M!!0 ( %&"D5:FU*=\Y0, &$* 9 >&PO=V]R:W-H965TA*36RS!L5(DRB:! 6C,M@-O%[]WHV49457.*]!E,5 M!=,_KE&H[32(@Y>-![[>6+<1SB8E6^,CVB_EO::WL$')>('2<"5!8SX-YO'5 M]="=]P?^XK@U>VMPD:R4^NI>EMDTB!PA%)A:A\#HYSLN4 @'1#2^[3"#QJ4S MW%^_H'_VL5,L*V9PH<3?/+.;:3 *(,.<5<(^J.T?N(NG[_!2)8Q_PK8^.QP$ MD%;&JF)G3 P*+NM?]KS+PY[!*#IAD.P,$L^[=N19_L8LFTVTVH)VIPG-+7RH MWIK(<>F*\F@U?>5D9V1!];"/8:@KTV]-DC=5I6"82[ M'*Z98#)%>/0=.9<9W-D-:EC*N@&=DA]0,(L9/"FX*U'3IEQ#'>6QT%J='P^M MH5$/!D8TE*?!]VCH'0VK0%4:1)UF;H 9R)6@=C=7G;<$X6PIP6Y490C4G+^) M=R&8,3SG:>V!E%#1I/!BV%MW/!3,C4%KP,\14#E\>=U[#\-QCY[Q133N[8[? M<+;B@EN.YL.[41(G'Q>5UBCM+L/S--45A?/IF0:>8_H>DF&?GMUD>!+B1E%D M3Z@+^.D$6?;[SGX4C:!%)?U&)?U?4TGM::&,W5?%L.O3]8O]? M61\M::%PV:1*+&6J"GQ;3=?.[I&\M?:Q&/@=)6T+K[9Y1K..NWYU0_NE)I3, MWB!RB8VCMI0.FI0.?BVEQ/F6V4K7A:,V_*F:Q]+;"GXBO7-[H&J7DPN:YXUO M8J*:[/B6 K&G*::Q<]A!'8)P4N]&B5OV(1Z/W6( <;_G%D.(>WYG!..D\T12 M1Y9;$OQ.PITG92GK=<3W[($"B-^8*ED59N39?2C)"DL798 #G!U:' MJA]UHY;:#)O:#-MK4Y6E\(HB-PMF-O"9I'=J#IZ>?JU>3A3IP'?J?.?.]XGA M=WSPO9ESK^+WL92,9W16MQ:;BAK[T@Z3HVH/]_[V"]1K?[DQU+N5M/4-H-EM M[D_S^MKP>KR^?-TRO>;2$(F<3*/+(8T.75]HZA>K2G^)6"E+5Q*_W- =$+4[ M0-]SI>S+BW/0W"IG_P%02P,$% @ 48*15B9SS[9P P L@@ !D !X M;"]W;W)K&ULI59MC^(V$/[.KQCEJA-(V\TK!/8 M">A6I;J7U>ZV_5#U@TDF)+K$YFQGN?WW'3LDRTF 4"L%,G9FGGF>B>W)="_D M5Y4C:OA>E5S-G%SKW9WKJB3'BJE;L4-.3S(A*Z9I*+>NVDEDJ0VJ2C?PO)%; ML8([\ZF=>Y#SJ:AU67!\D*#JJF+R=8FEV,\Y T&RWZ+]:[:1EPQ2N1/E7D>I\YHP=2#%C=:D? MQ?XW/.@9&KQ$E,K^P[[Q'4X<2&JE174()@95P9L[^WZHPU' V#L3$!P" LN[ M2619_L(TFT^EV(,TWH1F#"O51A.Y@IN7\J0E/2TH3L\725)7=>P;O_5A?Z%?Y>;)26M$;^ M.26R@8A.0YA]N M@4D$IB 3)1T)ZJ[77QM042O&4S4 VFVTESBL:BF1)Z_PF]4B=:<*"'T3:D&L$$ZX9#.F:1D M2A59D3![;,2^!_T@G!!>%/N]125JKA4\=GXD.Y.B@L67U1JT@'LF><&W"MZ_ M&P=^\ %\8D"_WDI2HI\[56NND6JLX9%*!T][MH-GE+3%F[QM=#2DZPK^EJ=/ M+&-O .>*0_6-@A%!M&S;B?]2IU% UQ5*NZ04 M0'8X,M3/*PZ:=1![?B,UBMNE$4?C_[4T^L,P/M9NAYUR>;URHA3%URAO$I)[ M/YIX%U6']CW?!&&S$=I,;Y.G3B;WJ(]4*+>V6RK:N22H:2G=;->0%TT?>G-O MNODG)K<%5U!B1J'>;3QT0#8=LAEHL;-=:2,T]3AKYO11@=(XT/-,"-T.3(+N M,V7^+U!+ P04 " !1@I%6DUJOID\% "2#@ &0 'AL+W=OH@[<+^]U[[S\YW\&7.M;B1Y>=B8=97HW2$%F+)MZ6Y MD[M?1>M/9/7ELM3NB7:-;,)&*-]J(ZMV,5A0%77SY@]M''H+TO#( M(N(,[N M!LA9^1,W?'*IY XI*PW:[(=SU:T&XXK:)N7>*)@M8)V9W*^Y$N?7X-<"W<@* MR.OR:#&WW@=((I]1$)"!_31SFGJ]-$C^GXJ=%Y*O54"R>53M^]$R8V+A3;: M1TUXYBX\,_X-JM%H].=TKHV">OKK4' ::'88VO;8A=[P7%R-H(FT4%_%:/+Z M%8[#-P..L#9O'^RW.&3OH,;#]CX)2]['$0T.6G.-YD+8OLWEJB[^ M 4$86LH26$!?>'\(KMKZ0)#=+? !)-BS^;5))O:!O=.W-3)KN=6\7N@S[][( M_ MZO[%(&IV@!/X)#N$9X<2[$Y"4(K?):P2G.ZX6&L%:]&+N8UU (K%/$FR? M<6R?:>3=5IM2?A.B%9MM50ZN"#0K>8V@L'$"?]X':7@)L+ F"]V;9=2]4YP- MI#'JTA@-IG&Z6BFQ^A% M#UUUZ-JARQ9]U:"C+2130;H$VD"P-"ITR_0N^7-+_Q?>[]MJ#E*?'5F*Q;FW M]^']UF@#J0+]?J\B7,N'*$XR/V3,AI@%+/:>>8Y>OTH))F_V[V[^]D&HO+!5 M>@JY"D-TAI(@#KMY(/:E**R&TXCY-,8@@$F09IW$#:]SV#(:#:S50./_9#=& M,2%^F-+&[IC^B-VQST@$J%E V2&[<>+'V K@* @/V7T,8\AR@J(LA8CO+4]^ MQ')&_ QR=H;2(#EH>N1'+J!@.2.'(D[:B*=]SX;LIBABB8^SS-H=!3@>:,:X M:\9XF%.;XXK=*0Z8<*CI!O4=8U0X?T&OF773*;9[^/ZD9*'WW28?H1$W+_R_ M\'JV[9-A-W+OCM,SWHE=BL]MY8:(4N*G+$.8!G&*2)"]'($%D5U '"+!T+)1"(00N'OK7_-J\^:Q'*9?A8+C^Y/">UF9D!3*_)@Z#H^#)//V3$)8Y&.*+3%C M[Q-LU([UF)]EB>6&)""IU^<[(#P:18X54OH=5-CQ9O;VCNN5@7P42F6L#0,$CAIJ.8&U/PP&ULI5A=<]NV$GWGK\"H MF8S<42T")$7*L3TCR6GK3M)Z;*=YZ-P'B(0LWI"$"H"QU5_? Y"B:%=1FNF# M38I<+/;C[-D%SQ^E^J370ACR5!:5OABLC=FK*0JN<%/ M]3#6&R5XYA:5Q9CY_F1<\KP:7)Z[9S?J\ES6IL@K<:.(KLN2J^U<%/+Q8D ' MNP>W^6'DG\'LN M'G7OGEA/EE)^LC^NLXN!;PT2A4B-U#9$ RL>)U86[EX\^B]2>R^E)9:/>?/+:R_H"DM3:R M;!?#@C*OFBM_:N/P;Q:P=@%S=C<;.2NON.&7YTH^$F6EH.%?=:AB75S8I M=T;A;8YUYO*Z2F4IR#U_$IH,[_FR$/KD?&R@V@J,TU;-O%'#OJ"&,O)>5F:M MR=LJ$]ES!6/8U!G&=H;-V5&-O_#JE 1T1)C/@B/Z@L[1P.D+ONHHN.%XP#59R0*UK<\\FRJ;+V;_46]X71&SEK7F5:9/O"LLU"9/R2M"1W$< MX!J-_'""ZY".Z#0@)QXJ#75406 2Q/@_31(2C(*8>:]P#:D/X7CD!R&N;$3C MZ9%(1UVDHV^(](V2GW-'.?#WJY$^KOF?,35XLGFVPW\(Z*)6"HK/O!]%)A0O M$).ISUPX$P33Q9DA='>&&X%:"D@\(8R%7923V">13TG(?(^-_"0BP32T4:<3 M[TJL!-1G?>U(DQ^UFA.;BN$4&3EI-Q@&-,([&L?6@&DOFP'#$R3ZA,2)!R5! M8.\9I4XCHQ!%6L,I-$[\"/^3:70DL9,NL9.CX;\5J:S2O,BY:P![2"/8^RR, MATM1B55N3LC'W*Q=(&6&341F1DOB6SS:;8YM6#>V\=KHU46[(+3H]> M;FTP[J43;!_/7];M'F;[[0_AZ[B#]])@ZT-.D2Q?(7^ DI*E0YUXVJ 1PI?G MBX4""U=.+ & (:KT@8)=YBS:L'RR;D M=U[437YF=EM>I0+@8B0"BA+: Y'3=>7< NAS.$XA,Z&$3N.>OMN&T31N"N[\ ME61VMP"\?/(NYTO P6P)R&;(0@O7H4/PE:@PDWSJF3ZKL]R0U]\EC+(WW34( MJ?=>\ )1JS+T.B.4P>2#*64O.R64>@M>\8P[1*UED3G@N!)_J7'"O)\*N700 M,G B1PPD[D:P S6I&@8,2LU;>J<>K?"U*JR(=X# M8);]'V.+B\B06?%@DN"NHPD7AA'Y53C [>K'@N@M#M ]RLA-Z'<#A%CSC9_?1^ W@5S"*,T.";""7N""4^7F^=D8[,[P6H76&4 M[6"9(L%FC1)XX)\%NKUW0FT11B[67:*>C)**VP;&H ?D/!T ^8>B*T\";\PPI6AK7ZQ@@]9$KA=AL M=QQ#6)2 ?6S-%4U$,U"C"YPT +]MPU ;BP)O,,P!7A&("_FS>X^D"1D M_9)Q8*9OR#L!PWJ^H>W"I ^50D]#EOZ"T5TYH;VX#J()[)GLF<&^:CS';J'] MVT?[#@[DH-H%IG8[_\(GA+P6F"# J=Y=>VBB<4@6?).CS^1_.?^^1_AH'+VH M.@:JMI,%]4=X3))1@G@]2VT/U&<>8E27=\3298'"))_$WA=2'LSO60(H#FGB ANTHF#Y][ZY>&M=@ MX0U(,AYAJO(.M:LAH,D:^L1V(:@\)7*5KIRG#?H7< MN,C:F:("O'"2TM9^TW+/%N(-O^@:RU*I3<,.&%7LS)J=VN%(B]Z;= DTJ>3D:W#HG;#B\,;CF\. S<"R/M2>SINPO&)LK5JA-/F MKBQ:O#M(X0SHVV-CD-CS7X#1Z;J%AO-IHW+I\)S+=LR5.F^Z& O)) "K/U^0 M-@>HPTLH#BE(5H0AIRT U,V7!-]J%3[N143@8%CE*B3>R0XP?R+0]Y> 2 MV@&H]S[RE,*]>"^96D &4>5YH-/][3[7#9KOA+MQ9MO M;>\YIBG86(@5EOJG,L,W!@ ;@X !D !X;"]W;W)K&ULC5?;;^=!)-MA.?]7+E:&)^=M+*I;I1[K?VNL/1 M?-12Z;5JK#8-=&IQ.CF/WERDM-XO^%VK>_NH#^3)K3%_T^"J.IV$9)"J5>E( M@\3F3EVJNB9%:,8_@\[)N"4)/NYOM?_H?4=?;J55EZ;^0U=N=3K))U"IA=S4 M[K.Y_UD-_B2DKS2U]5^X[]=FN+C<6&?6@S!:L-9-W\J'(0Z/!/)PCP ?!+BW MN]_(6_E..GEVTIE[Z&@U:J..=]5+HW&ZH:3[]D^XO#1-&YEX7U3J>JI@CGZ,CK$MPY=\(,:?Y'-#$3$@(=< M'- GQ@ )KT_LT?=M*/X\O[6N0SC]]9*_O;;X96U$L3>VE:4ZG2"'K.KNU.3L MU7=1&KX]8&L\VAH?TG[V*Y+X1F(F?+JVE@^)18.V/X@$;(B M2OH.3W/L9"SW?Z*0Q5%$'8XS"62S#+Z'*)HEU,0S =\'7U[)=?OV(XB"Q2(' MGK(D38 G+,,F9P4J$DP4.4PC%@H.Q\#Y+"?YOIG&LQ".48]QR''<*N8LX1GU MHHS%>>A[*"#(G[ZWR33CC:-6EZ3 3TBEX_X"GB46 MXO)8)%"P!(706!X&NPA?-:59*TA8' N(&4]2X+AW7 M0R0]J'@/2?L]]-,]MJ34%OS2QFTYC!RZ>L*@ C<-,0AR$D(1-9O /.:P1OGH4>^G&Q@R?BG(<]/&-6)$GP&G9@ MD]XR*/%(T]:A([HI=2OKVL>VE';%_!?4/QM]AW6S<7CVX9&NN@[==0B#0065 M'+PM;-!AY@>EZAS>>"@XK=0X?K;I['F4WBE<6NK>?=)P*5M-3G@05YI.87NX MF.P/)F<\ZA$8)3X8+!>)+Q2$SSSNYY)4C&&.6%ID*)>+# D6Q4CC,(<"H8YU M@<=C@ 46H[1OBYBRA25$T(X#XK,B]?LG>78 ^>F(_/3_(O_&W]LP"S_J1F+: MGMTX$**[VPBV+$9;GM%E2;: ;(,/IEG^\ 'O MF=7 B]?/@; ]<%[DR[.T![\UFO:]<8@L2V="A/F@;*8YBW)*<4;'!6598)W, MZ!MH,*]S1YTC//&BG0S-9+-T-_%LT^NK<3_4OUE?.E3\-HWKGP/C[/B8.N_?$+OE_4OLH^R6NK%0JP6*AK,,CY6N?]WT M V=:_Z+ @.#[Q'=7^"!4'2W _PMCW'9 &XQ/S+/_ %!+ P04 " !1@I%6 M*><*MM(" J!@ &0 'AL+W=OX$5!!PR8PD4?Q[@"CBW()3Q=\?TNB5MXJ&]IW]RM6,M*=5P)?D=RTTQ M]R8>R6%-:VYN9/,%=O6,+"^37+N1-&WL<.21K-9&EKMD5% RT?[2Q]T^'"1, M@E<2HEU"Y'2W"SF5'ZBAR4S)AB@;C31KN%)=-HICPA[*K5'XE6&>259*YG5F MR!U5B@JS)=\931EG:/5_T)2#/IOY!A>RX7ZV@RY;:/0*-(S(M12FT.2CR"%_ M#O!182)WZ@X)W$X(%$0Q2=X<5=V['CQ*[S/-;7E FA"14Y>[ )# M]^]%JHW"2_/G6/TM?7B<;A_25%@ O>?G] ^[+0/3]&3 MA;W(]H"8>"G\X/B.J?Y_KBF 5#MVLV?S/7M FH)E!6$:8S->XQG;)(E9"M]9 MIFITP",V#@UZCT._+"LJMDQL2":%EISEU&!D2CD5&1!WBP>62C592XX-0T][ M?7?F=HCL$/:6;?B I+!A0EB<7+LEMD 5>4LF\1#'<1Q8>Q3T<),>F.LBV,2> MMNIC*Y!$@V \QC$<#S%\U+N2VEAB%W@#%65*DWXXF,27Y(ST;4I@C;M&N&C?_U-XVT6OJ<)- MT83#&E.#\S'V'=5VIG9B9.6Z02H-]A9G%MC,0=D _+Z6TNPG=H'N[R'Y!U!+ M P04 " !1@I%6\'1&>-<" #9!@ &0 'AL+W=OJAZV-B3>,5Z M-]T=$_CWG;4=-]"07GO)?LU[\]YF=MQ?&/O@HS&(0Q,%RXT;.)<#@RZKO,*!\$QP%D.!6EHANS^(R-GT//EQKEJE]8U+%'W0#2TI$I M&C K**2N1_'4W,,*X#AZ Y T@*3272>J5)X+$L.^-0NP/IK9_*2R6J%9G-3^ M3[DERZ>2<32\$-+"O5 EPAB%*RWRC9.#W3LQ4>CV^B%Q%A\;I@WC6WX*#K9(+C; M"NYN8A_>UB\&S!1&N= S%BLU5#8>*QM\<(6/J* #%U(+G4JAX$J*B522GM?9 MV9APO9VOI05E].P]H2VX\B>TSS)25692SX!RY'JUEJL'YL963XYEO02 -N2? MLG^3F'D3'C9M)3L2U!2@()BV!CF1^QM'OD1AXAM+;VM](3/-UNZE#S>E$SIS M>\U%Q&PO=V]R:W-H965TO*>OT/B^^J840)7E(DTR=#19EN?PP'*K)0J15%RDO]MI@/ MU;(0?%IW2I.A/QJ-ARF7V>#\M/[LNC@_S:LRD9FX+HBJTI07CQ]%DM^?#;S! MTP=?Y'Q1F@^&YZ=+/A!X0*9BQJND_)+?_R&:$XH,;Y(GJOZ7W#=M M1P,RJ529ITUG;4$JL]7__*%QQ$8'+WRF@]]T\+<[C)_I$#0=@I<>(6PZA"_M M$#4=HNT.P3,=QDV'.IC#E;-J3\>\Y.>G17Y/"M-:T\R+.EQU;^U@F9F1=5,6 M^J]2]RO/;U8CBN0SZQ=>;F+SY^2WYFNNP=>W3WHZ!Z_O+O?T9V^O'N7\'JI#E8U?8G0?I&W:WQ2>CKN@B#:!(& /!K.A&Z^A&3E]=NK.OND:H+Z\NY+Y1R>V;SQ7L'$-,X71W7F@ZZ33X=UF M #L:'6TWHDBS& AF!6:\#LS8&9@_=8E9%CQ3?-+,OT^A$0^3!<_F@LQU%4G> M)+E2;[LBY.3WC= *%FTX_UUX%&Y%J*.1?WR\%:'Q3ABCDZTH,I#IEN./UHX_ MDKW>/=ARG6VZ/_XY&P<[XWVUTLMV&@4RW MO'N\]NZQT[N?TB67A9D_3-;YG&LG)WJ=,25<*:'GE#H/Z9%.JFZW.^E]W7Z\ MXZQMG^]M0?>V8""3+7>?K-U]\E)WZZ11S'5]9IPKLU)G$'F;B,;O7:YVDONZ M^F3GJM]V]=X6=&\+!C+9=1:VZS>6 MM)[3]9\EOY6)+CWKX:U$,GLG,U45.K%,$B[3;L\[F;T][^W6)SLYO*/13J%# MH78Q%,V.C-]&QG=&YG=3I.AK@3Z896(EU>(I^]YOY/KZ6L\& M/.N,D_,(O>/D[\WZ'4W"<#S>#A/2+(:BV6%JU_>>^&A1!P/NIR'TF(HC4)I#$6S1T"[V/?< MJ_T?7U2Z#] [\-%N%;([9^XN_*/=.7.WT=E\S:)?S@N>UG/?.N>2_Y'?"R&R^SR?DDM=Q,B2?,U,T<&R,E24@-)B*(U":0Q%LT= *XEX;DVD+H3U(,-R8(^SHM0J+YY98$ LV+5-\VF]WP1$?^B] S?B5^ M)48V<29^J!H&I<50&H72&(IFCX]6#?.C@R5^J"P&I<50&H72&(IFCX!6D?/W M*'*B,%F SX6I]HO5]4Z43@IJ)L6T^3*QN).3[N]NW?C>85_1CC>_F7H_BK83 M_JK5B=TJW-J+0Z&F,13-CE.KD?GN/3D=F?Q"%K=YH2]*7! T5QJ"T M&$JC4!I#T>RPM\*8?WRP! T5S:"T&$JC4!I#T>P1T(IKOEM<:RYN1>YY4>C8 M/Y*E*&0^[0PQ5$7;8UA$'@4ONB:%&&H'A=(8BF;?1- J:X%;6;N2V0_E<3>^ M]\T#4$D.2J-0&D/1[+"WDES@'2J/!U"-#4J+H30*I3$4S1X!K<86N'>!]F>, ML7>!86\#P]X'AKT1[.]0U()640L.MH,L@&IF4%H,I5$HC:%H]@AH-;/ O8., MJE*FM4Y>*3&KDOKN#674DW+ANIG C>T=;K>1_LB1U:%J&)3&4#0[MJT:%KC5 M,'=6WRK=.X,,E<.@M!A*HU :0]'LN+?J6G"P'6@!5&B#TF(HC4)I#$6S1T K MM 7N'6BOSNI056V/D9XKJT,E-"B-H6AV;%L)+7 K51\KF4S-17RAL_MGP958 MY,D/5N]0I0U*BZ$T"J4Q%,W^'8=6?0M'A\KS(52(@])B*(U":0Q%LT= *\2% M[KUQK\WS;FSO<+N-#!W:.M00"J4Q%,V.;2NQA6XEJV^>?T$][SYB[[!#M[-! M:11*8RB:/1):=2X\V(\UA5"=#DJ+H30*I3$4S1X!&S_9Y-[Y]NH\#Q7E]ACI MJN>AAE HC:%H=FQ;!2YTBUM7?++0'^GKV\@U]'LEE_5FU9XUO/LHO4,-W;$& MI5$HC:%H=O1;C2X<'RRW0]4Z*"V&TBB4QE T>P2T:EWHW@OWZMP.E>;V&.G, M[5 =#DIC*)H=VU:'"]T2UTMR^TOJ=J@L!Z7%4!J%TAB*9D>_5>K"DX/E=JA" M!Z7%4!J%TAB*9O\69ZO01>[]<:_-[6YLWW#O,=*Q909J!X72&(IFA[:5WB*W MJG69I\NJ%,5&5C="S4T^*^]Y(?J6[^ZC]8XX=!\FB@]UK M&D'%.2@MAM(HE,90-'L$M.)Q1L/&+Z@>[K33"_LHZ5*2#TBB4QE T M>P2T(EWDWDCWZAP/5>3V&.DJXZ'J&Y3&4+15:(<;C]%)13&O'WBD2'VEKAXT ML_YT_5"EB_I10EN?7WH?Z.K12"UF]:2F*U[,9:9((F8:.7I_I,=FL7KXT>I- MF2_KA_7!349@&^N^S/"^?WI@#K!]!=?Y_4$L#!!0 ( %&" MD5:R \/6^0( ,\' 9 >&PO=V]R:W-H965T6!NIA;%58EI$@3U,>W"3T\;"B8/MM/3?[S@I6:%I MM)?$=GR^RXG/\6@CY+-* #1Y37FFQE:B=7YEVRI*(*7J4N20X9>ED"G5.)4K M6^42:%P&I=SV'*=GIY1E5C JUT(9C$2A.;+[#SE#7X$6"J_))-KN]CD6B0FF1[H)10+L K=5=$I73#@7$=40$YQ,J6+*[+BE3)(G MR@L@IS>@*>-GY(2PC#PDHE TB]7(UJC:<-O13N&T4N@=4UBL+HGCGQ//\3SR M.+\AIR=G[V%L-%T[]VKG7HG;.8([+12N*/7.UN\[7",S#:GZTR2U@O2;(4T% M7:F<1C"VL$04R#58P>=/;L_YTB*X4PONM*$'UU0E39JJJ%X998IP'0S=D;UN M8/)K)K^5:1)%HLBT(O<0 5O3!8[CI&,+9G)-)EEFF8K9H83I4 WUDS_,/?^X(B*0:UBT*KBFQ#QAG'> MQ#Z\]FZON!Y4KANV6PQ+C MG,L^&I#5[5%-M,C+CKT0&OM_.4SPQ@5I-N#WI1#Z;6(N@?H.#_X"4$L#!!0 M ( %&"D58&8D[5V0( 'L) 9 >&PO=V]R:W-H965T*T0(O!<@JSXEX/$;& MEV.GYSP]N*+S3)D';A269(Y35#?EI="6V[(D-,="4EZ P'3L'/4.CWL68'?< M4ES*E3684&:.^(75:GP:XNGYB/[/! MZV!F1.()9]]IHK*Q,W(@P9143%WQY5=L AH:OI@S::^P;/9Z#L255#QOP%I! M3HOZ3AZ:1*P ?'\#P&\ OM5=.[(J3XDB42CX$H39K=G,PH9JT5H<+4Q5IDKH MMU3C5'04WU=44I,A";LPK8L#/(4S0@7<$E:AL52&8/<*3&"28*%H2LF,(4P* M18HY-?';O/B6 MM]^5%Q/K&2VHPETC.UD3Z\]S#82)PES^6J>^]C)8[\4CCAU[@?>Z(H=_&T.]BCYXKN$Y9C0TLUIS=1=0?C+S07:SQ.&@]#CH]GMB& M15&7W_141DN=I O,9RC6)JB3\(4)&K9RA^]2Y.$;Q!"T,02O*'+P=Y&]8$.1 M]UN/^YT>VX.<(FS_0"+DSCK7W21#>#3(C@2,6CFC3J9K01(]J?04LQ\>:\(W MDF-WWW62OK!F!ZWD@W?INX,WB*'G/4\.[Q6=UX!76V_@;^B\WLJTZOV/WOL' M2T?SN2NCU/R67! QIWHT,DPUE;>WK\^ZJ"=];2A>VNDZXTI_^NPRTW]'*,P& M_3[E7#T99F"W_UO1;U!+ P04 " !1@I%6658EVH0" "7!0 &0 'AL M+W=O=8EHX+6N MA!YYI3&K"]_768DUTZ=RA8)NEE+5S)"H"E^O%++<@>K*CX)@Z->,"R]-G&ZF MTD0VIN("9PIT4]=,_9Y@)3E,8J_#19L0+G:.Y7,T62WWO)>8U" M7.^6R8!HO9?7 Y+AD365NY>8[=OFX #-9 M:?>%36<;>) UVLBZ U,$-1?MG[UV==@!1-$[@*@#1"[NELA%><4,2Q,E-Z"L M-7FS!Y>J0U-P7-A'F1M%MYQP)AUG+PW7W%9(PV>8MV\#<@FWN$;1(#"1PS53 M@HM"PP2I#Q#NV"MJ.+Y"PWAU0KAQH1#IK0P\<%/"6!LE8C\K,MATN80O9/#$*92F%+#M<@Q?XOW MJ1Y]4:)M42;108<_F#B%0?@)HB :P/W\"HZ/3@[X'?3%'CB_@W?\3AI-&JUW MZP SJI1K,+@1[9!9[>-/6[D;@[5^VE>1ENAL/Y&=Y N]8AF./!I5C6J-7OKQ M0S@,OAY(XZQ/X^R0][3KC'UAM<"A ]I]L$[#* [CQ%_OX8M[OO@@7]]]BYWN MV\<>_\\>GX?_D/L[PU*C*MQ*T)#)1IAV;GIMOW7&[;#]-6]7UI2I@E,G5[@D M:'!Z3@&H=@VT@I$K-WH+:6B0W;&DS8G*&M#]4DJS%2Q!OXO3/U!+ P04 M" !1@I%66LO/GH0" ":!0 &0 'AL+W=OJ1DDWA=(5 ML[35J]#4&EGN094(XRBZ""O&99 F_NQ.IXEJK. 2[S28IJJ8?IVB4)MQ, BV M!_=\55IW$*9)S5:X0/M0WVG:A3U+SBN4ABL)&HMQ,!E<3DKS 3 GCG[#I8J, LL98575@4E!QV;[92^?# M#B".WP#$'2#VNMM$7N45LRQ-M-J =M'$YA:^5(\F<5RZC[*PFFXYX6PZR7XW MW'#GD(%36+3?!E0!_D9C#O,4%9TN!,)>6R15WRXDQ]-,<7Z%E7)P0>.;E MHH:9DE:3WW"/@GGJDM<&?MUBM43]!$? )7PO56.8S$T26BK$R0FS3O2T%1V_ M(7H0PRVE* U\D3GF_Q*$Y$!O0[RU81H?9/S&Y!D,!Q\@CN(A/"RNX/CHY #O ML+=WZ'F'A^QU)EYSR2V>WM OF/]G(EES0T"86ZS,TSX_VBSG^[.XQKTT-<#-9SW-9P?8D^O&=?PR$2#^Y2UV N/=1-@G8Z&41*N M]R0<]0E'!Q,^&"P: 3>\0#C^B4R;DWV9#Y/$$;PZZ#X#PIU^H?]UY:>"@4PU MTK:MTY_V@V?2]MO?\'9JW3*]XM0Z @N"1FYP' N/0 &0 M 'AL+W=OZ%NW2] MD?J%X>7YEJSI.RK_W-YR=3;#0%\1S>A":@FB_CW0.3R MG+-'Q/6GE9H^J&!6I57STT)_[^\D5^^FJIR\G"T^EJE(]7<@T,]HMEQ6QR1# MUT7=J_2W\V-")4FSG\Z'4M6I2PX7C?Z\UL=/Z(<8W;!";@1Z62SITA88JHO= M7S'>7?$5]BK.RO49"N)G" <8HS_?)>C'[W]"*_G#=^%D^HOK"OUZOY'B#$5A MI1?M]!PRR>DRV"UC-3?:?T%1I1L]H7M5"O6*$*CU3:%_WJC7T+6DN?C7<:E7 MM63LEM1#R0NQ)0MZ,5!CA:#\@0XN%;YQX,0'*98 B5DHXSW*V*=N4,Y9?I\6 M5==^ID[4(+:DO.[I?W!2B!7E_+"OUF"]%70%6XN-*S$]/C]*X_%!8^;>ZKIV)R Q MB\QX3V;L)?.:L>5CFF4N%-Z27?O)^(AK&(]'T^-^,C[N4#@H3@O)=(]D>A*2=4G4B"$I M10N6YZD:D6DAT;)4YZ4:1-2Q]DVA1I;=^3(5"U:J(DOT0++22=-;=U>:TR.: M(Q=-H#HMFL_W-)^?1/.6?-;\!$H4P.L"O:6?)/KCD68/=/<8\<\-S>\I=][V MO)5TQ08IE@")67##P#SC!?#/$(TF$$U0M01*S>;9>F8.O\'\)-?V=B+URG9& M&CXQ3!Y[&ZIBFQ_]-"5?>9EY'^X4[$X-42Z#4;*@F%X0]!(,0-!F MJB50:C9/$PY"?SKX:E.#9H)&K6UJ_)2I^X@%H$R]X8J>U]:0(6 . MJI9 J=E83:@(QSW8&C1O@*HE4&HV3Q-=PM.R2V=;@R::\#C2X"ARV[J/6!.: M7!.>%FR.;?V*E=SO:M#8 JJ60*G95$V^"9_WX&K0/ .JED"IV3\!FT2#O4_X M7^UJOVQ7I(W:*:Z&JMCF91(+/BVQ.%R=/OCOU7[ESL@@U1(H-9NJR348P[L: M@T8:4+4$2LWF:2(-]C[B?[VK05--HV:[.G:[NH_(@DUDP?[(\E9UMWGSL^*; ME-RG6:KH>,U0&0ML_5Z'C3P@*HE4&HV:A.+HDD/G@<- M1*!J"92:S=,$HL@_TW-;\L6&"(JV/%U0O<:3&+!.EM/C^%RM+CP,T'-_S9TY M]1%T(A-T(G_0 5@VW-1@+_5U_?0P]U]+9W)]Y)S8Y)S8GW/VLPV2U:;E%.UH M4O$,O>9,".E?O[0(_YLH?3U048*]X8'T SRA>L*S_#8 MB:N772.M;2/^:1;?0G]_T1XQ=JJ&IM(B8NQ%_8%/(-3[WH/_2: M%NK&F55+XV?+/"U2)4#T!D#TLMYBX'U&]E]<9^:@DRY0:O878^)(W,/JL1@T M&PO=V]R:W-H965TP[$ M)LL(_W9+4[:;6M!ZO?"0K&)97+!GDS59T4&7LI3CY%4\LI1D13NI %!5$?6SJG:5HPJ7'\ M5Y-:S7<6P/WC5_9?R^95,\]$T#E+_TDB&4^ML04BNB2;5#ZPW>^T;L@O^!8L M%>5?L*MK'0LL-D*RK :K$61)7GV2K[40>P 8' &@&H#Z .\(P*T![JD KP9X MI3)5*Z4.F$@RFW"V [RH5FS%02EFB5;M)WDQ[X^2J[N)PLG9 ]W2?$/! UVP M59Z4<_$S>*Q6 6!+4!<(@!-!5BM.5T32"#Q_ _<\*8M^HVS%R3I.%N".\!GPZ&F M&[>92+?D?F23IJX9#LE7PH(073]?M#'K( M1Z.)O=T79* ,CKRQTRW#0V6!X[I-6:<)OVG"US;QI!RMS/HHE6<%^')'LV?* M!Q>!EN?<16"2#!LBZ^@7-/H%%S)58%)/DV38$%E'SU&CY^C[3%7!_3T;A#"$ M?4\=5@5C./9[ECJL&CDAA,..&C<=C+4=?-QPE;FT5M(2G#OU)LFP(;*.<&$C M7'@A*X4F]31)A@V1=?2$3IOR&;M]8AU6!#\.^KPZK?'_D';%5&U^A/K_>B.0-4VGQ9\^_ M239LBJVK79N:H7\I4QG-T4;9L"FVKJAME(;:9'F"J8)#([B>WS?50%6(@KZI M!JJ@XQ\Q51M?H3Z_SFDNN>J"Y.I'%=O(&-QDE">+-YRF)3U[49ADPZ;8NH*V M:1J.+^4THS';*!LVQ=85M4W:4!L\3W!:>. .SQ^'?:<=5KEH!/M.&Z@*?6?8 M::@-MT@?;O^2,>5:5^D)SET 1MFP*;:N>&VD1O!"KD)&D[91-FR*K2MJF[21 M-G2^[:H:WWF'AX+>SZCY4%7@]]YPX*$J+^B'0GOOO;_Z/[0J]T\$6+!-+JOW MX,W59H_FIMR9Z%V_A=>XVFEI::J-GSO"5TDN0$J7BM*Y&BFC\VHOI3J1;%WN M+CPS*5E6'L:41)07!>K^DC'Y>E)\0;.C-?L?4$L#!!0 ( %&"D5:FB2$_ MDP, ,T0 9 >&PO=V]R:W-H965T$MJ[4U]Y:LE&F2PYHC4689Y0_7D++#RL#&<>$N MB6*I%TQO6= (-B"_%&NN9F;+$B89Y")A.>*P6QD?\96/;0VH(OY)X" Z8Z13 MV3+V34\^ARO#TCN"% *I*:CZVL,-I*EF4OOXWI :[3TUL#L^LO]1):^2V5(! M-RS]-PEEO#(6!@IA1\M4WK'#)V@2FFF^@*6B^D2')M8R4% *R;(&K':0)7G] M37\T0G0 >/X$@#0 <@YPG@#8# [B!@49Y4M?@-;>JG +$=:@($\A-!HXA# M1"6$:/N UCRI@M:B=#Y(FZ7M%\F7CHW=OWJ,W*,G1?,W;MG MDJ9'#8=DJ^'S"J[?JWL/.V1&W*6Y[PHR$(9=9V'UP_RAL+EEVVU8+XE9F\1L M-(E/E(<'RM4S< O9%OA@_4:OY*?YE'I.2>9/1-;3 MTVWU='_.3S5\UG& 0QQG=F:GQU$V=B[)F9L&HAR,\;"9%FT&B]$,-F51I(GZ M#1PSTRC%2XL_)9D_$5E/NLM6NLM7,M/EE'I.2>9/1-;3$UNG YOUW)/U:=Z-GZM>[5J_[Q M1%,W^K>41TDN4 H[16E=N,KXO.Z=ZXED1=5-;IE4O6DUC(&&P'6 NKYC3!XG M^@;M/QC>_U!+ P04 " !1@I%6@.9X=N$$ #O'@ &0 'AL+W=O1 4CT M6N143)U,RO6MZXHD@P*+*[8&JMXL&2^P5$6^.1(;(H"\[=[R-ENZOC.ON*)K#)95KBSR1JOX!GDE_4C5R6W M84E) 5001A&'Y=2Y\V]C/RP!NL7O!';BZ!F50WEA[&M9^)Q.':_L$>20R)(" MJ[\MS"'/2R;5C[]K4J>Q60*/G_?LL1Z\&LP+%C!G^1\DE=G4N790"DN\R>43 MVWV">D"CDB]AN="_:%>U'8<.2C9"LJ(&JQX4A%;_^+5VQ!% \?0#@AH0O >< MLC"H 8/W@.$)P+ &#,\%C&K Z%Q 6 .TF&[E+.WI!99X-N%LAWC96K&5#UHN MC58.)K2,K&?)U5NB<'+V!%N@&T!/D+ 5)5KM7]!=FNI'G*//M K?\L6'!4A, M\H^JQ9?G!?KPX\>)*U4G2BHWJ0W>5P:#$P8'Z(%1F0D4T132'OSTK.^+ M'2-[NBC5.8.JH950 WX(S^^D'/_1^[=.M(@LU6;G";F=#7ZVXWL3='NO3 M;1:$W6:1S:[%ELA:&@T;C89&C?93GE=3_EOO++PW>UU7MS':1S<[% MELA:@H2-(*%1D*/=,=EKDS A>U\V3N_;-J,;)+%ELA:0M\T0M^8]RF\)DK;\D#Q7EA\6#%QP394 M5:EHV.BPP,?3<@VU1BL#_'R>VV?C%>IN'$IZ>V5;[$5EEBVVQM0,@. 1 8#XY 6>:'\UU1DIM MS'\^0/$"_*]>18UL%RMJDVUAE2VRRA;;8FNK?$C=^&?F;G9$9G7N42F]S^2\ M]4IM-6%CE6UAE2VRRA;[W:33(!BUMJ6VBH?DCF\CNV,FN5BW87>3[3TX6S4; M666+;;&U=3LD>?SO9'DR3%=0?OG<)4FYDQ)U9'H F;%T7Z/VU"7CZEL('1I' M0I("2S OR%;S0E;9%E;9(JMLL2VV=D@J"I MKH(?,%\1*E .2T7I78U5"//J=K4J2+;6MX$O3*K]73]F@%/@90/U?LF8W!=* M \T=]^P?4$L#!!0 ( %&"D5;PWDU,-08 +PF 9 >&PO=V]R:W-H M965TQT9S;%DHP-7<),2IIM=I*= M3)*V%SN]$"! K6U1281F9W_\RH8B;,L*,.(FP7!T])X#>O7XH[_BXIN<4ZK MCS3)Y'EKKM3B;;LMQW.:$OF&+VBF/YERD1*E#\6L+1>"DDDQ*$W:* BB=DI8 MUAKTB_?NQ*#/ERIA&;T30"[3E(CG=S3AJ_,6;/U\XY[-YBI_HSWH+\B,/E#U M<7$G]%%[FV7"4II)QC,@Z/2\=0'?#D.<#R@B/C&ZDCNO05[*B/-O^<'UY+P5 MY(IH0L2L73S6"M(&79^C_YL6G$ MS@ 8-@Q FP%HWP%X,Z#H7'NMK"CKDB@RZ N^ B*/UMGR%T5OBM&Z&I;E7^.# M$OI3IL>IP76F2#9CHX2""RFIDN ,7!$FP">2+"G@4W Q_KYD@D[ ]81FBDT9 MR8/KXT@V ?*I<6KCY).EPFXT=^5!*\OJ2(L^4W/\?'A$KQ^]1MX M!5@&'N=\*?5XV6\K75.NK#W>Z'^WUH\:]/]%LC< P]\!"A"V#!_N/QR5A[=U M)[?M1-MVHB(?;LAWQ3*FZ%E>[L32HW]N=#RX5C257VRUKI.']N3YBGXK%V1, MSUMZR4HJGFAK\.LO, K^L%7N*5FI#WC;!^S*/OA3<"G!D CQS+(9N$CY,E.V MBM=IHB)-;CE/@S (P[C??MHMI1Z%HQ";J)+&<*LQ=&J\&(^7Z7+]@]4"A6+_ MDMQ:;#+7F3H[ LY@#^.HHM,6%HW4A$ $*V(M,3&V*XVV2B.GTK_UOK/'EQ[59D8085315X^"/;T[ MV17&6X7Q"[W,+94*,.29$GH367N6[JBH; MO>!N*<9SO6,43G?#QGHOTPM[)BC-OX7M2%O!3DV'KFM/R4KMZV[;USVEOW5] M]L%3LE(?>ML^]/SX6Z_^4X_CG66V+L46A<*&Q0@#L[<'WAQNDZKL7; 'JU+M M<4&3<\ =$($^O&.3I60+G6X45&5:PB(8-[@'-/L[=&Z;A_C'+4N4QFVG,;AG M.W1%^,I6[HW9\R$^I3E )U(L<%7MG(O##A 3^0 +5#0Q35C>"&J?!9K MR 'Y(P=D(X*HMNBL89U.PTD<,MR O' #L@ !"JKN98UJ8ANT>$59+D6 M$G?":BW.N8ZMQ9 -9SSAL^==RWH4_"O);LB()N!B\>"V M(Z]!@-^#LZ7:;+*6M M"-<4UH.B;I/"G1L2[CL2E]K"!!LME4:H+7P=ZV+NN0Y=N;ZRE3MC0 *'IW0Q M[ D<-KTX!89@@R'8C2'[W[>J,T@/UZS!'536:,@"N\GB( ^KX\59I]NMZK1$ MA;UN@U"##?BE"R*'.UALP:&JVGI,H-5LY=FZ/>QM8MVY@<94\-T&EFYI- MEY>PV6"Q>X/539S0E(AO)SU==(LX>#5[RE:^OVMV^S XI;.%3I8XM!>^LI5[ M87 B=./$WLX6U@$A1-6S1?=DQQ9C<"-TX\9!M^[K.'$65N\UN^<[MAX#)Z$; M3O9TG]#R'$1<-7/W5(>6TMYYM"A_KNN6B!G3'I+0J4X?O(EU7\7Z4:GU@>*+ MXFFC$5>*I\7+.=7.)?( _?F4<_7S('^ :?O VN!_4$L#!!0 ( %&"D58F MI%M5?@0 $,= 9 >&PO=V]R:W-H965TA#[1T;1.52(^DXV38CQ\I*9(5 M*XRU<,E#+-&\A[Q'Y-$]YG#'Q7>Y!E#H/DN9''EKI3:7OB_C-61$GO -,/W- MDHN,*'TK5K[<""!)'I2E?A@$ S\CE'GC8=XV%^,AWZJ4,I@+)+=91L3#%:1\ M-_*P]]AP0U=K91K\\7!#5G +ZNMF+O2=7Z$D- ,F*6=(P'+D3?!E%.8!>8_? M*>SDWC4RJ2PX_VYN9LG("\R,((58&0BB/^Y@"FEJD/0\_BI!O6I,$[A__8C^ M*4]>)[,@$J8\_8,F:CWRSCV4P))L4W7#=Y^A3.C4X,4\E?E_M"O[!AZ*MU+Q MK S6,\@H*S[)?4G$7@ >/!,0E@'ATX#^,P&],J!W;$"_#.CGS!2IY#Q$1)'Q M4/ =$J:W1C,7.9EYM$Z?,O/<;Y70WU(=I\8SI@A;T44*:"(E*(E^1I,DH>:A MD!3-6+&TS"-Z%X$B-'VO>WR]C="[']\/?:6G8(#\N!SNJA@N?&8X'*)KSM1: MHH\L@:0)X.NY5PF$CPE#UV_&,:ES*#8EAY&E9D"#NP!O_] ,>!+^T M<>42+'($UN"Q7_'8MZ&/9]F&4*'U23/(EXC6M)*[!%99_4?]@O# MEG[18;\^;O9KI#.HTAE8TYGFX@<"3;5@"/U^T'OA&K(%B&_H'W0S^^WCM&IH M2].*WG5CN 2+'($U6#VK6#US+#!G+GET"18Y FOP>%[Q>&Y=G9\HHPI0JHN6 MY%!>=$5D:B[*5F@K8;E-T1>Z;-V,]E'ZZ &(:%.KJ36P*Y..P!I,7E1,7KQB MGW_F#!YVNBPLEBN:;T6\UG4>(BS1I,9&Y-!D)0",V%L%P3J-K@O9)5CD"*Q! M/P[J"C!P+ DEH",JG:)%KM":9.Z5T_A-=.&%80;/"X,]LC.=CM":=(8UG>$K MQ.%@Y7Y C2)H#H+RQ"H*]O$[+V67:)$KM";WM17!KKT(=FI&G*)%KM":9-9^ M!-L-202Q //>FC%$CBS4\:'?P.=ME;I][,Y,_1\F!M:I MHVX>9;?L$^J\]YT:+E=HS8=16R[LVG-AIZ;+*5KD"JU)9NV[\-L8KQ>&"0-+ MA>74>[E":_)9NR_\&OO572D<&C;[S#OO J>6S15:\S?OVK.%KCU;Z-2S.46+ M7*$UR:P]6_@VGNV%86R28@_MS*=3T^;OG2YIH5CEIW02Q7S+5'%.4[56)X&3 M_/SK2?L5OHR*\[P:ICA>O"9B19E$*2PU9'!RIJLG49S8%3>*;_(SK 576JWR MRS60!(3IH+]?;\P U;GI^%]02P,$% @ 48*15B-[PQ5T @ (08 M !D !X;"]W;W)K&ULA55;3]LP%/XK1QF:0"KD MTC;I6!JIW#2F,2$Z-DW3'MSDM+%P[&"[+>S7SW9*U(V4OB2^?3<[/DG70CZH M$E'#4\6X&GNEUO6I[ZN\Q(JH$U$C-S-S(2NB352E#+JB+R^0R96(^]T'L9N*.+4ML!/TMKLL IZOOZ5IJ> MW[(4M$*NJ. @<3[V)N'I66+7NP7?*:[55AMLDID0#[9S78R]P!I"AKFV#,2\ M5GB.C%DB8^-QP^FUDA:XW7YAOW+9398947@NV ]:Z'+LC3PH<$Z63-^)]2?< MY!E:OEPPY9ZPWJP-/,B72HMJ S8.*LJ;-WG:[,,6((IV *(-('*^&R'G\H)H MDJ52K$':U8;--EQ4AS;F*+>',M72S%*#T]DUUX0OZ(PA3)1"K> 8ILT!@9C# MI=+41,<")I60FOXA;B\OG\Q'H1 .+U 3RH[@ "B';Z58*L(+E?K:6+,"?KZQ M<=;8B';8^$SX"?3#'D1!U(?[Z04<'AS]2^.;9&V\J(T7.=[^#MXKRJG&XR_F MY MXE;4'7U'W.J/UX(JJG##XB43"#=%+2?4S_)K,E);F4_K=E;'Q,NCV8J_7 MJ:I)CF//W!^%
]OY=& %L\;(A>4*V X-[#@)#%F95.0FHX6 MM2L",Z%-27'-TM1PE':!F9\+H5\ZMJZT?X7L+U!+ P04 " !1@I%6;T+H MHR\" (HNF(5%XIFD["W--E$[YP4"I:&V%U5)9X_^#P4\#!]M;$*UEK_>"-19'2 MR <$$G+G&3C^]C #*3T1AO'8]U1$F^LTY7+1@CJ(1J_ORIS4,/,!R] 8A; M0/Q>0-("0N98$UF0->>.9Q.C#\1X;V3SBY";@$8U0ODJKIS!4X$XERW4'I33 M1H EG\FT*(3/+I=DH9HGXG-]/@?'A;Q C_O5G)R?79 S(A2Y%5+BN9TPAZ%X M0I:WU]XTU\9O7/N#JP%)AI](',7)"?CL_?#X-9QA KHLQ%T6XL"7_",+SV0N M;"ZUW1D@OZ=KZPR^LS^G]#6$H].$OO?&MN8YI!2;RX+9 \T^?AA>15]/J?U/ M9*^T)YWVY&_L/>T%5%A,E!R*#H\[46._NE/J&\IA4Q\_*?99/,!"[ONJ3C@E M@U'GU$3+>F_7SXU;;K9"62)A@ZAH<'U)B6EZL3&&PO M=V]R:W-H965TN*B3!\Q*4,Q=Z7N3FF'(G'91C M$YD.Q%HSRLE$ K7.6[/, M:4ZXHH(#219#Y]J_&B4VO@SX2C=>9EB1D6#/=*Y70R=QP)PL\)KI1[']1G9^ M0LN7":;*7["M8N/ =E::9'OP$9!3GGUQ:^[.C0 _B$ W '@J0"T Z#2:*6L MM#7&&J<#*;9 VFC#9AME;4JT<4.Y7<6IEF:6&IQ.[_F&<"TD)0KTP$CDA>!F M0 &Q ,VY\S'1F+(O)NAI.@;G9U_ &: <_%B)M<)\K@:N-G(LJ9OM4M]4J>&! MU-\QOP3(OP#0@Z@#/CH=#C_"75.$NA*PK@0L^= _*O$&QE1E3*BU).#7]4QI M:?;:[RY_%6'036C/WY4J<$:&CCE@BL@-<=+/G_S(^]KE]C^1??".:N_H&'OZ M@#61%#,%S%*"Z;HHF%GT+LL53U3RV!MBDZ($)?' W32]M*,@C+U^'?5!9%"+ M#(Z*?#;W08_RWD2*I2E!I[R*(6PD]OT@VE/7$10D!\2%M;CPJ+A;RJDYA7-P M)T3W80A;62&"T-_3UH[R^[&?=(N+:G'147'UUKX =U)T5RYJ)8Y@' 9[\MI1 M >K[4;>\N)87GR8//%8[NTM?W,K<,TN+O#V!'6%]Y,7= I-:8'*2P -G(FGM M]M!'<+]T[2@41*TSX3:NI'$-N][>,[!YF1> M,_XL,HPE>,UI(196)F5Y;=LBSG".Q(25N%!74L9S)-64[VQ1(%-9RWJQM^'+.*DE)@3<[S"E.I "N.EBVGUM]3&X?@0_6N3N\KE"0F\8O0O262VL"(+)#A% M%94/K/Z.NWP"'2]F5#3?H.ZTC@7B2DB6=V9%D).B_46O71T&!M?_P [ _RL MP>L,7I-H2]:DM482+>>)\LGEAJL-P>7; M)=A05$B B@1\>:E(J9Z4!%=@VSY=P%(P+CU?8XD(O5">Q^T:G)]=@#- "O [ M8Y504C&WI>+5=[7CCNVV98,?L/U Q01X[B6 #O0,]M7G[?"]W595ZDL%^U+! M)I[_0;R?.F']:09W>V1_%/D>Q9E: M4MOLW9XR4?HG]X?^+'2.* TJ#WJ1F3+H*8-1RA7+RTIB/MCT&G?+4EDCCDVT MP6FUO-D4'M$:5:YGI@U[VG"4]AMG0HR?61-Q>,(2!-[L>-\:5$X$73/QM">> MCA+?Q'&55Q1)G( U5CTI)DB_ZDV8TQ. *]]UG?"(TR#S9E[DF$&C'C0:!?VE MFNNAL)^M:W1ZTGT8'9\N@\KU_>.ZVH/7O6ZU]XCO2"$ Q:GR.9.I2IBW[:N= M2%8V'>")2=5/FF&F.C[F6J"NIXS)PT0WE?X_Q/(?4$L#!!0 ( %&"D59+ MP(F+Q0( /D' 9 >&PO=V]R:W-H965T8>)'@8MUJ]4% F@Z3OS\8ZZ:NEY4S"6!.S%(+JIR%PM1X$4; YN&7S MA74'8=(OZ!PF8.^*L<9=6+/D3( T3$FB838(+J.+M.OLO<$/!FNSM29.R52I M>[>YS@=!RUT(.&36,5!\K& $G#LBO,9#Q1G4+AUP>[UA_^*UHY8I-3!2_"?+ M[6(0? I(#C.ZY/96K;]"I<=?,%/<^'^R+FW/.@')EL8J48'Q!H+)\DD?JSAL M :+>'D!< >+G@'T>VA6@_5I IP)T?&1**3X.*;4TZ6NU)MI9(YM;^&!Z-,IG MTJ5]8C6^98BSR5AC!6G[=$+&G$I+J,S)U<.2%9A:2SZ2RSQG+D&4DVM95IE+ MUU$*EC)^C!9WDY0UQ',;E1TBX,N9(YY+L$(>JH MQ<0;,[[.'KX4\$/. M6!EP>,0/W0#!95&GK*A3!IN4-:6A=-/S;EP;6"78%-RO'ZZVH_/2+CIKL$L; M[,YW[7;T=FJ]G8-ZOROIA*%>.<=BRY0 OT# 7H&ULK9AK;]LV M%(;_"J$510NDT*:[2!5=]:,)UBJ M4[ZQQ8X#7F6BA-J>XPSL!)/4"B;9M3D/)FPO*4EASI'8)PGFSU^ LL/4*PGEJW[LW,];0@B_B+P$&< M'"/=E"5CC_KDC]74GQB_M=UGC5 MF"46$#+ZDZSD=FJ-++2"-=Y3><\.OT/1H+[VBQD5V2\Z%+&.A>*]D"PIQ"J# MA*3Y/SX6($X$;N\-@5<(O',%?B'PSQ7T"D'O7$&_$&1-M_.V9^ B+'$PX>R MN(Y6;OH@HY^I%2^2ZH&RD%S=)4HG@]LXYGM8H=E1#3T! GU"BWS,(+9&C;L? M(I"8T(\J[,?43O$$G1PY;M!4Y78F)+E97VMN,B@R]Y!MX;&?R)TVOD MNU?(+_=:Y-'YY!S\QYSB5SVWX<^4@4^II^2EPG:$:B4^G6)M!([]7 MC8F:,4/?J<;,6GSZKS&5MO7*MO6,;9MSM@:A)WY,T1U ZRN<6_1/GNN[;JV- MS9A>/28RIG+IB.C(K$*M7U+K&ZG=\6P):F/5;W"H]6+8C/![PQHIX^,O)=61 M6874H"0U,)+Z"FH=1U\)7A)*VE^A08.'-^S7F#5C?*_.S)C(IC=WP.4S>H^3W6>TP'II>,#'-HC#!B!W5 ,4-F-\=U"#:,SL4H@= MF54@CDJ((R/$A63QXY;1%7!T#Q1G&].W)KA1@\RH!B9LAKA.;9Z/C!E="J\C MLPJ\<0EO;(07@1IK'(4L24BV.+12&S>0#$/DQ\<)-K:RVQ@^VLP*_G[&0A;=.P MB7QI_7+WY'G.Y\MELA7R7FT -/F9)EQ-G8W6V87KJF@#*55G(@...RLA4ZIQ M*M>NRB30V#JEB1MXWM!-*>-..+%KMS*/%/ M?Y:!J#GX_2,.0>D0/-6A5SKTK-""F94UIYJ&$RFV1!IK1#,#&QOKC6H8-\>X MT!)W&?KI<"8A9II !$KNUO; M9)SH#9#+*!)I1ODOAKLSP6,\:HC-2(F$Q53CY(HFE$= %H:N(B=ST)0EKQ'_ MRV).3EZ^)B\-W.>-R!7R4!-7HT1#U(U*.5>%G."(G ^4GY&>_X8$7M!K<)\] MW3W8=7BA.4^;(C>"\B:EA?O0NIM2 M\Q#Z_6#@3=R'NH1#JW'=:(=:OZ+6;Z56G(E2N4W%F5!:O2$<"R:F-HVB/,T3 MFZPT%5*SW]14FR8%Q5,&-6ZGOK\OH,%H/&SF/ZCX#UKYSW(I32[=&GI8")%V M:Z0'AQ0"W]LGVF"%1D="/:RH#ENIVCI258HFZOA-"/ M$].?5M\CX1]02P,$% @ 48*15EM]N.B< @ R08 !D !X;"]W;W)K M&ULE95O3]LP$,:_RBE#$TB#I.E?L3824*%U JVB ML+U O'"3:VN1V,%V6OCV.SMIUHD4E3>)'?MY?G>7^#+<2/6L5X@&7K-4Z)&W M,B8_]WT=KS!C^DSF*&AE(57&#$W5TM>Y0I8X49;Z81#T_(QQX45#]VRJHJ$L M3,H%3A7H(LN8>KO$5&Y&7LO;/KCCRY6Q#_QHF+,ESM \Y%-%,[]V27B&0G,I M0.%BY%VTSB\'=K_;\)OC1N^,P68RE_+93B;)R ML0)AB;*P#H]L:KS!-K1&% M\5)Y>C72"G?'6_=KESOE,F<:KV3ZAR=F-?(&'B2X8$5J[N3F!U;Y=*U?+%/M MKK"I]@8>Q(4V,JO$%$'&17EGKU4==@1AN$<05H+0Q5V"7)1C9E@T5'(#RNXF M-SMPJ3HU!<>%?2DSHVB5D\Y$5PH3;N!BJ1"IU@:82.!&BN4IW*/*8(QS[-:36OV.^!B"51PZ_+/!'X51AMRMZO' M8S2,IR=046XD$_!XB]DI:A76M0N?;WN/KTI@(;53A2O5X0QM@8C#3 M3TU1EFZ=9C=[VLYUSF(<>72<-*HU>M'7+ZU>\/V#6-MUK.V/W*-KKF-Z,U2! M3E-HI;CGQ/;W:;J(-W7U"K M$[[#^CN=R3;Y6Z:67&A(<4&ZX*Q/8:NR<983(W/7K.;24.MSPQ7]:U#9#;2^ MD-)L)[;_U7^OZ"]02P,$% @ 48*15JCI-#[I"0 *7, !D !X;"]W M;W)K&ULM9U=;^.X&87_"N$NBET@&UM?]F2:&$A" MD4TQZ0;)[/9BT0O%HAUA].%*7DA73E&3&2D[G8A++?!_2XHE>\IBB MSE^R_%OQ)$1)OB=Q6ER,GLIR_7D\+A9/(@F*TVPM4OG.,LN3H)0O\]6X6.Q;6(XXHDV_&?!CK:U5D%[O_^ M2F?UAY+T:<1"<4RV,3E??;R=]%\(*_B+;*XJ/\G+TW9 MR8@L-D69)4VP;$$2I=N?P??F1.P%6.Z! +L)L-L!WH$ IPEPV@'3 P%N$^ > MVR2O"?".#9@V =-CFS1K F9U9VW/;MTU-"B#^7F>O9"\*BUIU2]U_];1LD>B MM)+B0YG+=R,95\ZOEG*LH@BG^1)7Y_H.3GGWXA/Y$H)5^?LDTA2<7YN)2-K*H: M+YH&76\;9!]HT!FYS=+RJ2!^&HJP)YZ:XRW[+0 W UP38"Q/[^X']S6>'1]N]77& M&Z=NG:;6NU_?I$%R$TIDN+?/:V[VM+< M?EJ5)CX7ZV A+D8R#Q0B?Q:C^5__8DTG?^OK9B2,(F$^$L:0, Z":6)Q=V)Q M3?3YO7C.XNV61R M/G[>UP"R2H:$<1!,TX"WTX!GU,!-6@I)+8G_78[^"G%29\2^_C=RAO8_$D:] M3O]/.[W?+>.TR[!N&:]=AH,:KO75=-=7TR/_7IM1#0L641R5/\B?MR)Y%'GO M)=[('-IO2!A%PGPDC"%A' 33)#/;268&'0_,D&)!PB@2YB-A# GC()@FED\[ ML7PR7E_^"/(H>(R%G.$T22$/2M$G$R-GJ$R0,&K^A)-3;]*G!V03&!+&03!- M#V<[/9P9S]:7FZO?[G>YA?R7O"\!&2L9*A8DC")A/A+&D# .@FD:LB;*@)E M4U"# ^D%2J-0F@^E,2B-HVBZ:/9<.^NX:N_;JO=M8^\S$8H\B G;I&%!_.52U(8^>7@)UN1>*N+C2FB9>.S=!S5(HC:-H>O:8C,0U,V%TBB4YD-I#$KC*)HN&N7I6D87<'Z=)4E4 MUGI9"G$X#T'-7"B--K1V'K(ZB0CJU$)I'$735:#,6LOL9=Z)?"$E$*P$"<)0 MA*3,R/.K@WM0$U#G%DJC#:VMB6E;$E"S%DKC*)HN">776F;#MF=L O)PS14/ MU@W4Q872?"B-06D<1=-7>2DGU\8ZN3;4R872*)3F0VD,2N,HFBX:Y>3:'W1R MS?2)U@;+!&K80FD^ ME,:@-(ZBZ6I2AJV--6QMJ&$+I5$HS8?2&)3&431=-,JPMDRM%8&I7$435>!\FUMLV_[KNFRF3E8$U"/MJ&UQR8=24#-5RB- MHVBZ))3Y:IO7T_:,34#397/%@W4#M6FA-!]*8U :1]%T>2F;UL:NO;6A?BV4 M1J$T'TIC4!I'T731*%?7-KNZ;T^7H0XNE$;M7@?7[J0DJ(,+I7$43>]^Y>#: M9@?W*DB_D6Q)+A.11XO@A/SS]/)T/Q_5-ZU^J6[7,N8?J%T+I5$HS8?2&)3& M433]3E!EUSI8N]:!VK50&H72?"B-06D<1=-%H^Q:QVS7MD1S0M9YE"ZB=1 3 M.8.*LC!:D'7PHWJO5T-0,[>A:7?MS;Q)^Z8\"JW5A](8E,9[SLA4/R-ZORN? MUC'[M.](//+@WK8)ZOW+YR"*Y01[K]R#6&1I6,'3L+X6=;9E,&4S<],'BPIJ M_4)I/I3&H#2.HND"W=O8 +RS 79K ^S>!MC-#;"[&V"W-_A_6+^.LGX=L_5[ MMTM>09)MI&KD%2X\<'][@VK=1MY*-=?F"@<+ 4GSH30&I7$431>",?'T2 [,7U$.&TBB4YD-I#$KC*)JN/V4U.]AUO@[40(;2 M*)3F0VD,2N,HFBX:92 [YG6^@[(7U#R&TFA#V\^L9YW,ZD/K9% :1]%T(2A3 MV#&;PF]FK_=]2V6N=;!FH%8RE.9#:0Q*XRB:KBWE.#MGV,P$M9:A- JE^5 : M@](XBJ;O&Z>L9=?H0LYKC<@+4NMJ6@7C*4QE$T727*2W;-7G*US2HIJXE5-6HA+_6VN2(D MP;/(JW4XVC9#))-'24#6M#J3NE'_VCM! M] >YK6(,VE*.HNG:4'ZS^T&_^>TAS8=]97,3!PL)ZBM#:3Z4QJ TCJ+I0E2^ MLHOUE5VHKPRE42C-A](8E,91-%TT>QOGFGWEUY6#C[M!SL(TR$$ZJ==0&G6[ MKK?=_8;5AU;*H#2.HNE:4-:R^\;"XCQ;"!$69)EG"8EW8YZX&2,OZI34JXON MAK.6[7:^P=N9?$ MVP\K@7K$4!IM:/LSL)EG=^=@/>7<3BD&;1M'T?0.5JZP9W:%#WZOM'+>=UB#-HVCJ)M.WZ\]\ ^.:I8U<]B+,BB MZK7M<^5V1W?/>[RLGW+8.DZMSVS[U$:%V3Y$\C;(5U%:D%@L)7)R.I-_)_GV MN8S;%V6VKA\+^)B599;4OSZ)(!1Y54"^O\RR\O5%5<'NZ9CS_P%02P,$% M @ 48*15L+ 9K8_! :!0 !D !X;"]W;W)K&ULM5AM;^(X$/XKH^S>:E?BR N0TBX@M0VY%UTEM-W>?3C=!T,,1$ULSG9* MD>['W]A)4^!"6B2?5!7'F>?Q>)[QV/%HR\6C7%.JX#G/F!P[:Z4V5ZXK%VN: M$]GE&\KPS9*+G"A\%"M7;@0EB0'EF1MX7NCF)&7.9&3Z9F(RXH7*4D9G F21 MYT3L;FC&MV/'=UXZOJ6KM=(=[F2T(2MZ3]7#9B;PR:U9DC2G3*:<@:#+L7/M M7\6^IP'&XO>4;N5>&_14YIP_ZH=?DK'C:8]H1A=*4Q#\>:*W-,LT$_KQ=T7J MU&-JX'[[A3TVD\?)S(FDMSS[(TW4>NP,'4CHDA29^L:W/]-J0@/-M^"9-/]A M6]EZ#BP*J7A>@=&#/&7E+WFN K$'\/LG $$%"(X!@Q. 7@7H'0%.NM2O /WW MNC2H (-C0.\$(*P H8E]&2P3Z8@H,AD)O@6AK9%--XQQEU4SMR6S@0GG.G!'6=J+6'*$IHTX*-V MO!^T$+@8F3H\P4MX;H)6QE\+U@5_T(' "_RF";T%S[K0\T_"HS?@A-7P7@-\ M^GYXT "/V^%W9 =>:-!>2RA[=:;U#%W_!-WT6:5L5:1RC85) 5]"1.<*/GT8 M!K[_%6:SF4FX!C]O6HEU[;V2&[*@8P>+JZ3BB3J33Q_\T/O:I)A-LJ@D"PV9 M+N)/$PS5T[Y$_[7H]\/PT"BVY-.!+OU:EWZK+F]6@#_O:#ZGXB_X!WX2E#+< M*W@"MX)B68 'INU?3)K$:QW]7/%LDD4VR:8VR6)+9 ?Y,*CS8=":#V95IDPJ M49B%NL2!@.2\8*I)WE:R<^6U21;9))O:)(L'#37!>RT(CK 1;I*\4"2[4"?M9,BHPDHC@E?RN]P-L MJ$ [5N0=//LN1($[%RP%ST&A'YFNB@F:=YLRQ6908DMD!QEU46?4Q3LRRH0T M53LSX::,:B4Y-Z-LDD7MT],98LXWIXY'4YO.Q);(#I0[BA)*M M).LKNI:I"N>J3;XV;7" M+_#&T_%E^VY2RM$ZXKERV"2;VB2++9$=R.9[K]_2WO_UB=/.?.[BJ]@.!4E.Q] #UY>+D7U!+ P04 " !1@I%6 1*9:' # !;#0 &0 'AL+W=O M_-K,-N#839MA M00-G73\4^\!(9YN(1+HD9:? ?OR.E*Q8C:/"A8#Z@T52O(?W/+P3CZ.=5 ]Z MC6C@,4N%'GMK8S87OJ_C-69,G\L-"GJSE"ICAKIJY>N-0I8XHRSUHR#H^QGC MPIN,W-BMFHQD;E(N\%:!SK.,J:^7F,K=V N]_<""K];&#OB3T8:M\ [-Q\VM MHIY?H20\0Z&Y%*!P.?:FX<4L= 9NQC\<=_J@#9;*O90/MG.=C+W >H0IQL9" M,'IL<89I:I'(CR\EJ%>M:0T/VWOT*T>>R-PSC3.9?N*)68^]H0<)+EF>FH7< MO<>24,_BQ3+5[A]VY=S @SC71F:E,7F0<5$\V6,IQ(%!V'W!("H-HF\->B\8 M=$J#CB-:>.9HS9EADY&2.U!V-J'9AM/&61,;+NPVWAE%;SG9F0Q1$P3%_FLT_Q*8R#QO]P6\&=-KN*+T@?>8K+A8 MP><;S.Y1_7O$M\M&+)OC%WK#8AQ[E,0:U1:]R6^_A/W@CV-$6P*KT>Y6M+L. MO?/]0/LVO/8Z3&U*4UBAACG7<2IU3G[ Y[\("JX-9OJH1-TV)6H)K"91KY*H M]_W(V#">@$%%N5[DE%R"WK&-/D:]$>]4Z@58WX'9K_]V,@CL;^1OCY#J5Z3Z MS:24U!IFN5(HXJ^T]\0-M8$%,P@SRG1%7_+&%&C$/Y5D2V U*0:5%(.?E *# M-B5J":PFT;"2:-@8+?7PN*.XA[^?&SJ(WJ45N0:ESV!TF]J4B]:3$% MX#\X[8AH7/S4S6\)K*93&#P5(\%/RI!RX994:@NM+M-!S18V!M0TDSF5870R MO*-"'188ITQKON28P%+)C$2*\RQ/*;X2^#"[!BZ,)$5CF2&(?E*\9JI6KZC7$EF11R5:CUVX88JB M1$.*2S(-S@=TJ*FBDB\Z1FY<,7PO#976KKFFVP\J.X'>+Z4T^XY=H+I/3?X' M4$L#!!0 ( %&"D5:>]7QA2 , )T( 9 >&PO=V]R:W-H965T T";!TJ9;@=%&VEKVHV@34\N?%X@77G)M MK/E/?[;3#CX]9R?-NI(5A'C3VF??\R6&MS:PM$!W=2*#N,"N>6IW%L MLP(ELT=ZB8I.YMI(YFAK%K%=&F1Y4)(B3CJ=?BP95U$Z"+)KDPYTZ017>&W MEE(R\_T$*>#)5O@#-VGY;6A7=R@Y%RBLEPK,#@?1F?= MTU'?WP\7/G-(128.8_ Z&^%(Q3" Y$;_]>846/2 M*VZO-^@7(7:*Y899'&GQA>>N&$:O(LAQSDKAIGK]#NMX3CQ>IH4-O["N[W8B MR$KKM*R5R0/)5?7/[FH>MA2Z_4<4DEHAV54X?D2A5ROT0J"59R&L,7,L'1B] M!N-O$YI?!&Z"-D7#E<_BS!DZY:3GTC$:OF*>2KC@BJF,,P$399TI*5?. E,Y M3+F]A2NF**U>""]@1M64EP)!SV$BEY0,OW(%PA;@-@Q7X72D54XE@+E?62UX MSAQM[DW/' DJE8,Q.L;%(9D;,5O !54Q'?,W4$O>YS2#I)K\6AT9^K)WO< MZ36ET0MXO=^7QFY!^"QPM8 S_PBYXVAAS&TFM"V)?/AZ25 PH43:;VW$5G:/ MV^WZOG5JJ:1P&%%CLFA6&*7/GG3[G3=MI/PCL <4'3<4'>]#3\^D+E4H_?^H M8<+!)=7B(4PQTPO%?U!AD_##: +4K^[9;&.D,M,/9GSC7:6=0;S:#G/?C0>^ MGS2^G^SU_5)G+'32C??DMF#6\CDGQ^=&2TIO5LI2A"?JP^#*::J%3$N$@[=W M2_^2#]O"V6_Y W4"4^.T972O]E]FM-^PTO^[C/XY-6V$]'_)WHN3USL9;KGS M\O5.CN.M3B_1+,( M)!YIZM&TTB;&7L61LN._)QF;S4J[V&JP7W%#+UM"P+G M!-DY>DGI,-4PK#9.+\,\N=&.IE-8%O3]@,9?H/.YUFZS\0::+Y+T)U!+ P04 M " !1@I%6;PB,/, & !V/P &0 'AL+W=O%-;V)+UGD.1;[A,5^+Y^M,?)4+SA5Y3.)47O062BW? M]_LR6/"$R9-LR5/]R2P3"5/Z4,S[Y/SXMR-F)QG M*Q5'*;\11*Z2A(GO5SS.UA<]N[7DC]%&_IH11 MPE,992D1?';1N[3?^\Y9'E!<\5?$UW+K/\7-ZYNY9Y)/L_CO*%2+B]Y9CX1\QE:Q MNLW6O_/JAH8Y+\AB6?PEZ^I:JT>"E5194@7K%B116KZRQZHCM@+LTQT!3A7@ M'!HPJ (&3P.&.P).JX#30P.&5<#P:@_C*F!<#%;9N\70N$RQ MR;G(UD3D5VM:_J88WR):CTB4YE*\4T)_&NDX-:'),LZ^)IH8ZIX&&D MR%MR&>I7?8;%Y$-:JC[__+7+%8OB-_J*SW?WJ#7E%HI1\6F0KR=)0GO>5 M;EG.[P=5*]RR%&]/?L< Z.LNK?O5V?3K ME6,D7C-Q0ASG5^)8CM/1H*DY_&.@3LC *L+MKOXTA_^QBG6XO3.<[@M/C=F] M/>$LK;,/.L+]P\,=PU ,:HD/"M[@:(F[D0SB3*X$)U_^U%'D@^*)_*>CR5=E MBM/N%'F]>"^7+. 7/5T0)!3G79#7CTP.YCWC6_796 40'(R__#9&!;UGG_87O<#[G(-3;EV/%$ MPKSGS7_2=K_K!@?#^J)6YP_KSA\:.W^:246R&;ECNNO)EVN>W'/1^3]JY!S[ M/XJ$N4@81<(\),P'P5HR&=4R&;W\+#]"*@@)E7H9S8QDR M_H#B!36.H3072J-0F@>E^2A:6TF-?6P;O<5#B]=\:])B[4F+EY-6IT5H3GZT MQ*#6,I1&H32OH@U-%=M'I6PKI[&-;;-O?"/XDD7AIFC)0AL?U8(+,ET)D2_& M+J7DROSCE3G)T0I!TEPHC4)I'I3FHVAM*36>LWWV \H9U("&TEPHC4)I'I3F MHVAM)34VM&WT*'?_F-6I&*CA#*6Y4!J%TKR*9GZ@PT?E;#^'UKC)CME-GC)- M)9>!,I8?,^18"4!I+I1&H30/2O-1M+94&C/9L5^^_#A04QE*J!N,HK65D_C)COF1XV?5JUP5>Z7T@=SD4E96H%+)8G*JMGH.YEE8K?( M.B4$M9NA-+>BG6T-NG7BM,><0E-Z4)J/HK45U+C(CME%?K[8(O\2C$%HSGRT M;* 6,I1&H30/2O-1M+:^&J_9&?^ %1K4:H;27"B-0FD>E.:C:&TE-5:S8WZ^ M>=_3[IW;**\JZ)Y]3N;41TL"ZAE#:1Z4YJ-HI23Z6[N"$R[FQ89O28)LE:IR M@W!]MMY4?EELI>XWEY<[TJ^9F$>I)#&?Z5#K9*RKK"@W>9<'*EL6>XSO,Z6R MI'B[X"SD(K] ?S[+,K4YR!/46^TG_P%02P,$% @ 48*15LD@5!'& P MV! !D !X;"]W;W)K&ULK9C;;MLX$(9?A= 6 M10MDH[.<9&T#CMWM T-+8)BJ17I**X[,_Q1K (E>LI2*D;660X;%-=L 57>6C&=8JE.^LL6& M TZ*H"RU/<>)[ P3:HV'Q;4Y'P]9+E-"8P1/([YLY5V=VI9*0#*@@C"(.RY$U<>]FKJ\#BA'_$-B*DV.DK2P8 M^ZE//B<9II"F6DD]Q_][4:O*J0-/CP_J?Q;FE9D%%C!E MZ;\DD>N1=6.A!)8X3^4CVWZ"O:%0Z\4L%<5OM"W'#M3@.!>29?M@]009H>5? M_+('<1+@!A<"O'V =QX070CP]P'^:S,$^X"@(%-:*3C,L,3C(6=;Q/5HI:8/ M"IA%M+)/J)[W)\G57:+BY/B1[7 J=^CO14I6N)B*W]$D28@^Q"GZ3,MW2]]X M-P.)2?I>C?C^-$/OWKQ';Q"AZ-N:Y0+31 QMJ1Y)"]OQ/OVT3.]=2.]ZZ(%1 MN1;H TT@J0O8RDMER#L8NO>,BE\PO4:^>X4\Q[UI>Z!7AWM^2_CL]>&>P8U? M38]?Z 47]#[FF&,J 1+T0"C)\@P=9FR.=^K[DVW0[XVB>BFY$QLEU]APW? M?N">^VX."OS(;?<=5;XCH^])'/-/VHXFF,\/VRG,:AH#(PT/C$*NZVJFF@BA-HES',>KU491&HY1E]) MK HTH,F* Q0D?CQ M@#^7QL.8Z*N./H4F_4D5@-\4P&^,0(^O$/?@&=H#IRP MI V>6<1UT XP;ZV/QLBNI'H2JY&ZK4C=&DU>J$\G"U0;N-O&TNB&SGEUF1HS M=X74DU@-DNL<]UM.G\7*K-;UL]RKU6L$SK9D;H]5S:S8&=(;K.V M-5[)65\YZY"\(R3/"*F]U+5N!LU*G>EXS5?(;]+Q&M]U>&G'XQXWPZYY-]Q? M[3SXIFM*SZU/=MA>M MY%&F[/D?,%\1*E *2R7I7 _4G/.RC2Y/)-L4C>6"2=6F%H=KP EP/4#=7S(F M#R&PO=V]R M:W-H965T6ND:$VB:W(D@)1=5O:I5 MHUS;>W9@ ];Y@]I.N/S[VH8@*EWNI2_@]>[,SI@U6:OTLZD1+;P(+LTRJJUM M[@@Q18V"FHEJ4+K,06E!K0MU14RCD98!)#A)XO@3$93)*,_"WE;GF3I:SB1N M-9BC$%2?U\A5NXRFT65CQZK:^@V29PVM\!'MKV:K740&EI()E(8I"1H/RV@U MO5NGOCX4_&;8FM$:O).]4L\^>"B74>P%(@;J7B>\1\X]D9/QI^>,AI8> M.%Y?V#\'[\[+GAJ\5_R)E;9>1HL(2CS0([<[U7[!WL_,\Q6*F_"$MJN=S2,H MCL8JT8.= L%D]Z8O_3F, ,GL"B#I 4G0W34**C?4TCS3J@7MJQV;7P2K >W$ M,>D_RJ/5+LLDVL M""5M;6"Z@)*>S1L6TL%"^I\6-LP4 MZB@M[*AU^2WJ J5]S437Z39T\C?OE,>3.%W,,W(:*R2CT?"W[#O5%9,&.!X< M,)[,W9CI;G*[P*HF3,M>63=[85F[RX[:%[C\02E["?P #K^/_"]02P,$% M @ 48*15G82=0Z* @ =P8 !D !X;"]W;W)K&ULK55=3]LP%/TK5QF:0-I(FC24L312*4-C8@)1V!ZF/;C);6/AV)GMM.S? MSW9"%&A /.PE\<<])^=<7]\D6R'O58&HX:%D7$V]0NOJQ/=55F!)U*&HD)N= ME9 ET68JU[ZJ))+<@4KFAT%PY)>$)JZLU&)_/8QKN 'Q2W MJC<&ZV0IQ+V=7.13+[""D&&F+0,QKPW.D3%+9&3\:3F][I,6V!\_LI\[[\;+ MDBB<"_:3YKJ8>L<>Y+@B-=,W8OL56S].8":84VU-< M:&EVJ<'I]!)-#A1\A(6IC[QF"%IHQG.XT@5*N.!-V=C\WR C M&G.X%7!5H32+? TMV_X9:D+9@:&]6YS!_MX![ 'E<%N(6A&>J\371KM5X&>M MSM-&9_B"SF^$'T(T^@!A$$8#\/G;X>%3N&\RUJ4M[-(6.K[H!;X=R[]F2Z6E M*8T_= M+0>Q@CN%,%,*]>!9-B1'CL3VD4TZ^31._$W?QF[,*.@%/9$W[N2-7Y77E.DL MRV1M2O/+@^EUYG"&%#8\<>_KX21^IG W)@HGPP+C3F#\JD!7+7!)R9(RJNFP MMG@G,W'\7-MNS'%P_$R;WVL+MB5_)W)-N0*&*X,*#B>&1#9MKIEH4;E.L13: M]!TW+,R? :4-,/LK(?3CQ#:?[E^3_@-02P,$% @ 48*15O%UQTUB @ MNP4 !D !X;"]W;W)K&ULK51=;],P%/TK5V9" MFP3-1S] (XVT=@.&F*@V!@^(!S>Y;:PY=K"=MOQ[;"?-NM%6// 2?]US?,^) M[TW64CWH M' IN1"CTEA3'4>!#HKL*2Z)RL4]F0A54F-7:IEH"N%-/>@D@=Q M&(Z"DC)!TL3OS52:R-IP)G"F0-=E2=7O"7*Y'I.(;#=NV;(P;B-(DXHN\0[- M?353=A5T+#DK46@F!2A28 M&<= [;#"*7+NB&P:OUI.TEWI@+OS+?M[K]UJF5.-4\F_L]P48_*60(X+6G-S M*]O##B Z!(A;0/P<,#@ MZ+> OA?:9.9E75)#TT3)-2@7;=G7:"CC9S;B_NX23D_.X 28@*^%K#45N4X"8]-P9$'67CEI MKHP/7!G%<".%*31@5Q&/?W)#3]=WA\ M))U^YVG?\PT.\'U @8IRL/; 16Y_&M-&4?=Z\(7W M;']B.U/32!YIFK9V0]62"0T<%Y8R[+T9$E!-JV@61E:^VN;2V-KUT\)V5U0N MP)XOI#3;A;N@Z]?I'U!+ P04 " !1@I%6*8*C_*," "H!P &0 'AL M+W=OM@_3/AAR(%:=.+,-M/]^MD-3MAC8%^)C^YSG?1-\G&T8?Q8E@$0O M%:W%V"FE;$:N*^8E5%AL96DI(8I1V)559B_7@%EF['C.V\3]V192CWAYEF#E_ \JF9<;9!G&]6U73 V/59"MQI-9?Y4%RM4I4GLQO05D2Z!S=8;GB1!(5L 6B>AI1 M@F>$MI.G-R QH6?H!)$:/99L)7!=B,R52H6NY-C)S\N9D%Q][%\V:6V)@;V$/@$CT> Y MC!WU%Q? U^#D'S_XL??Y@,"P$Q@>JIXKOP.;IC8K-EGZ$*WST LR=VU!#3K4 MX!@JLJ':K&@'Y:>I'15UJ.@8*K:AHCXJ&MA1<8>*CZ&&-E3<1PWVN!IVJ.$Q M5&)##7NH=,^G2CI2CS/CDL[7'H8QR2FR)P5-,6OJK]* MZQE.>^ DC>UHWWOO-=Y!^"T(,4*3JEE)*-"D5J9!2&L+\7K\\W@??Z?7^?]M M_O:]MUD%^+U3F83_OGMWI^_J.^P.\R6IA>J>"Y7E70R5?MY>"VT@66-:\8Q) MU=C-L%17*7"]0:TO&)-O@>[NW>6<_P%02P,$% @ 48*15F0;R.R% @ M 08 !D !X;"]W;W)K&ULK51=;],P%/TK5V%" MFP1+FG0=&FFDM0,!8M*T,GA /+C)36/-L8/MM./?<^VDH1OMQ ,OB3_N/;[G M7/ND&Z7O385HX:$6TDR#RMKF(@Q-7F'-S*EJ4-).J73-+$WU*C2-1E;XI%J$ M<11-PIIQ&62I7[O16:I:*[C$&PVFK6NF?\U0J,TT& 7;A5N^JJQ;"+.T82M< MH+UK;C3-P@&EX#5*PY4$C>4TN!Q=S,>.W%9,H-S);[QPE;3X$T !9:L M%?96;3Y@S^?,X>5*&/^%31\;!9"WQJJZ3Z8*:BZ[/WOH==A)&$T.),1]0OPT M87P@(>D3$D^TJ\S3NF*69:E6&] NFM#S3XC:6#@ M-2S:IA%(_;%,0,Y,!25U&+CL;HJ3_/@*+>/BA*+O%E=P?'0"1Q0 7RK5&B8+ MDX:62G+ 8=X?/^N.CP\ X3$92 4;PG-XF<1/S%Y"LGH M%<11G.PI:/[OZ?$SY22#OHG'2P[@S9V2#>,%D([ :M5*:TBT7+3$UZEG*X2: MNM!JKSZH$H1K"@C.EEQPRZD_WR^7QFJZ\S_V:=R5,-Y?@O.!"].P'*HU!]O+%:!*]W:?/?P)[I-9X4&O\'/H3M8KN9PYS75J%?>9 SDKG7=/1Q6!Q^[],_WR?J,_*VSHS\P MG3E>,[WBTA"ODB"CT_.S '1G.-W$JL:_V:6RY !^6)%'HW8!M%\J9;<3=\#@ M^MEO4$L#!!0 ( %&"D5:[]X1DH04 $,? 9 >&PO=V]R:W-H965T M M/73N00'9Y@J2*\EQZV#'^5:P)D>![FE Q M':REW)P/AR)17$\'_@!$9(FW MB;QANW>D".A,ZX4L$=E?L"MLG0$(MT*RM'!6/4ACFO_'WXM$[#G 48<#*AQ0 MT\'K<' +!_=0!Z]P\++,Y*%D>0BPQ+,+SG: :VNEIB^R9&;>*OR8ZG&_E5S] M&BL_.9N'X3;=)EB2"'R0:\+!@J5J!JWUT-X3<,V$ "=@L<9T102(*;C$":8A M 6P)#G)^&1")X^254OE\&X"7+UZ!%UKGTYIM!::1N!A*%8CNSC L.GV9=QIU M=!HB\)Y1N1;@#8U(5!<8J@R4:4"/:;A$5L4_,#T%+GP-D(-<0X<6A[LC@WMP MN#NT1..6@^IF>FZ'WJVJ#M$VR<9H@3>QQ$G\'];K[#5X\VT;RP?PY5KY@"M) M4O&/:0#R!CQS [H8G8L-#LETH(9;$'Y/!K-??X$CYS=3\OH4"WH2JR76*Q/K MV=1GEV054QK3U>,J,*4NEQAE$KKLWL]\Z$ U+>[W<]*V&GLCWZU;!08KZ([/ M2JM:%&=E%&?6*$Q+]8J&+"7@I5ZRKTQ1Y9)G>STY\29.(RB#$71'7B.HMM78 MF9A#&I4AC:PAJ3KPQ*B,6HWZGCL:-P(P6+7'+FA;U<>N%L*X#&%L#4%M8VJ3 MHF"QY9S0\ %\XIB*)%NV8![]J_8"M=]* ;Z\)^D=X<9E:VWBV&7;IUC0DU@M MM7Z96O]GUT._S\3V*1;T)%9+[*1,[.3Y]7!B* IC!S96GL$*[16Z/%:#T<3O MJ(;0J1#(>5X]!'=$$391G!LF6(AX&8?9[#&2B]/NXYG;K#,F*^BA42->@]D8 M.AWQ[B$?[+_^%YI/Q66P,L75-NN."U5QH6=N H5 ?98AUV]&83!K3]G J-:U M.<,*WJ 5869_JK>]SU2]Q*DBI<#Z=_7R-BSFH=H)%EBLP5OUN@;>D4@CN6T[ ML+=T;-GJ52WH2ZV>Y8KDH/>S]P1HA<6CL]NG6M"76CV[%6%".V(>M#% $U.V M*HJ)*?=PL0C7:.5W+,6**J$=*_O=&:QM'3U=^E0+8!MI3Y#; >6P0EIH9]IY MRK8:6:OTJ(*VY"P%\P^+:R 9>(.YGB;FCP#C5J?:TZ-M,VKBNL$&3CIH'59, M":UD-5MP-0%.2EJ_HI*H1$MP@R4!MSN\ 9\(3V/:/1]Z9U8)"K9;ZKHVM M@D5HI\4?XXXV\[4G0=NF/0E,&&J."%7DB.SD^#1QV 6.'61DP,9F-@*3$>QZ MP485-2([-3[UL:]>%VU48F_HZ)STJ1;TI59/9"?YU8R^?'R>\Q5918@(4LEZ9R.56)Y?F*;WTBVR&ULK55=3]LP%/TK5QG:0&+-5TLWUD:B MA6E,JX2HV!ZF/9CDMK%P[& [+?WWLYTTE"Y%D[:7Q/:]Y_B6( M&IX*QM78R[4NSWU?I3D61/5$B=Q$%D(61)NI7/JJE$@R!RJ8'P7!F5\0RKUD MY-9N9#(2E6:4XXT$514%D9L),K$>>Z&W7;BERUS;!3\9E62)<]1WY8TT,[]E MR6B!7%'!0>)B[%V$Y].!S7<)WRFNUX$5A Q3;1F(>:UP MBHQ9(B/CL>'TVBTM<'>\9?_LO!LO]T3A5+ ?--/YV/O@088+4C%]*]9?L/'C M!*:"*?>$=9T[_.A!6BDMB@9L%!24UV_RU-1A!Q">'0!$#2#:!_0/ .(&$#NC MM3)GZY)HDHRD6(.TV8;-#EQM'-JXH=Q^Q;F6)DH-3B?SG$C,!>.;,*Y0J]Y.V;\"SXU.7T/Y&]\-UO??=?8T^FHB@)WX"R/YB"I3FL'+0 M+$HF-HCJM EU5:&F'CAJVX=623@<#LSG6.W:^S,K&D;1<]8+W8-6]^!?=:\( MJ[!+=LT<1CN*@EZ\I[HSJ;\GVM\YT07*I6MT"E)1<5T?A7:U[:47KH7LK4], MCZU;XC--W:!G1"XI5\!P82B#WM (DW73JR=:E*YOW MMNI ;YN:>0&D33'PA MA-Y.[ ;MS9/\!E!+ P04 " !1@I%6';001%P( #@30 &0 'AL+W=O M/DIUDV(\?=8EI2BIC!6_A?FA\(1^2YU"'.J]HGMTG M\FNZ%B(C#U$8I^>]=99MWO?[Z6(M(IZ^2S8B5M_<)3+BF7HK5_UT(P5?%I6B ML$\'@U$_XD'2I-LHXO+Q4H3)_7G/Z3U]\"E8K;/\ M@_[L;,-7XEID-YLKJ=[U]Y1E$(DX#9*82'%WWKMPWC-ODE95SQ\_43_I1B\ M&LPM3\4\"3\'RVQ]WIOTR%+<\6V8?4KN?Q75@(8Y;Y&$:?$_N2_+CJ<]LMBF M61)5E54/HB N__*'RA '%:CWC0JTJD!K%9QO57"K"NZQ%;RJ@G=LA6%5H1AZ MOQQ[83B?9WQV)I-[(O/2BI:_**Q?U%;V"N)\HEQG4GT;J'K9['K-I7A[J4R] M)/,D4O,OY84'WY*+Y3+(7_*0?(C+*9E_\:W7J;=.I%U+R>"74A9Z1VT=R M6.Z*/Q8?7]QSN21??E=(\B$34?IWFWO+]KWV]O/@]C[=\(4X[ZGHE0JY$[W9 M3S\XH\'/;:Y!PGPDC(%@AA.]O1,]&WWVQS:Z%9(D=R3-W902%>;3C,?+(%ZU MN:2D#0M:OCSL9D-O[$RG9_W=H;%;BDTG \\UB_G-8B-*!Y-:,=92;#P=>-Z^ MF#'TX7[HPR.'GFSR>9N2E9JW63U0E.,>-KHPJ WYV1+^LR68M<,OG FCO3E& M5G-+@5AQ82#T(N@K3=1B5_=# ^=2.A_M4,U5)L MU"CE-TMYC4+,.J(7VFN\M]?8:J]/!;&,>/KRV:J51I+K+%E\)5=;N5BKL$>N M0AZW&6SB[VLW>@:N) P!H(9YI_LS3]YSOQJEB[4Y5I9.Y'D)@XRPA[R ME4BTV7O2F%,.'3M-B[>5&[7,T;9RDV%SFEI'\D([3?=VFEKMQ*)-F#P*T38G MR9>/(H^!K8NO%=MU\47"?"2,@6"&;YR!OB\>G/@>JNH R(]0F@^E,13-=.5! MBN.\_$);!NDBV2JG2;7 MKJIA$\.;P[>.<-:8+)WH;/YD32&HIGFI]K\U&I^ M=:LQ)NR?;9 ]JD1RH2Z08'=$E+-3.U\>2)H/I3$4S?2/3A:=4V>+#C1=A-)\ M*(VA:*8K=3(VD,13--KE-5QYZKTH$S>4ET M R64E7^0-!]*8RB:Z1^=.SNC4TL6?V MG9>72UO@=#T)^&XI.2WS%/K2^ZTV'#?-#M0 H MC:%HIOFU%D"M">KL2@:)?=9;LQH[O7.T@B;Z4!I#T4P_Z42?>J=>>)!)^AQ* M\Z$TAJ*9KM0" K4+"*"%I_D(VU%WVO7(URPU&4QI[>&9O<.=S?L]\G^J\W]J M?WA>VN_/ZBFY-7A!\W@HS8?2&(IFND3G\71\ZN"%S+KG4)H/I3$4S72E5@2H M71&XB:58)*NX4&,6A[X4Y<-^(D7(\ZT 6?*T5:758 MT"(!M8L$1VP0LN\/JOB'YF^3QNS=Z.P"J!* HID;+K42X%K3T^:FEWS'2TI> M?;J^25];EQT[N/->2FB&#Z4Q%,UTD<[P7>?$RXZ+S,3G4)H/I3$4S72E5@E< MNTKP_+*CEIO;?/%Y*O6&?"Y^,Z#*\YV0?"7(1JADMS4]79(]CMYM]#5'"UJ.#:=P\G7NF@VQ>@-!]*8RB:Z4HM7[AV^4(_[.=30X5+5 T\P>&6K3P MGA$M&L'N);=U]D:Z7B%0F@^E,13-=)<6,+Q3"Q@>5," TGPHC:%HIBNU@.'9 M)81.MW5>VL)P;-+" U9K[H>;&$-NA4"2O.A-(:BF;[1[\\;$QCRK///G*Y"N*4A.). M(0?OQBHZR_(XL?)-EFR*\[)NDRQ+HN+E6O"ED'D!]?U=DF1/;_(&]H>ZS?X' M4$L#!!0 ( %&"D58GI(5:\@( D) 9 >&PO=V]R:W-H965TFT3:J&2KL]3'LPR85$ M3>S,-M#^^]E.2"&8J ][2?QQS_$YUXYOAEO*GGD*(-!+D1,^LE(AREO;YG$* M!>97M 0B9Y:4%5C(+EO9O&2 $PTJ#?#:@-X)@%\#_/<">C6@IS-36=%YB+# MX9#1+6(J6K*IADZF1DO[&5';/A=,SF82)\)YBAE<3F3F$C2EA3Q-'.L-N40G MI^Y>5!O0>00"9_F%C'V:1^C\[ *=H8R@QY2N.28)']I"2E0+V7$M9U+)\4[( M<3UT3XE(.;HC"22'!+;TUACT=@8G7B?C=TRND.]^0I[C^09!T_?#/0,\>C_< M[7#C-]OE:SZ_<[L6QWOR>[S@@LFOZ(\IZ15ISTRJ;I9;7N(81I:\.CBP#5CA MQP]NX'PV)>Q_DD7_B>P@F;TFF;TN]G N:/R,?I0J@<:S6L$##5?WYR8<#.W- M?BZ.(SS7.8R)CF/Z[AO/@?)^H[S?J?P!Y&9GL9"GH#(QWF*6<"0_.G0T]T0R M8;17K='?$^9Z [?ET!04!"V+IJ#KOMECT'@,.CW>%65.7P%J%[,UBU-Y[M$L MQ\3D)C!H:'DQA+0V-.H,.? Q:'P,.GT\4H%SD^#!T;EPO9O6X9D:@GHW?DNT M(>C:O6G)MO>*1 %LI8LM1S%=$U%=I\UH4\_'NHRUQB>RSE=E^8VF^DFXQVR5 M$8YR6$I*YVH@\\BJPEMU!"UU*5I0(0N;;J;R7P68"I#S2TK%KJ,6:/Y^PG]0 M2P,$% @ 48*15OWP&#P(! <1 !D !X;"]W;W)K&ULK9AMCZ,V$,>_BD6KJI5N ?,8MDFD)-RU=])=5[MJ[T75%PXX M"5K J>TDVV]?VQ!"P+ Y[;W9@/G/>'YC,WAV>B+TF>TPYN"ER$LV,W:<[^\M MBR4[7"!FDCTNQ9,-H07BXI9N+;:G&*7*J,@MQ[8#JT!9:L^72/MO@)\S_W#U3<68V7-"MPR3)2 M HHW,V,![V/H2P.E^"O#)]:Z!A)E3> M1!S_UDZ-9DYIV+X^>_^@X 7,&C&\(OG7+.6[F3$Q0(HWZ)#S1W+Z'== *L"$ MY$S]!:=::QL@.3!.BMI81%!D9?6+7NI$M Q@,&#@U 9.U\ ;,'!K _=6 Z\V M\%1F*A25AQAQ-)]2<@)4JH4W>:&2J:P%?E;*=7_B5#S-A!V?/^T0Q7=+D;D4 MK$@AMA-#:D'NP&*[I7B+N'CRL:QVF'SP*,9HFI5;\,1)\@S^V,MA!GZCJ)3: MGV/,49;_(CS\""S Y 1L:G$1K)S22NK EE5@SD!@T &?2.[ $ M98/JG%&7SJC'3Z@T@0O? <=V7$U J]O-'8UY?+LY'*%QFX5SE3]W=.'6_87[ M>[%FG(KWZ1]=TBNGGMZI+#+W;(\2/#-$%6&8'K$Q_^D'&-B_ZA+V/9W%W\G9 M53*])IG>F/?Y$F^SLI1[>HUR5";X'?AR*-:8 K(Y;W!=-BNOOO(J*^QQ[D<3 MVQ.[Z]C.4U\6.(X]ZFW%X.H7PR\$$91!TDCT]2,N"_KU(PK,&A?OO?V MMY:ZK^IPA-.[Q1%3<=@#Y_<-/- L$7\%NOK<:+_BU71A*U#HF4'8H1Z0=:GU M,B\8H&Z=P?1'I[6.,I--VAI;V<5>#X8:5;>-^&Z_>+B6_" MH(NKD?4K6#P@ZQ9DJ]6+%9AN54_+0$(.):]ZE6:TZ9L7JEOLC"]E/ZUZO(N; MJAG_C*BHX0SD>"-;PCAYQLY M0?-?AOG_4$L#!!0 ( %&"D58:0\'?=08 ,$Z 9 >&PO=V]R:W-H M965TX2T&[=I6NN MN:XO>GLA0("O_L%L$9K_?I+M6 @<87(S4H'[P\F#G+^#0)/P5+ ML;GN##MHR5=L%XH/R?X/7AY03_$629CE?]&^;.MVT&*7B20J.\L11$%<_&=? MRT(<=,#]%SK@L@,^ZN#Y+W0@90?2M(-?=O";=NB5'?)#=XICSPLW8X)-QFFR M1ZEJ+6GJ05[]O+>L5Q"K-\J#2.6K@>PG)@\;EO+7M[+42S1-(OG^RUB>X&OT M4+QW4+)"[[=J6X;>[T0F6+P,XC7Z9<8%"\)?9 M'==TGS7O[M5TI\V[NY9BD"I?DO.(-=_Y:;XW:\LTW M>Y8NT><[B41O!8^R?^KB+?;OU^]?G>?>9%NVX-<=>2++>/K(.Y.??_+Z[F]U MT4#"9I P"@0S0O2K$'T;??+7+IKS5$W$8I:A1,_#*R02P<*Z9 IH+X>J!>-Q MTO,'WF@T=AX/:U[3;#1T?6(VFYTVZV/L#H^:T9IF@Y'K^U4SHP*]J@(]:P7> M'Q[PI_SL+]^H-X\\E:L9HE]YN@@RCN[38,'K2E'0!P>C\GI=KW]4">L8VK[[ M(&$4"&;4OE_5OF^M?5E=-@_Y-]6^WZCVUC&TK3TDC +!C-H/JMH/FK[OT0>N M+OS4HZE<,%-YB;5C(;H+5K55MW,)>N(LS= 01<7B*Y?A)7NJ6[^G5E+;9"!A M% AF)#.LDAFV.R?SPVGRXCEYV.R<;-UWVYI#PB@0S*CYJ*KYJ.F9J.5LL'/; MS 8KJ6TRD# *!#.2\5SM$:ZUAJ]Z7==5+N"YZL'G=US-C]HK1CNI[24C*&T& M2J-0-#.3 [?S?O#%?SD J"@A:3-0&H6BF5%B'25N?B&@LE,K3W7MM5777MD5 MNDOVISYZ4F[K+EN7&Y)&H6AFN;5U M>Y?5[A+?MU4?5+I!:12*9E9?>[=W6?$N\=;J@VHW*(U"T@M)FH#0*13._$]-^CNU^#B(0Y3Z,SW+5M#TZS=F'TC8&4!J%HIDQ M:"7'5D^$D8AR'X9$'(N8:BF377\HP;R_,W7./,0[K]X7$"H.H,2J-0-#,!K<[8KL[_ MUR9*_-D$0&T:E$:A:&8"VJ9Q8YMN^?7%&3 NO[_PW.^58H[/?K-G1[6U.5#:#)1&H6AF*%K,\8\6BF?EH+R? 7DY.O;Q^70#U3B[EY6? K>8$ MJ):#TB@4K+XFZ^:FMU?^9-?E>BHYL7-W>^8^DZ MB#,4\I7LZG8')$$F4/]QPMN2I:B!?7R6)>'ZB=E#= MM3KY#U!+ P04 " !1@I%6!4?=L38$ 3$ &0 'AL+W=O\?W8*VA6.L.^:;OC MPS[;R#PKX8XCL2D*RE_&D+/=P,'.:\-]MEQ)W> -^VNZA >0C^L[KMZ\QLL\ M*Z 4&2L1A\7 &>&K"0ZT@5$\9; 3>\](HTP9>]8O-_.!X^L900XSJ5U0]6<+ MUY#GVI.:Q]^U4Z<94QON/[]Z_VS@%@.2SH)I?W;/<[ MU$"1]C=CN3"_T:[6^@Z:;81D16VL9E!D9?67?J\#L6> XR,&I#8@;8/PB$%0 M&P3G&H2U06@B4Z&8.$RHI,,^9SO$M5IYTP\FF,9:X6>E7O<'R55OINSD\&%% M.5R.5>3FZ)H5:CL):A;D$HV62PY+*E7/35GM,-UQK]KX/"N7Z/[A42!:SM7# M2*#?."VU]N<)2)KEOR@/]R DSV:Z]4&RV3,:[90INE-+"YPWK8]E)M%(^VGK M3<_76RBFP+\IAS\B#PD]8]'WI*+7#-ZL)AU7I.0(*2;HEI5R)="G<@[S0P>> M"EL3._(:NS$YZ?$/6KHHP!>(^"2P3.CZ?'-B,9^<;XY/T 3-3@B,O^#D3IAV M=\*(JY5=@DIVB:8O:%]W1U],<[6N7_]4+M&-A$)\LZU/-7YH'U\7N"NQIC,8 M.*J"">!;<(8__8!C_U=;;#_2V>2#G!W$/6SB'I[R/AS#,BM+G4]3FM-R!A?H MKXT44B6623);3M1I9TTO:VI44XC,%/2G8#LDQ$][?M_;[@>U*\-I$N+@4#:Q MR((P#L)&=A"(J E$=#(0=0&Y^"#DJ#M)19+@%K)%%N'0CUO(71D)(QQ@.W+< M(,':9K8D9,&.3F)K+[6"\@^ MD#KI3I-@O[VS+:JT+9I81!@G0139D7L-GS.H,@=1!!M!GFG'T1/,-V("K MH9*#"N225IVZ[JI2-XW]O9]6-9A8_,9NDMK)L?]VR/+/*VW_G;@> 0?[XE?9?B@[KE1&]2F2]SX2#W#>\=)?%9%>P4,EYU:R=] 2*RWIT-ITH4O:WRF;KN?VCN0N?CLP=QT,TQ MXO9(&]@BZZ;XQ"([GN,5N[=W6RJ +\VM4Z 9VY2R.OPWK&PO M=V]R:W-H965TV*#G@U("*W/8<)[0+3*@5C!/P@L!);8Z2=S!A[T9/;=&PY6A#DD$C-@-5C"5/( M=@"N.$!@-< O"X@. #P&X#_5D#0 M *3F=J*R4.,)8Y&G*T0U]&*30],,@U:V2=47_NCY&J7*)R,;FG""D!/> T" MG:,I*TI&@4J!V!PUFS-0KQ>@G=#3&"0F^9G"/#_&Z/3D#)T@0M%3QBJ!:2I& MME3R]"%VTDB9U%*\ U)<#]TQ*C.!OM 4TET"6_EJS7D;D^R^)W(=C(9M)D,CK%'LFJ MV*E21ON4U\#!MO+0'W:4]P1=75YVE.\'^?[0ZQ<>ML+#H\(/UY(^+^%>[OS M=3I>]H.&CA]TO.P'>>[PJN/%WBJ@!?"%:40"):RBLBXW[6K;ZVY,B>^L3U0/ MK%O6*TW=0.\P7Q J4 YS1>E<#%5Z>=V4ZHEDI2G3,R95T3?#3/5QX#I [<\9 MDYN)/J#]9Q#] U!+ P04 " !1@I%61DO;>8X# "M#0 &0 'AL+W=O MXAMF!LE]\@[$ +TU- M^-S9"+&]4SNA-U1? # WS7-(C]OL%? 0!$TXD>%#_SL&:A0GBG]I1I?RKGC*4>XQDNA))#\ MV^,%KFNE)'W\UXDZ_9B*>/Y\5/^L@Y?!/"..%[3^695B,W=2!Y1XA7:U^$8/ M_^ NH$CI+6G-]2\X=%C/ \(ODD(+Q"" MCA"\EA!VA%!GI@U%YZ% N4S1@^ *;144P\ZF9HMPZ^(FO='P>3;2O)$_H4L M:8/!$WK!'-R !6VVE& B.* K\,#HOM(S+!<8&$#?%UB@JOX@.=\?"_#^W0?P M#E0$/&WHCB-2\IDKI#TUB+OLK-RW5OP+5J /OE(B-AQ\(B4NAP*NC*L/SC\& M=^]/*OZ+R"T(X%_ ]_S 8FCQ>KIOH1>OI\.):()^J@*M%US06^P8DS-S9\ML MRPSM3%4[[O@6+?'C98FGF%ZC(D\:+@> M8T+?L[M.>M?)I.MN2YV5-O#I17Y2N37[R3AM7AH9D8Q!018:D8PQ,(.Q/92T M#R6=K X%7F$93&DM#^DUR\,UQ8HKB0U2EO4IR]Y:'K+1#-U +S*WVA@%4V-E M%Q:E#%Y8MM [?;6]MU6(CC<8+X#F(K6@8)(8SFU2,,TN6#\[<,"W5HJ..=@\ M9E&V8&Y@:%8X"RI)+SCW3\[]2>?'+68I%^")"OM*ZC2'?H,@-L,:PWQH5D"K MECY<6 ,['2S@Y%9UL>@-(L,X^[9.;;!;*WO QPL MZ8Z(]M37]_9WCH_ZI&WTWZN[B#X?GV3:B\Q7Q-85X:#&*RGIW28RF:R]&[0- M0;?ZM/Q,A3Q[Z\>-O$]AI@#R_8I2<6RH ?H;6OX_4$L#!!0 ( %&"D5:N M=&6I&P4 !,3 9 >&PO=V]R:W-H965T=:0("C.W6\8QMVKO>-'<>)VT?;NY!AK7A"I(KR?GQWY\$!#M( MX#ST)0'\[;+?HMUOI>D]XS]$"B#10Y%3<35(I=R_=QP1IU 0</#T8)WM4JD?.+/IGNS@!N37_8JK.Z?QDF0%4)$QBCALKP9S_#["$VU0(KYE M<"].KI&FLF'LA[[YG%P-7!T1Y!!+[8*H?W>PA#S7GE0VR#H,/!K _^E!D%M$)29J:B4>8B()+,I M9_>(:[3RIB_*9);6BGY&]7>_D5S]FBD[.?M,8U8 NB4/(- %6D/,:)SE&2F_ M"MNBK )(\H#VG-UE^H,[;S9 89O)M^A[)E-TFP*:%^Q )5JR8G^0D*#%(YKO M]_EC1G?E[S>2R(-D_!%]@@0XR='QU6A-I+I@);!^O "UJ.$4M+*\_DT$DF3Y M6Q7ZUYL(O7GU%KU2(2M'[" (3<34D2I+FJL3UQE95!GQ.C*"/73-J$P%^D@3 M2)X[<%1ZFQQ[3SE>>+T>_R3T$OGX'?)BZL.6S\AN6?G5GOYN-<#AU M[D[39&)P,!H]!T4F*!B.&\PS5L.&U;"7U3(E= >Z"+^1_%#UD7FN](70V$JF MS&#;MQ+[L(J)I8?IQ4S?R09-+&8FR\W6V1 M.(N(3(0?="RS2<-@TLO@&D@ND%(KI3@2N!(TJB8K*X/)608F8M)B8")P!P'L M'J<(MW^)$4H24DX#*\XVY60B M5<5DFQS0%^5",TGJ2<1*")\G=!8262 XZ"#D'0EY+^I@$7 U7B>GS'KX>)8J M'1N4+*AAN]ZMKH8=%8^/(PCNU>79^C4I]A\BM.2@2MV^RGS+FT.#A W5IAI9 M4<..KHR/\H_[]?\F)6IR6JA=2U+.S6HW5=36 MH^CC?M5?@SQPJO7D.,K,D__4!J:KE6&+8'L&(Q/DA^,V(YNG#D)'ZPBP8KQVSQ8W?$?11Y7&_S-\R:9\<:[MGXWPP:4=M@D+7J&T3-#YI %7@ MSLEI00%\5YZZ"!3K_7NUJ6V>-B<[\_(\H_5\H4]\RE.(HYOJN.B:J+5%!&PO=V]R:W-H965T!6[[9:C,PG$UW=,.63-_O;A3<#2LK$4^82+D4 M2+'UY> *7RQ<8A1RB2^<[=.C:V1<64GYS=Q\B"X'CD'$8A9J8X+"WP.[9G%L M+ &.?TNC@VI.HWA\_63]]]QY<&9%4W8MXZ\\TMO+03! $5O3+-:WE0Z- MC;U0QFG^B_:EK#- 899JF93*@"#AHOBGC^5"'"E@MT.!E JDJ3#J4'!+!?>Y M"J-2892O3.%*O@X+JNELJN0>*2,-ULQ%OIBY-KC/A=GWI5;PE(.>GGT0H4P8 MNJ./+$5GYA^]6Z]A4U(DU^B.)3NIX'U "PZCBHD0Q/26:K2A#PS=\I0A+=&2 M;P1?\Y *C6ZD,CN:ZR\8*"D6Y7:OTI2!62HB](G3%8^YYF#MU8)IRN/7,/O] MO7B-7B NT-U69BD(I].A!D<-W&%8.G5=.$4ZG/I(Q3ER\1M$'.):U!?/ M5R>GZD-8WFJ-2;7&)+?G=MBSK,*%S:G"RLANQ22 BW1'0W8Y@ A/F7I@@]G+ MW[#GO+6Y^(N,G3CL5@Z[?=;AI7I@0DMUL'E9J'JYJLE*#S/B8VTF3W=H&NX<7AVAH$X];D.!CC!D*+T(1T(/0JA%X_PBU5 M[&P.Z39"US(!#DJIB7D;2*\UOT>:N]V6&4]<.T2_@NCW0IS3"++/2ML@^99U M:T)JRQ#< 2FH( 6]D+Y2I2!!'M!M$7 V:$%[VG'SG6O+X$E@AS:IH$UZH1UO M(KH*0Y71V 9OTH8W:L)KR[@FB]K@8:=F*:<7X)]0 7W>,04(Q09]DJF=%9SV MTKCC!CZ;T+@+X!&-XEZ 5\M[%(P(NHK^ =*&PDBCE[\%!..WZ!.#0.G/-:7Q MDPAPF[C;,EU!@FMFPKT\,+L7BH42R/L[A'*1> Q)S9E@ZXZL4UH\P=I\!RPR MWJ@#:TTJN)]5H,Z#*D[D (NL:(7G6K9WU,37+W0*L.87W$\P%<\O(;QYR" W M"JV@LH6(!T+,K!&/VQ0R:28CBXR'.]#6+(-_0#-EY8W]$;JF.ZYIS+]WI?'Y M#XS]A?^V.F=A'^RW(K(MY71X5S,4[J>HSWK+E!52FVQ(T"1-FQ#I>C]J2L+] MG&2I ]^@.ZGMN19;:,J!C-*$VA8+@BZJPC57X>#Y->M1N6XM7'$O\?ULY?JK MK)UZ7E,A[N="H+\LR6)(A87S"P;3A+S@1NA+WCU"#Y1W-W/H9D\>6]>FS8?8 MAJ=CP5N*2U"+NZHW$A-BZ2?%KLBM2>U$ O] M3;QF9K%)>6[7&M8L2?I9P-M$%@==:Q[:4CX..E$=J0B3]'/:%QEE9 M <>QW%,16@F;M-GJC.!63V,3P[[?M=TUL9%^8C.5L(5(K$@MO9<_:@&U=%\C MIROWU&1'_.<1B,Z/EJ!A-,>$YK@/QB"-0B2A4(I4QCS*<^V*QF;)47'<25.T MEF8;.HY*>IGVI\]*?I&UTZ6JN9;T-X;/WBT$PY!" 5/ MDD"G9?K"B$59,>5:*F3B@*IPFUN*8+Y8[G(:9X\[)J WRT#B*A$]=">PA6,MB7:Z)P25"E1<*66P6XJ(P#/UU+JIQLS0?6Q:/8?4$L#!!0 ( %&"D588>?IX@ ( #H% M 9 >&PO=V]R:W-H965TRR$BOA>J9&S7\*8RM!O+7KV-4611Y E8J3?O\B MKH3443H.9PN;CLV&E-2XL. V527L[QDJLYM$@VA_<"_7)?F#.!W78HU+I,=Z M87D7=RRYK% [:318+";1=' Y&WG_X/!-XLX=V. C61GSY#>W^23J>T&H,"// M('C9XA4JY8E8QJ^6,^JN],!#>\_^.<3.L:R$PRNCOLNU'D&T#@!)\@H@:0%)T-U<%%3. M!8ET;,T.K/=F-F^$4 .:Q4GMB[(DRW\EXRB]U9FI$![$,SIX[U>X+@I.F0-3 MP -6M;%<+)A+/K6H,W:C4A"LQ1;A7CH$,K"4:RT+F0E-L##6YSO@Y\@@BWG@ MG3J'3"MT#E^E6$DE23+;Z4(P+Y5(C%=G<#I'$I*-$Y :[J12GFT<$T?K-<=9 M&]FLB2QY);)! G>&>1U85>#8> =_K<&G&:7*>,V%N''=.7(\JO]^5+L#>/H94;?R9>N%AE. M(FY5AW:+4?KVS>"B_^F(WE&G=W2,W>OE_N?*Y]@:7*A\7VKB,$0H]4NZ&^9! MDV(_,;;IH)>,X^VAGOC@/5=HUZ%K'61FHZEYVMUI-QBF33_\=6^FRIVP:\F/ M46'!T'[OPWD$MNG49D.F#MVQ,L2]%LR2AQM:[\#_"V-HO_$7=.,R_0-02P,$ M% @ 48*15C];6:]= P +PH !D !X;"]W;W)K&ULK59=;]LV%/TKA%8,+9!&UH=E-[,%Q%:'I4"!(&FVAV$/M'1M$:5( MC:3B=+]^EY*L.I+L^J$O%DF=D ME3:R:,D80<%$\Z0O;1Z."%YT@N"W!+]/"$\0@I807$H(6T)89Z:Q4NA()4[@3[#S*+)"L0L&5&7Y&/+RFO,B9VY$X84* -H2(C]R H-PPE MWR9@*./O4/OI,2%OW[PC;ZS\EUQ6&J%ZX1JT88-QTS;D51.R?R)DSR>?I3"Y M)A]%!MEK 1?]=TGP#TE8^6<5/U%Q30+OBO@3/Q@):'TYW1^A)Y?3O3-N@NZ3 M!K5>\,-/2A*F4RYUI8#\?;O11F&9_3.6\48Q'%>T1\^-+FD*2P?/%@WJ&9SX MUU^\:/+;6+9^IECRD\1>93+L,AF>4X\/-7"U@1T3PFYS+ >3 _D&5(WEL=&+ M:CU[XC['P01WU/-Q>D8P\_ U)AG!1'Z'>65FVIF9GC6#VP+[@L::Q/(K%9.* ME("/C!C<*:74S![$H_78"$^/HO%[ :^'D*CG.QE"IA_&+46=I>AR2VFE% AS ML:EH$(X71#U70TPTZ[D:0J;CIF:=J=E94P^0575/U-A6.35XYAI)."UU?1AK M0TUET#*..2L83D\YG U">Q]^Z#DU_,X)G1B-\X[E_-+2NN* +:+'Q35 M?% ,H=???T/,H/"2$?DNTURE/E.%IXDF'+8H.;F>86)52(/MOQ[F>*,#90'X M?BNE.4SL'W1WQ/A_4$L#!!0 ( %&"D5:XTTS=!P8 +&PO M=V]R:W-H965T3B M2[YC3*+'-,GRR\%.ROWY<)B'.Y;2_(SO609/-ERD5,*EV [SO6 T*IS29$@\ M;SI,:9P-EA?%O5NQO. 'F<09NQ4H/Z0I%5^O6,*/EP,\>+IQ%V]W4MT8+B_V M=,L^,/EQ?RO@:EBC1''*LCSF&1)L\]1FIKMQS_D5= M7$>7 T^UB"4LE J"PK\'MF9)HI"@'7]7H(,ZIG)L?WY"?U=T'CIS3W.VYLGG M.)*[R\%\@"*VH8=$WO'C>U9UJ&A@R).\^(N.E:TW0.$AESRMG*$%:9R5_^EC M143+ <]?<""5 WGN,'[!850YC/HZC"N'<5^'2>50='U8]KT@SJ>2+B\$/R*A MK %-?2C8+[R!KSA3 ^6#%/ T!C^YO,Y"GC+T!WUD.?H)K:(H5@FD";K.RF&H MTOG&9Y+&R5NP^/C!1V^^?WLQE!!=80S#*M)5&8F\$ D3=,,SN2I[5?$BO@+S<[0"/^(B$=&A@:M^[L3@[O?WQT;W(/^[IZ%C%&=R%&! M-WX!+]AL6#'ID*2/2%#)$.0/Q65^-X*G* 3ZX^P09UL$A484J37EL0PT+P*I M0O.P],X40P]M;DNCA6;DS2<+[4?W\4T^8XQUJ\#:3U4XS_,]#=GE "ICSL0# M&RQ_^ Y/O9\M+(YK%L=6%C_1Y% .>9I #:59R$P,E2#35D<(AM+L><](ZMKA MV6S>L?.MC>K?Y9(_1V :?Y.:OXF5OSL6\FT6_\,B].:>96P3R[>(/<*REC-8 M5Q(8EA&2'(:E9!!=(II%")[21,8L-U%=QINT*!POND1WK0C&79ZMC3^59T=@ M&L_3FN>IE>=5&(H#4+GGDL&DAG+=G]%IAZO9K,NH-?Z)5/DNP0)'8!KOLYKW MF95WGVV8$$ \+)AHE>=,YNCWLI9"54UXGJ.0"O$52N^1BLC(_ZS#/QY-N@DP MF$U(=TA;VWLJM8[ -&KG-;7S?M2J]8N6U*J/(=R+I4XK4N&I"'MXE>$&ZB?"MS3Z584=@&L.+FN&%.X:A:,?E%@&JB8AY9*+:'D]MRY#< M"7[8[F";,_),>S0KQ*EUQB58X A,2Q7VFGVY]TJR6 JI$FQ/I8B+=1-&? 9E MQEA4*K3VJ)^KL=P9]?:PIQ+N%"UPA:93WI)"N._F14V+:O^BID*8'")5X/LO MLE4H;=^"QX9T=.U&,%,Z1:BR:^=W-._B!2:[J;9LZ.20AAQB)0=D.8CNK%4P MC-TFAE7+U.U^=KZ]42>/+T=H.H6-0L-VB?8Q$R^,, J_:DT[)!+Q#=1,UJZ_ MU9U<4GD 60>729S&LGAH'GRC7IOFRDR7,89=L\%NW-V)!/;>_U=V&^6&[=*M M]>KB::RJ3=JZ7-S^O&'I/1-_&>ER*;_63M%\IVB!*S0]18TXQ'9UV+.&&,2< M<25SJ>9\IVB!*S2=Z$8=8KL\; 9^CM9J6Z>F1+FOLTX$ESIM[13-=XH6N$+3 M\].H2-Q31GZKUL$&E;@P3A:7.M%WBA:X0M.3T>A.;!>>Z_?7OZV,Y+I4?FNG M:+Y3M, 5FIZ!1I?BGL+T&]ZJ5"$TV6^<"$X%IU.TP!6:_FU*(SG):Y*S6Y6X M)0W]WA&\$I1X9-QZ24#FQB]RG(I6IVB!*S0]:8UH)7;1Z@>_KCZO[@(C]5;7 M4PN84S3?*5K@"DU/0B..B5TGP:G =H6FIZ$1V,0NL-^Q M"#A/BBS8]KEVF)/GA4LTWRE:X I-3TBCR8E=D[M\HU:%TF2AX7LK>XM.SH93 M^>T*3<]&([^)77[_;^^?JG9H+Y:Z+XS6]N:>G"JG MX56IFJ8>N 3LK$MC@9 M!6L"/V2R/.]2WZU/7ZV*,T?/[E_A<[\\0]7 E$>Z;JC8QEF.$K8!2.]L!AT0 MY2FI\D+R?7$,Z)Y+R=/BXXY1*)C* )YO.)=/%RI ?59M^2]02P,$% @ M48*15OA"N\R@ P *1 !D !X;"]W;W)K&UL MM5AM;]LV$/XK!ZTK6J"+)/HE3FH+2**M2[%T0=)N'XI]8*2S1%0B-9**.V _ MOJ0D*Y;MJ$ZK?HE)ZN[1/0]Y)U[F*R$_J111P^<\XVKAI%H7IZZKHA1SJHY$ M@=P\60J94VVF,G%5(9'&E5.>N<3SIFY.&7>">;5V+8.Y*'7&.%Y+4&6>4_G? M.69BM7!\9[UPPY)4VP4WF!\/G1V\WZ!LSAF=KCUX$6(FK+L)3P#QN%] M*DIE@-3UV&21\+T"5P)KE,%O_(8XRZ :SBWQ,F:^#GI17Q+ M^1&,_%= /#*"#[CVTKU*DJ:(0+QY0@A?(>G>#Y3_[4>[U/SR'! MPH' .IJ.6TW'?>C!NS*_0VE32+:JJEIG!?_WG('S&G=2X=H"?1^0N7N_*5+O MFY\JTD!@'9$FK4B37I$NJE)F9*)1)$JN,09S[B QWRIM5G5*.?C>SU9%;KYV MBF;X%?$F.^+YWI9Z7S<)>TTZ3*2??^B<[&3^>>-N5XQ"CL#>8 M;Z3J>P\7-Z^7[+44<1EIN(S-,6)+I34PSY="Z/7$OJ#][T#P!5!+ P04 " !1@I%6G]FU M@8\% #,'0 &0 'AL+W=O2[)RR-Q\LRR;_F:4@Y>DCC-+T9KSC?GXW$^7].$Y&=L0U/Q9,FR MA'!QF:W&^2:C9%$$)?$80^B.$Q*EH^FDN'>;32=LR^,HI;<9R+=)0K)_+FG, MGB]&:+2[<1>MUES>&$\G&[*B]Y1_V=QFXFI7%Z!,Z#[$G M PK$GQ%]SO=^ RGED;%O\N)Z<3&"LDP*L*L Z-,"N NPB,Z64 M(@\AX60ZR=@SR"1:L,D?13*+:"$_2N6XW_-,/(U$')]^)GR;4<"6X(\-S8@< MB_P$W-.5&%L.[NB&93Q*5X"D"_ +9:N,;-;1G,3@.BTGG1R\4_!9S-![$M.\ M .["*TH1?INQ9<3!43,1>Z9>_'\TKC9:D1]VA$&-RPE*]S<)4NZ*)-,!8)J[.&=UF[ MQ$;&WTAZ!BQT C#$EJ9#L\/#L28\/#P<&=18]1RP"CZKAT\=[?W!_?J[@(-K M3I/\;UWN2VY;SRW+UGF^(7-Z,1)U*:?9$QU-/_R$7/A1E[N< MVB;VZ1U]HNF6ZA)6!KI%H"S+3U-D8P=[D_'3?BHT,.39/FS#0AW,A995PUK= M=^KN.\;NSU@FY@+A%%R]B"TFI]IE5W(XK;9MR^D(45&!XU@=&1J0C:%>A%N+ M<(TBFO)SGU.YV8J2 R8VU&@@K#=-PQ>K< S*^!KFE6]!T?5 M4!R?R'*K$^,I<^$4[T^%4HV*PI[G=]3HJ!Q;K\:OU?A&-;W;PGNY_]1;B$Y9 M21SL=0>>(=3I].P@5*A%0:S7%M3: J.V:HP>J2B<=#=B#^1%+R=0LFO9J+.R M9RK(@Y;=$:.",/("O18$&U, #U$C^B^'Z"F2+D^[[T)ETGMVT-&A ;FP4R1" M#<@/G!X=>^8&&77(.=6_]JO@UI)U7=3MOHIR;1QT^Z^B$/9[%@S"C0!\8 FK M%D\.OM[0Y)%FVKW8S/;:S7A0MG HMG8F&X^#WM+DH$%=SJ!LX5!L[<0V1@>9 MGO9:U'@>9#8]AL4&_I6%<+&=BWJR M$$^BI7@)*F>.:3D:VWOUK!F2+1R*K9WKQIHA]RV7H]'XO3JQ0[*%0[&U$]LX M1F2VC(87CRJRM6Z@!7UEPU9Q 0R0LF7K8-CU>Y9AXQ*1V28>5%!\U1SYJA 5 MA:"-4%>(!H9]O\]]-)80F3WA#_C=BKEM4J'7?4?4PI Z4EJ8W5,P<6,3L=DF MF@OFPP>2;#[>&"NDN8'7+N1!V<*AV-K);;PK1F]8(;'1&+\ZL4.RA4.QM1/; M>&IL]M2&"EE%ME[, MOJ^A0-#+N.VUUV.ICCN3UU!3=6%AL=W4$%LJ+8;]L/ ME *I05E6T'UAUJ!.Q<;1\\:,&^>(S<[Q!^ICQ=RN:!@K Z6#H2XL_)]^'MEG M$+X_-DV^QF/BUWY8,]?'01WDH&SA4&SM3#8.$K^E@\2#.LA!V<*AV-J);1PD M-CO(P[[]8O4+H>[CKP:F^?JK0ZF??\=[QUP)S5;%<6$.YFR;\O+LIKY;'TE^ M*@[B.O+QGCNPO90'V ._T/4$L#!!0 ( %&"D58A2C3C:P0 )P6 M 9 >&PO=V]R:W-H965T\V)+U+V' M/)>ZQ\><[BC[RC< CUF:%GM(!T!PQ6,V,"WP>X5 EE!%_)K#C!]=(4;FG M]*NZN8YGAJ56!"DLA8(@\NL!KB!-%9)6"9G6R7$&6Y-4W M>:P+<9" _2,)=IU@=Q/<(PE.G> \-\&M$]RR,A65L@X1$60^972'F(J6:.JB M+&:9+>DGN=KWA6#R:2+SQ/QW(K8,$%VA/PI@1.T%?X<6L)9[*] =%)2))%\C MDL?H9Z!K1HI-LB0INLZKETYMWH]H4;TV)8[8 &L]OO_6 +Z)0) D?2M3/BTB M].;56_0*)3GZN*%;+N?@4U-(5FIMYK)F<%DQL(\PP#:ZH;G8:7-JCB+^2_ PY^!VR+=L96-#5\]/M@?3H^>EXA(W3[+!3XCE'\/I[ M>;@WGW^3X>A:0,:_#-6^PG:'L94HG?."+&%F2-7AP![ F+_^ ?O6^Z&ZZ02+ M-(&U:NHV-77'T.<7G(,8?%>K/+_,4YK[,,=.:%N3J?EP6(F!,.R&GM<.BT97 M<2)'K^'HC7*,0((ND^HU4>U_D:GWYY]R8(AZ!><=<')"['>(#P6%;H>VUZN. M%P9.$]2BXS=T_%$Z5Z1(A-2M#X_R)S-.E.H-;J#?6Z!MAQT2_1@\"3M,HP$@ M+Y@,DY@T)":C)&J-ECU<=S5'GV\@NP?V!?V+;AF-MTN!KF/Y)%E)F:Y:O(X8 M8CLZW?>VMTZP2!-8J\Q!4^;@!24ST%E3G6"1)K!63<.FIN&)DAGV&L4/_9YB M]J,\/''L3M.-KN%$AMC:>RE+KV36>&VUP5VY&8C"V.L4*!J*"AQO6'#P@3_$ M6G2SAFE-K_Q+FTD_*'![1 :0//^(_&-[3\3^']KY\37)BOX^)7])D8JTN4RM:I NM7=B]T<2G.LTZL:6;UL2QNBW7#_,L9]*U M7./+.)7FWFMBS683]XTD]L/NC\9 E!TX/<'I1[G8#8X(SMYP8CV.$P_822OH M,ND'A6[8)>+W_U98MGN$R-YTXG'7>469[&HBH*+"@8_+I%93J14MTH76KN3> M5^*7-)98J[/4BA;I0FL7=F\N\:GNLDX\[(D@F/14LA^%[:#?8%K]I7EP;)!^YAJG/;&\+62% M;+,,\^\7)&6[LP$RCUC7_.;R\79P,EG1%(RESD$5A\/9$K2-$=2 M\_A6@0[J,?/$_>LG]$]%\:J8>RS(E*5_)PNY/AN,!F!!EGB;RENV^XU4!?DY MWIREHO@+=E6L,P#SK9 LJY+5#+*$EI_XL2)B+P$&SR2@*@%U$[QG$MPJP3TT MP:L2O(*9LI2"AQA+/!ESM@,\CU9H^45!9I&MRD]HONXSR=6WB$8CI/.K'WW_=PP+G:J^!M3"1.TG<*YVX6@[=OWH$W(*'@ MSS7;"C6P& ^E*C6?\'!>E751EH6>*0LB<,VH7 OPD2[(H@TP5!S51*$GHBZ0 M$?%W3$^ "]\#Y"!7,Z'IX>E(DQX?G@X-U;CULKL%GOL,WBUY('1+!%AREH&/ MCY)PJA9J6FPXPD6QWE>,KCY29.(?W:*4@WKZ07,) M.Q4;/"=G Z51@O ',IC\_!,,G%]TA-H$BRV!M2C<#Q\V*="$P9#;^2TPV)=6."X;AW6FKY?3]\W3K^W#72%E!#^WM"N M[Z/.!*>:*"?P8*<,XW2.7*N@+C8P%GM'DUR[9A)+U1U?KDEV3[AVKQMQ7KK7 M;8+%EL!:_(4U?^%K"$MHDVR;8+$EL!;9HYKLT;'",NIU6@0CV-65?E0P@B._ MTX_]J-")(-2K2E3//?K_JA+U]<)#8;>*?A2*H-M5%>-TCEPHZ#0VRS&6^W'+ ME5286OH2K5J+88MXD6VT)K,XX:QM&QTE)EMKH2 M%K:TU97:L"@WOZVVU(2AR$&17EU@8W"AT=(=IB\5QO[@$+E=UZ*+\D9!MY ? M83%AXS&AV62>BP2;Y<68_^+-;A,MMH76YJXQN-!_%7FQ9&0KQFVBQ;;0VHPW M+AN:;;9)7H)>M_FNYW=[4A,5H5Y/:J*@XS^C+8W'A497=Z"VA'T+UBVB'P*[ MYLL\E6,7JG&8T&PQIYCBQ7\(BQ'AQ=O<)EIL"ZW-7N-Q8?0JPF+)RU:,VT2+ M;:&U7](U/AN9?;9!6*K,_6X;N9';Z4E-5.##3N?&FBC?#SV]L*#&YR*CJSM, M6"J,_;&];A']D%X%/\)?HL9?(K._G!(JN6J%O %F;"O7X%PU1#(W2XT9]*4; MWRI:; NM36CC=]&KO-%%5E_I6D6+;:&U&6\<-SKZM6Z5V6I1?]3]^==$N2CL MOK?0146^\XS4-)X7F=_J?I9KPLW-9M6^6D6+;:&UR6OL*PI>I=FLOE.VBA;; M0FLSWEAN9+;*$#=9M-$!7[8;39-E!=T?]>'>^>M:KE7Q;FU '.V MI;(\4:R?UF?CY\6)<.?Y!3R-RQ/N!J8\<+_&?)50 5*R5)#.2:@V/"_/L,L; MR3;%J>X]DVK/%9=K@A>$YP'J^R5C\NDF'Z#^3X+)OU!+ P04 " !1@I%6 MY+!3\XD" "V!@ &0 'AL+W=O$G\<<_)O>?:)]E&R$=5 VCTU#"NQD&M=7N)L2IK:(@:B1:XV5D*V1!MIG*% M52N!5 [4,!R'X05N".5!GKFUN&!I:(-<$4%1Q*6XV 271:IC7Z.M^S?7>VFE@51,!/L%ZUT M/0Z^!JB")>F8OA.;:^CK.;=\I6#*/=&FCPT#5'9*BZ8'FPP:ROV;//4Z[ "B MBP. N ?$KP'I 4#2 Y)C 6D/<%)C7XK3H2":Y)D4&R1MM&&S R>F0YOR*;=M MO]?2[%*#T_E5TS+Q#("FP&%)-9HSPA7ZC"9516UG"$,WW!\OVZ?3 C2A[,Q$ M/-P7Z/3D#)T@RM$M9"Z5NB*5U"]),"F MG*&F>%O3-'Z3\0?A(Y1$GU A&;'P^,]\.)X>/1&-M[(-]UZZ3H/1^<97N_J=$Q0L3CNQ'QA^5?D_4$L#!!0 ( %&"D5:7X3!=! , "H) 9 M>&PO=V]R:W-H965TV+>(4=.=K,K0<'1!D$$NM@-5K M"1/(,BVDPOA3:UK-E)JXV5ZK?S;>E9<9%C!AV3-)9#JT^A9*8([+3#ZPU1>H M_72U7LPR89YH56,="\6ED"ROR2J"G-#JC5_K/&P0W-X!@E<3O%U"YP#!KPG^ MJ81.3>B8S%163!XB+'$XX&R%N$8K-=TPR31L99]0O>R/DJNO1/%D..4L*6.) MGC'GF,HW])W@&1R QR2X4X^DQ0N=G%^A,4WZDK!28 M)F)@2Q6JGM".Z[#&55C>@;!<#]TS*E.![F@"R;: K3PV1KVUT;%W5/$;IM?( M=R^1YWA^2T"3T^E>"STZG>X><>,WR^8;/?^T92,@4$1$G#%1TT*>T< M4P_'.,,TADLT@P6AE- %8G,D4T!O@'E;'BN]GM'3Q^LR[/N=@;W<3,\^)O"= M;4S4HM-]QVR9Z39FND?-J/VQ).9H5I7A_9^]>U7E0D";F4JONQ&$YP3!CIL6 MD!OL6([V0?UNM]U.K['3.VIGPH34J]$8>8 "$]YZL/3VIK]R^_[-CI,6E/*[ MNS(MJ)O@@)>@\1*SG"=P-NQL@_:VX;1/F9S&U8^[(TJD@-? MF&HL4,Q**JMSMAEM"O[(U+F=\;&Z"%1U^UVFND7<8Z[^+8$RF"M)YSI0J>55 M9:XZDA6F5LV85)7/-%-UF0&N >K[G#&Y[N@)FNM1^!=02P,$% @ 48*1 M5EU9P$54 @ X@0 !D !X;"]W;W)K&ULC51M M;],P$/XK)S.A38(E3;L.1AJI79D88E+5,O8!\<&-KXTUOP3;:;=_C^VTH4A; MQ9?DSKY[[KG+/DR./9S!2Y;IS@"F<&;",E-<\3%'H[(CVR/YCS=>7" M05+D-5WC MU]/3/>2SH4QB4JR[4"@ZL1&?>N)H,0'P-^<-S: QM")TNM'X-S MRT8D#8108.D" O6O#5ZC$ '(T_B]PR1=R9!X:._1;V+OOISED$#96*?E+MDSD%RU;_JTF\-!0I:] MDI#M$K+(NRT464ZIHT5N]!9,B/9HP8BMQFQ/CJOP41;.^%ON\UPQ,YHUI8,' M:@Q5[AF^<;KD@GOK/8P9XV%V5,"M:A<@3/)TBHYR<08GP!5\KW1CJ6(V3YPG M%&"3R^!.*U=9^*P8LG\!$M])UTZV;V>2'47\2M4Y]'OO($NS M/MPOIG!Z/OG>&F=\1OVZZ4AM-"#EZ&# MZJYL34L<$2\KBV:#I'C[IC=,/QTA/NB(#XZA%W/D8MQB#B-FD/6F^'AYD:9IGFP.N20'>R?1K*.Z+)2Z4:Y=P>ZT$_"X MW=N_X:WZ[ZA97%P1,JZC6<;J.6[S4SFLBFI7_":$) ?Y^I;7; M.Z% ]ULK_@!02P,$% @ 48*15DMR/];F @ 70L !H !X;"]W;W)K M8#N@$B[ZPH*["02[8V^88!3C2IR$W'LD9F@3-BA(&.+5@8 MT*W(,P(+AOBV*#![GD%.]Q/#-@Z!VVR="A4PPV"#UW 'XL=FP>3*K%62K #" M,TH0@]7$F-I7D:_P&G"?P9X?72-5R9+21[6X3B:&I1*"'&*A%+#\V\$<\EP) MR31^5YI&_4A%/+X^J'_6MH=*+ M:<[U+]I76,M \98+6E1DF4&1D?(?/U4^'!'LT1F"4Q&<4X)WAN!6!/=2@E<1 M/.U,68KV(<("AP&C>\046JJI"VVF9LOR,Z)>^YU@\FXF>2*<4Q(#$0SKMT!7 MZ#;CC^@]FB9)ID(X1]>DW%T*\"8"@;/\K43< TDH0P\W4"R!_9*1N4X77F*! M*62*ZD%F7*4S*]-QSJ1C.^B&$I%R](DDD#0%3%E;7:!S*'#F="I^Q62 7/L= MMRIH3XD5WR#8Y@8 M\DO!@>W "%^_LD?6QS9_^A2+>A)K>.?5WGE:W;UHJ^M]_O!-8M"U@(*W&NGU M:62?8E%/8@TCA[61P\Y-^+>1[] "F(K)DZ+-QU+O@]93!]$NM :V/P[,W;%! M;2C'=9NHJ!WEU*A&2:.ZI%%G2=\93@!-XYANB>!H@9_Q,O]'EW4J_N_FZ%,L MZDFLX>2X=G+<=Y>-^S2R3[&H)[&&D7YMI-]SE_EM739R3KJL%37T3KJL#>7X M[DF7F4>#ASSXUWJ XTAW47E$U]%Z1ISJT>@D/I.S8SGJO;Y94R.E#7Z9R_@6F /+^BE)Q6*@'U!-U^ =02P,$ M% @ 48*15ANGPR1; @ _@0 !H !X;"]W;W)K_0/]=S2+.E02J%0.V$T6%Q.V.7PXFH&X&1AS&.8W)03-@B"4&+A P*GWQJG*&4 (AF_=YBLHPR)^^-G].OHG;PL MN,.ID=]%Z:L).V=0XI(WTM^9S2?<^3D)>(61+GYAT\:>?6!0-,X;M4LF!4KH M]L^?=G782TC3%Q+274(:=;=$4>6,>YYGUFS AFA""X-H-6:3.*'#H=Q[2[N" M\GP^-4H)3U7V#K@N86JT%WJ%NA#HX#U,2;G1[!T(QCV?HN9#OX B$ MAELA):VZ+/$D*0 GQ8[^JJ5/7Z#_S'4?1L,>I(-T! _W,S@^>O#KX^(J[4>=N M]!IZ/F]L49$M, LI5O%$#DEL089M[4-WKO/TI'^>)>L#W...>_R_W#WP!A8( M-1=E#[:AB$;C(47C XK2?Q0E>]VF"8# M !Z# &@ 'AL+W=O&ULQ5==3]LP%/TK M5QG:A@3DJRV4M95&$1L3G2H*[ 'MP6UN6PO'SFRG!6D_?G::9@V4%J0@7IK8 MN>?DGN-[7:,J[8SU3HY=ETUFF),U(%(D)LG8R%CHLU03ER5 M2"11!HJ9&WA>PXT)Y4ZGE>K?]SU/0O((FXHSM7*/5@I0R'N M[. \:CN>S0@9CK2E(.8RPRXR9IE,'G]R4J=XIP6NWB_9SS+Q1LR0*.P*]HM& M>MIVCAR(<$Q2IB_%_#OF@NJ6;R28RGYAGL=Z#HQ2I46<@TT&,>6+*[G/C5@! M^+5G $$."%X*"'- F E=9);).B6:=%I2S$'::,-F;S)O,K110[E=QH&6YBDU M.-TY(U3"#6$I0@^)2B6:-=(*]F%@*B9*&8(80U?$">$/GQ1<"#[9OT(9PRD. M-9SS$4LCRB>@IPC=5$J#AKZ0V1K]%!HN<6R7#".@',XH)WQ$"8.!)CI_%=&P MDL7G4]2$LEV3P?7@%#[O[,*.A5Y-1:H(CU3+U4:WS=X=Y1I/%AJ#9S3^(/P M0G\/ B\(U\"[+X<'9;AKW"XL#PK+@XROMMWRVQ[&0Y2_UVG:2&*[^U@E9(1M MQ[2O0CE#I_/Q@]_POJQ36!%926]8Z TS]G"KWCTX(D2GDFJ*:_M@0=_(Z.T&/NOXM=#W6NYL5>+3J&90KQ=!I=3K1>KUUQ8U_(4+ MG"&#<&.=;^1][>I51%:RH%%8T'C?.F]4Z51%9"6G#@NG#M^VSA?T]2UU_C3J M^3H_*E(_VIAZETCY8/_OMF_@&XE>NUP5D94T-PO-S?V6:W4_-Q@-(&F.=C(?1R8(^?Q>=&YQ]02P,$% @ 48*1 M5M%@^_DT P 90D !H !X;"]W;W)KM&!(@B5[\EF2V@-CJL P+FB9KAZ'H!UHZ640ITB,IN_WW(RE9 M\8ML^$._2"1US\-[CJ<[CM="?E,%HH;O)>-JXA5:+^]]7Z4%ED3=B"5R\R47 MLB3:3.7"5TN))'.@DOE1$ S]DE#NQ6.W]BSCL:@THQR?):BJ+(G\,44FUA,O M]#8++W11:+O@Q^,E6> KZD_+9VEF?LN2T1*YHH*#Q'SB/83WRE)37 M;_*]B<,6(!P> 40-(-H'](\ >@V@=RZ@WP#Z+C*U%!>'A&@2CZ58@[36ALT. M7# =VLBGW![[JY;F*S4X';^:/,HJAO#X"-?PF;"*U.?!,_A8$4;S'Y0OX"%- M1<6U >7P=R$J94C5V-=&CG7*3QO7I[7KT1'7PPB>!->%@O<\PVR7P#=Q M:(,1;8(QC4XR_DGX#?3"*XB"J-?AT.Q\>-0!3\Z'AR?4]-JC[3F^WK&C?3^# MS?%>01A=!W=79YQP0E7*A*HDPI>_#"4\:BS5UZ[SJ??O=^]O"]:]6I(4)YZI M2"YEO/C77\)A\%M7;'\F6?*3R';BWF_CWC_%'D\)799B16V) M]R^FR#&G^A)F!9$+S$ +^+!$Z;*I\_>MJ0<[3@=[P@YM!GLF20?-7;];UK"5 M-3PI*S$_17K4[^'!AM?AW6#/\0ZC:'2[Y_JAT1''1ZWCHW-SRQ2]4UDU.DB& M42_0)Y-TE"M@F!O*X&9DHBKKIEY/M%BZ-C<7VC1--RS,/0BE-3#?K7,AJ1!9:EQ_#L)HM M6$ZKBZ)DTB!9H7*J35?-PZI4C*85D'(1]CJ=.,PIEV0\E,O\)M=5,"N64H]( MOPD%[O8E'9%N?$D")S3#R@5 MO7J&Z$4'US48)AWO2MOAIT;($4\Q6M]#,UE:)G0P\L!/MA,X:WL8/7G6:AQ8 M#$2XW_'ZVC)EB6%=".-A5LBV'B+B D:9YBQXI&)$)E3PJ>+ RFC.Q=J%>Q"8 M%:)0@3:%:%)U(5+]=G#7]:!&:YV2FD7(Z+R2U'C:,NF%D9TR(.WB ?V0[VJML:\_LCLFF:0S5 M32?C.J"_K>:TMV4O7Z0;E/RQT)^79CK2]J'(V*UB&5_9_BIK#&#J75R=EJ58 M?Q)\+G/F)O_LA.,AW?""1:'X;Y,-2F5F DR1X)$IS6?;D5^*EO=LI3?EM,IP MS[TWZ/G?KO.<2::HV#9M:O^85_G%CJ/^:UFVWRK[AKT>Z[?RL9N\>@LFX[=@ M\DW4Y.#X34;)\7NLSX-';K+_:M_L!TV&]4EHZ[BU<]AJH@$<:D?D.QR/19LT MF"ZYT%S6O05/4R:?G+F,O*93\Z?8CKX9G[*,+H6^;\ 1:=O?6,J7>=*,NH6% MJ$>U[:\PO6[L+"/O(C;W\",9QF!\!#,N# M.< XCH7E^9_F,T#GXS#,V\"+#%#. .4XE@^9V ^6Q\])S.6?:9)$41QC*SJ9 M>!U,L'6+8_CQJV'>@('E@4Q_M];X;N,52!$.@%OTU&L?(ZL3P\>\/ M]I1$49+X$<#\#J((0^!IQ!', 7C D"BR[\&]]U&X>4^%[?\GQW\ 4$L#!!0 M ( %&"D5:7BKL

-8?20$3;8T.P6BP^0"X99K>]9!:G]=55MWO7[9;PV MF2[_*#8FISW+PF6ZHK=NU2\WSNBD7!M396D_& S"?J9MWOOP_N%8<]?G;XK* MQ)4MIZ:G,IO;S/XRR7%OT%/ENKC[ MJW#V5Y%7.EW$KDC3X]YPM^.[<96-7VQ>>,@K?5TV6RI]?:D)Y+@7#NB 2^O* MJOE$&/KQ[5U?%%YM6QGW6E?G3%?7&YBM_&/H5??8SFC@\_-T%\9W[ M/V$LEDL;F\]%7&/>I^+6.#77*^-_%)WE+-G] MP(K(6+C<.TL[W%G2,$KRY&61VH3.GJB/.M5Y;%03QY(!!@ PZ Q0O9EK!CD" MD*-7A%QX"/^%4A5+=9;'!8,< \AQ9Y"?BFS#("< R#+=&EN35X;=6GB@N+F]W,T:!1AI9R1TO.5/ZDZ*& J+@_*I#64[V[=JGOH+7^>).J6K;>._QR&1 M-X;"XJ"[T=74B9S^I(.4[> A50RE7>%,8JFS6#G3]&U-],Z+?'5T95RF.":2 MQ5#8%G.]I:/$-^HI>?8O5TYG1,LSF"'2Q5#8%Y^-L[?:I\WJB\TIS;(ZI>RE MK%S]_&)$PA@*&^,TVZ3%UOB>KZ)/^F#NK@,.B&0Q%+;%9;'5:;55%]>I7>EG M'7. G!$(.^/=4I'QE<1! M-TT#S/&0/D;"^EC0,9*::HRS,W74<.Z:VL?S[[HU+H3T,9+6!RIP6T,%(SA^ M)6P27N*J-U>:SE[^SN&01D;"&ME3Z^YE1%H9"6OE1=&[EQ 9921L%%;][F5# M/AG)^^1P&:S><$PDE9&P5)X7PGOCB,0RDA8+JHA;O38\))D5>L4?8V-;+*N,MBI=W4 M2"UCZ1&N@^5 $U&.B2PS%K;,@8SVH=4Y)K+,N,LYD1\CCHE<,W[%61'*P!GU MO'8QGU^:(-=,A%US&+.Y'#@FLFRZ #$4_+"%H*8+0M-D(4FPA;:C_G8]AP3 M66@B;*&7E>*18F;BF,A"$V$+[<-D]Q''1!::"%MH'R;KE?AZ$62A4-A"O/A^ MV1]E'!-9*!2?NN>8/FLO\J>%3+<<$UDH%+80'BXXXIC(0F&7D_NM?C-$%@I? M>7K_F=&KW>;-)&1'1UQKI< MJV5:W'%,9*&I_+P/&'%O=>_(0E-A"^U;JL3N>X8Y0Q::"5OHX,3 #I5C(@O- MI!<8',;TNS@FLM#L-=:G'8CF:M7"1!::=34;M"LV.":RT$S80C":K7QSABPT M$U]MP":M7A;J'!-9:":^Y !@SEO7)K+03'Q$KH7IQP\I-4[M_=HQC@D?E1$? MD6MATE]UNEQ24=2$\XIC(@O-Q$?D &;K%HJ0A2+Q$;GVM;G6^3!P362CJ;$VU1VUU2,A"D?2(',3D@S,1?&13?(GUGO7? M3QTHPQP.\'.)]0YY&;Y!N=I*3ML4[CN5/^3W.L8#SQSYTMZS3]1-LN M\O-")P__8^+A_V-\^ ]02P,$% @ 48*15@I(4F[K @ ACP !H !X M;"]?T1;;1#X5&B,^3F$]0F;F\5>_7TUOPW'MJ?5^GVU[5O;=;$] MW\]HGA[O9RY>/D_]_TP<-INW=?]S6/\^],?I'X/;/\/Y?=SU_=0L7E;G;3\M MF_9C?[L\MM<7\W"9W"R>7Y?-^?G5-.W<05:"[/Q!3H+<_$%>@OS\04&"POQ! M48+B_$%)@M+\05F"\OQ!18+*_$&F4QD[0%*%-4!KHUP;@-=&P38 L8V2;0!F M&T7; -0VRK8!N&T4;@.0VRC=!F"W4;P-0&^K>EN WE;UM@"];?5C&Z"W5;TM M0&^K>EN WE;UM@"]K>IM 7I;U=L"]+:JMP7H;55O"]#;J=X.H+=3O1U ;Z=Z M.X#>KGI8 M#;J=X.H+=3O1U ;Z=Z.X#>3O5V +V=ZNT >CO5VP'T]JJW!^CM M56\/T-NKWAZ@MU>]/4!O7SWL!NCM56\/T-NKWAZ@MU>]/4!OKWI[@-Y>]?8 MO8/J'0!Z!]4[ /0.JG< Z!U4[P#0.ZC> :!WJ/ZL!.@=5.\ T#NHW@&@=U"] M T#OH'H'@-Y1]8X O:/J'0%Z1]4[ O2.JG<$Z!U5[PC0.ZK>$:!WK#:; /2. MJG<$Z!U5[PC0.ZK>$:!W4KT30.^D>B> WDGU3@"]D^J= 'HGU3L!]$ZJ=P+H MG53O!- [59L% 7HGU3L!]$ZJ=P+HG57O#- [J]X9H'=6O3- [ZQZ9X#>6?7. M +VSZIT!>F?5.P/TSJIW!NB=J\W> +VSZIT!>A?5NP#T+JIW >A=5.\"T+NH MW@6@=U&]"T#OHGH7@-Y%]2X O8OJ70!Z%]6[ /0NU6$=@-ZFJX_K /PV775@ MIP,(;KKJR$X',-QTU:&=[CL5'Z?/?3_>BK[65YZ-6QV&?G2;:.?]_"E)7+,S0^WB M:39C6-E.=JA]^&H?DKEN]O6#262:ZJ291F]&O_;'&M'-]9W9UH^]7WT^A)]= M-XV;R)K>1:O;T\9CUB:JY[GOFMJ']>1I;']+6;\DQ.'DLL?MNME=A0U1\F[" M<>7/ 2_GOCX9:[O6K.YKZ[_40]B5'/K$^>?>N/A\B7=ZG+;;KC'MU#P.X4CL M9FOJUNV,\4,?GXI>G4_VX8;-Z5-G_U/7[-.W_Z&U_SD^6?I3<_ 5!+ 0(4 Q0 M ( %&"D58'04UB@0 +$ 0 " 0 !D;V-0&UL4$L! A0#% @ 48*15@ ><-OO *P( !$ M ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ 48*15IE< MG",0!@ G"< !, ( !S0$ 'AL+W1H96UE+W1H96UE,2YX M;6Q02P$"% ,4 " !1@I%6.NV($T8' ![, & @($. M" >&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15F5] M<(!]!P F2$ !@ ("!B@\ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0#% @ 48*15F\28%S9 P 1PT !@ M ("!XB 'AL+W=O&PO=V]R:W-H965T&UL4$L! M A0#% @ 48*15E>&H.#'"0 U# !@ ("!6"\ 'AL M+W=OK)=J!0 M 'LX 8 " @54Y !X;"]W;W)KS"?4- !()0 &0 @($S M3@ >&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15L!?,7K(! Z0H !D M ("!-&0 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 48*15C%5GW78 @ !@8 !D ("!TF\ 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 48*1 M5O&83-7&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15L*1ZEVV! K H M !D ("!&Y, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15LJ W';C" L!< !D M ("!%)\ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ 48*15B^G4-"' P P@< !D ("!BKT 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15D9P MMSOD! Z0H !D ("!&&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15MOIK7UZ%@ D$8 !D M ("!(M4 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 48*15M7"!C(2! I@D !D ("! M\_, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 48*15O_ZK&W8 @ Y@4 !D ("!0/X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15DRTBSQ4" 4!0 !D M ("!IA4! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 48*15O!T1GC7 @ V08 !D ("!J"&PO=V]R:W-H965T&UL4$L! A0#% @ M48*15@9B3M79 @ >PD !D ("!L3@! 'AL+W=O&PO=V]R:W-H965TA ( )H% 9 " @7P^ 0!X;"]W M;W)K&UL4$L! A0#% @ 48*15K?)?WN&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15H#F>';A! [QX !D M ("!AU$! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 48*15B-[PQ5T @ (08 !D ("!P&$! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 48*1 M5EU>#Q[. @ 3P@ !D ("!V&D! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15N]C+*YC P FPP M !D ("!$W0! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15L+ 9K8_! :!0 !D M ("!H(0! 'AL+W=O&PO=V]R:W-H965T M]7QA2 , )T( 9 M " @;V, 0!X;"]W;W)K&UL4$L! A0# M% @ 48*15F\(C#S !@ =C\ !D ("!/) ! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15G82 M=0Z* @ =P8 !D ("!:9T! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15F0;R.R% @ 08 !D M ("!G:4! 'AL+W=O$9*$% !#'P &0 @(%9J $ >&PO M=V]R:W-H965T&UL4$L! A0#% @ 48*15AVT$$1<" X$T !D ("! M_; ! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 48*15AI#P=]U!@ P3H !D ("!^, ! 'AL+W=O&UL4$L! A0#% @ 48*15D9+VWF. M P K0T !D ("!#,\! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 48*15AAY^GB @ .@4 !D M ("!%M\! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 48*15OA"N\R@ P *1 !D ("!G^L! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M48*15ODG[=HV!0 52 !D ("!WOD! 'AL+W=O&PO=V]R:W-H965TVF"8# !Z# &@ M @(&"#0( >&PO=V]R:W-H965T&PO=V]R M:W-H965T&PO&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-0 M2P$"% ,4 " !1@I%6A'6;AV," !A.@ $P @ $\(P( I6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 ;P!O (0> #0)0( ! end XML 118 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 119 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 120 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.1 html 285 494 1 true 108 0 false 7 false false R1.htm 1001 - Document - Cover Page Sheet http://astro-med.com/role/CoverPage Cover Page Cover 1 false false R2.htm 1002 - Statement - Consolidated Balance Sheets Sheet http://astro-med.com/role/ConsolidatedBalanceSheets Consolidated Balance Sheets Statements 2 false false R3.htm 1003 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://astro-med.com/role/ConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 1004 - Statement - Consolidated Statements of Income Sheet http://astro-med.com/role/ConsolidatedStatementsOfIncome Consolidated Statements of Income Statements 4 false false R5.htm 1005 - Statement - Consolidated Statements of Comprehensive Income Sheet http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome Consolidated Statements of Comprehensive Income Statements 5 false false R6.htm 1006 - Statement - Consolidated Statements of Changes in Shareholders' Equity Sheet http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity Consolidated Statements of Changes in Shareholders' Equity Statements 6 false false R7.htm 1007 - Statement - Consolidated Statements of Changes in Shareholders' Equity (Parenthetical) Sheet http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquityParenthetical Consolidated Statements of Changes in Shareholders' Equity (Parenthetical) Statements 7 false false R8.htm 1008 - Statement - Consolidated Statements of Cash Flows Sheet http://astro-med.com/role/ConsolidatedStatementsOfCashFlows Consolidated Statements of Cash Flows Statements 8 false false R9.htm 1009 - Disclosure - Summary of Significant Accounting Policies Sheet http://astro-med.com/role/SummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 1010 - Disclosure - Acquisitions Sheet http://astro-med.com/role/Acquisitions Acquisitions Notes 10 false false R11.htm 1011 - Disclosure - Revenue Recognition Sheet http://astro-med.com/role/RevenueRecognition Revenue Recognition Notes 11 false false R12.htm 1012 - Disclosure - Intangible Assets Sheet http://astro-med.com/role/IntangibleAssets Intangible Assets Notes 12 false false R13.htm 1013 - Disclosure - Inventories Sheet http://astro-med.com/role/Inventories Inventories Notes 13 false false R14.htm 1014 - Disclosure - Property, Plant and Equipment Sheet http://astro-med.com/role/PropertyPlantAndEquipment Property, Plant and Equipment Notes 14 false false R15.htm 1015 - Disclosure - Accrued Expenses Sheet http://astro-med.com/role/AccruedExpenses Accrued Expenses Notes 15 false false R16.htm 1016 - Disclosure - Credit Agreement and Long-Term Debt Sheet http://astro-med.com/role/CreditAgreementAndLongTermDebt Credit Agreement and Long-Term Debt Notes 16 false false R17.htm 1017 - Disclosure - Paycheck Protection Program Loan Sheet http://astro-med.com/role/PaycheckProtectionProgramLoan Paycheck Protection Program Loan Notes 17 false false R18.htm 1018 - Disclosure - Derivative Financial Instruments and Risk Management Sheet http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagement Derivative Financial Instruments and Risk Management Notes 18 false false R19.htm 1019 - Disclosure - Employee Retention Credit Sheet http://astro-med.com/role/EmployeeRetentionCredit Employee Retention Credit Notes 19 false false R20.htm 1020 - Disclosure - Royalty Obligation Sheet http://astro-med.com/role/RoyaltyObligation Royalty Obligation Notes 20 false false R21.htm 1021 - Disclosure - Leases Sheet http://astro-med.com/role/Leases Leases Notes 21 false false R22.htm 1022 - Disclosure - Accumulated Other Comprehensive Loss Sheet http://astro-med.com/role/AccumulatedOtherComprehensiveLoss Accumulated Other Comprehensive Loss Notes 22 false false R23.htm 1023 - Disclosure - Shareholders' Equity Sheet http://astro-med.com/role/ShareholdersEquity Shareholders' Equity Notes 23 false false R24.htm 1024 - Disclosure - Share-Based Compensation Sheet http://astro-med.com/role/ShareBasedCompensation Share-Based Compensation Notes 24 false false R25.htm 1025 - Disclosure - Income Taxes Sheet http://astro-med.com/role/IncomeTaxes Income Taxes Notes 25 false false R26.htm 1026 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information Sheet http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformation Nature of Operations, Segment Reporting and Geographical Information Notes 26 false false R27.htm 1027 - Disclosure - Employee Benefit Plans Sheet http://astro-med.com/role/EmployeeBenefitPlans Employee Benefit Plans Notes 27 false false R28.htm 1028 - Disclosure - Product Warranty Liability Sheet http://astro-med.com/role/ProductWarrantyLiability Product Warranty Liability Notes 28 false false R29.htm 1029 - Disclosure - Concentration of Risk Sheet http://astro-med.com/role/ConcentrationOfRisk Concentration of Risk Notes 29 false false R30.htm 1030 - Disclosure - Commitments and Contingencies Sheet http://astro-med.com/role/CommitmentsAndContingencies Commitments and Contingencies Notes 30 false false R31.htm 1031 - Disclosure - Fair Value Measurements Sheet http://astro-med.com/role/FairValueMeasurements Fair Value Measurements Notes 31 false false R32.htm 1032 - Disclosure - Schedule II - Valuation and Qualifying Accounts and Reserves Sheet http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReserves Schedule II - Valuation and Qualifying Accounts and Reserves Notes 32 false false R33.htm 1033 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://astro-med.com/role/SummaryOfSignificantAccountingPolicies 33 false false R34.htm 1034 - Disclosure - Acquisitions (Tables) Sheet http://astro-med.com/role/AcquisitionsTables Acquisitions (Tables) Tables http://astro-med.com/role/Acquisitions 34 false false R35.htm 1035 - Disclosure - Revenue Recognition (Tables) Sheet http://astro-med.com/role/RevenueRecognitionTables Revenue Recognition (Tables) Tables http://astro-med.com/role/RevenueRecognition 35 false false R36.htm 1036 - Disclosure - Intangible Assets (Tables) Sheet http://astro-med.com/role/IntangibleAssetsTables Intangible Assets (Tables) Tables http://astro-med.com/role/IntangibleAssets 36 false false R37.htm 1037 - Disclosure - Inventories (Tables) Sheet http://astro-med.com/role/InventoriesTables Inventories (Tables) Tables http://astro-med.com/role/Inventories 37 false false R38.htm 1038 - Disclosure - Property, Plant and Equipment (Tables) Sheet http://astro-med.com/role/PropertyPlantAndEquipmentTables Property, Plant and Equipment (Tables) Tables http://astro-med.com/role/PropertyPlantAndEquipment 38 false false R39.htm 1039 - Disclosure - Accrued Expenses (Tables) Sheet http://astro-med.com/role/AccruedExpensesTables Accrued Expenses (Tables) Tables http://astro-med.com/role/AccruedExpenses 39 false false R40.htm 1040 - Disclosure - Credit Agreement and Long-Term Debt (Tables) Sheet http://astro-med.com/role/CreditAgreementAndLongTermDebtTables Credit Agreement and Long-Term Debt (Tables) Tables http://astro-med.com/role/CreditAgreementAndLongTermDebt 40 false false R41.htm 1041 - Disclosure - Derivative Financial Instruments and Risk Management (Tables) Sheet http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementTables Derivative Financial Instruments and Risk Management (Tables) Tables http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagement 41 false false R42.htm 1042 - Disclosure - Leases (Tables) Sheet http://astro-med.com/role/LeasesTables Leases (Tables) Tables http://astro-med.com/role/Leases 42 false false R43.htm 1043 - Disclosure - Accumulated Other Comprehensive Loss (Tables) Sheet http://astro-med.com/role/AccumulatedOtherComprehensiveLossTables Accumulated Other Comprehensive Loss (Tables) Tables http://astro-med.com/role/AccumulatedOtherComprehensiveLoss 43 false false R44.htm 1044 - Disclosure - Share-Based Compensation (Tables) Sheet http://astro-med.com/role/ShareBasedCompensationTables Share-Based Compensation (Tables) Tables http://astro-med.com/role/ShareBasedCompensation 44 false false R45.htm 1045 - Disclosure - Income Taxes (Tables) Sheet http://astro-med.com/role/IncomeTaxesTables Income Taxes (Tables) Tables http://astro-med.com/role/IncomeTaxes 45 false false R46.htm 1046 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information (Tables) Sheet http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationTables Nature of Operations, Segment Reporting and Geographical Information (Tables) Tables http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformation 46 false false R47.htm 1047 - Disclosure - Product Warranty Liability (Tables) Sheet http://astro-med.com/role/ProductWarrantyLiabilityTables Product Warranty Liability (Tables) Tables http://astro-med.com/role/ProductWarrantyLiability 47 false false R48.htm 1048 - Disclosure - Fair Value Measurements (Tables) Sheet http://astro-med.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://astro-med.com/role/FairValueMeasurements 48 false false R49.htm 1049 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail) Sheet http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail Summary of Significant Accounting Policies - Additional Information (Detail) Details 49 false false R50.htm 1050 - Disclosure - Acquisitions - Summary of Purchase Price of Acquisition Allocated on Basis of Fair Value (Detail) Sheet http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail Acquisitions - Summary of Purchase Price of Acquisition Allocated on Basis of Fair Value (Detail) Details 50 false false R51.htm 1051 - Disclosure - Acquisitions - Summary of Fair Value of the Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail) Sheet http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail Acquisitions - Summary of Fair Value of the Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail) Details 51 false false R52.htm 1052 - Disclosure - Acquisitions - Summary of Revenue and Earnings Before Taxes (Detail) Sheet http://astro-med.com/role/AcquisitionsSummaryOfRevenueAndEarningsBeforeTaxesDetail Acquisitions - Summary of Revenue and Earnings Before Taxes (Detail) Details 52 false false R53.htm 1053 - Disclosure - Acquisitions - Summary of Acquired Identifiable Intangible Asset (Detail) Sheet http://astro-med.com/role/AcquisitionsSummaryOfAcquiredIdentifiableIntangibleAssetDetail Acquisitions - Summary of Acquired Identifiable Intangible Asset (Detail) Details 53 false false R54.htm 1054 - Disclosure - Acquisitions - Additional Information (Detail) Sheet http://astro-med.com/role/AcquisitionsAdditionalInformationDetail Acquisitions - Additional Information (Detail) Details 54 false false R55.htm 1055 - Disclosure - Revenue Recognition - Summary of Revenues Disaggregated by Primary Geographic Markets (Detail) Sheet http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail Revenue Recognition - Summary of Revenues Disaggregated by Primary Geographic Markets (Detail) Details 55 false false R56.htm 1056 - Disclosure - Revenue Recognition - Summary of Revenues Disaggregated by Primary Product Type (Detail) Sheet http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryProductTypeDetail Revenue Recognition - Summary of Revenues Disaggregated by Primary Product Type (Detail) Details 56 false false R57.htm 1057 - Disclosure - Revenue Recognition - Additional Information (Detail) Sheet http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail Revenue Recognition - Additional Information (Detail) Details 57 false false R58.htm 1058 - Disclosure - Intangible Assets - Fair Value of Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail) Sheet http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail Intangible Assets - Fair Value of Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail) Details 58 false false R59.htm 1059 - Disclosure - Intangible Assets - Additional Information (Detail) Sheet http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail Intangible Assets - Additional Information (Detail) Details 59 false false R60.htm 1060 - Disclosure - Intangible Assets - Summary of Estimated Amortization Expense (Detail) Sheet http://astro-med.com/role/IntangibleAssetsSummaryOfEstimatedAmortizationExpenseDetail Intangible Assets - Summary of Estimated Amortization Expense (Detail) Details 60 false false R61.htm 1061 - Disclosure - Inventories - Additional Information (Detail) Sheet http://astro-med.com/role/InventoriesAdditionalInformationDetail Inventories - Additional Information (Detail) Details 61 false false R62.htm 1062 - Disclosure - Inventories - Components of Inventories (Detail) Sheet http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail Inventories - Components of Inventories (Detail) Details 62 false false R63.htm 1063 - Disclosure - Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail) Sheet http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail) Details 63 false false R64.htm 1064 - Disclosure - Property, Plant and Equipment - Additional Information (Detail) Sheet http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail Property, Plant and Equipment - Additional Information (Detail) Details 64 false false R65.htm 1065 - Disclosure - Accrued Expenses - Summary of Accrued Expenses (Detail) Sheet http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail Accrued Expenses - Summary of Accrued Expenses (Detail) Details 65 false false R66.htm 1066 - Disclosure - Credit Agreement and Long- Term Debt - Schedule of Long Term Debt in the Accompanying Condensed Consolidated Balance Sheets (Detail) Sheet http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail Credit Agreement and Long- Term Debt - Schedule of Long Term Debt in the Accompanying Condensed Consolidated Balance Sheets (Detail) Details 66 false false R67.htm 1067 - Disclosure - Credit Agreement and Long- Term Debt- Schedule of Required Principal Payments Remaining on Long Term Debt Outstanding (Detail) Sheet http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail Credit Agreement and Long- Term Debt- Schedule of Required Principal Payments Remaining on Long Term Debt Outstanding (Detail) Details 67 false false R68.htm 1068 - Disclosure - Credit Agreement and Long- Term Debt - Additional Information (Detail) Sheet http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail Credit Agreement and Long- Term Debt - Additional Information (Detail) Details 68 false false R69.htm 1069 - Disclosure - Paycheck Protection Program Loan - Additional information (Detail) Sheet http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail Paycheck Protection Program Loan - Additional information (Detail) Details 69 false false R70.htm 1070 - Disclosure - Derivative Financial Instruments and Risk Management - Additional Information (Detail) Sheet http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail Derivative Financial Instruments and Risk Management - Additional Information (Detail) Details 70 false false R71.htm 1071 - Disclosure - Derivative Financial Instruments and Risk Management - Schedule of Impact of the Derivative Instruments in the Condensed Consolidated Financial Statements (Detail) Sheet http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail Derivative Financial Instruments and Risk Management - Schedule of Impact of the Derivative Instruments in the Condensed Consolidated Financial Statements (Detail) Details 71 false false R72.htm 1072 - Disclosure - Employee Retention Credit - Additional Information (Detail) Sheet http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail Employee Retention Credit - Additional Information (Detail) Details 72 false false R73.htm 1073 - Disclosure - Royalty Obligation - Additional Information (Detail) Sheet http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail Royalty Obligation - Additional Information (Detail) Details 73 false false R74.htm 1074 - Disclosure - Leases - Additional Information (Detail) Sheet http://astro-med.com/role/LeasesAdditionalInformationDetail Leases - Additional Information (Detail) Details 74 false false R75.htm 1075 - Disclosure - Leases - Schedule Of Balance Sheet And Other Information Related To Operating Leases (Detail) Sheet http://astro-med.com/role/LeasesScheduleOfBalanceSheetAndOtherInformationRelatedToOperatingLeasesDetail Leases - Schedule Of Balance Sheet And Other Information Related To Operating Leases (Detail) Details 75 false false R76.htm 1076 - Disclosure - Leases - Lease Cost Information (Detail) Sheet http://astro-med.com/role/LeasesLeaseCostInformationDetail Leases - Lease Cost Information (Detail) Details 76 false false R77.htm 1077 - Disclosure - Leases - Maturities of lease liabilities (Detail) Sheet http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail Leases - Maturities of lease liabilities (Detail) Details 77 false false R78.htm 1078 - Disclosure - Leases - Supplemental cash flow information (Detail) Sheet http://astro-med.com/role/LeasesSupplementalCashFlowInformationDetail Leases - Supplemental cash flow information (Detail) Details 78 false false R79.htm 1079 - Disclosure - Accumulated Other Comprehensive Loss - Changes in Balance of Accumulated Other Comprehensive Loss (Detail) Sheet http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail Accumulated Other Comprehensive Loss - Changes in Balance of Accumulated Other Comprehensive Loss (Detail) Details 79 false false R80.htm 1080 - Disclosure - Shareholders' Equity - Additional information (Detail) Sheet http://astro-med.com/role/ShareholdersEquityAdditionalInformationDetail Shareholders' Equity - Additional information (Detail) Details 80 false false R81.htm 1081 - Disclosure - Share-Based Compensation - Additional Information (Detail) Sheet http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail Share-Based Compensation - Additional Information (Detail) Details 81 false false R82.htm 1082 - Disclosure - Share-Based Compensation - Share-Based Compensation Expense (Detail) Sheet http://astro-med.com/role/ShareBasedCompensationShareBasedCompensationExpenseDetail Share-Based Compensation - Share-Based Compensation Expense (Detail) Details 82 false false R83.htm 1083 - Disclosure - Share-Based Compensation - Aggregated Information Regarding Stock Options Granted (Detail) Sheet http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail Share-Based Compensation - Aggregated Information Regarding Stock Options Granted (Detail) Details 83 false false R84.htm 1084 - Disclosure - Share-Based Compensation - Summary of Options Outstanding (Detail) Sheet http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail Share-Based Compensation - Summary of Options Outstanding (Detail) Details 84 false false R85.htm 1085 - Disclosure - Share-Based Compensation - Aggregated Information Regarding RSUs and RSAs Granted (Detail) Sheet http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail Share-Based Compensation - Aggregated Information Regarding RSUs and RSAs Granted (Detail) Details 85 false false R86.htm 1086 - Disclosure - Income Taxes - Components of Income before Income Taxes (Detail) Sheet http://astro-med.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetail Income Taxes - Components of Income before Income Taxes (Detail) Details 86 false false R87.htm 1087 - Disclosure - Income Taxes - Components of Provision for Income Taxes (Detail) Sheet http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail Income Taxes - Components of Provision for Income Taxes (Detail) Details 87 false false R88.htm 1088 - Disclosure - Income Taxes - Reconciliation of income tax provision/(benefit) With The Amount Computed By Applying The Statutory Federal Income Tax Rate To The Income Before Income Tax Provision/(benefit) (Detail) Sheet http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail Income Taxes - Reconciliation of income tax provision/(benefit) With The Amount Computed By Applying The Statutory Federal Income Tax Rate To The Income Before Income Tax Provision/(benefit) (Detail) Details 88 false false R89.htm 1089 - Disclosure - Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Detail) Sheet http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Detail) Details 89 false false R90.htm 1090 - Disclosure - Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Parenthetical) (Detail) Sheet http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesParentheticalDetail Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Parenthetical) (Detail) Details 90 false false R91.htm 1091 - Disclosure - Income Taxes - Change in Balance of Unrecognized Tax Benefits, Excluding Interest and Penalties (Detail) Sheet http://astro-med.com/role/IncomeTaxesChangeInBalanceOfUnrecognizedTaxBenefitsExcludingInterestAndPenaltiesDetail Income Taxes - Change in Balance of Unrecognized Tax Benefits, Excluding Interest and Penalties (Detail) Details 91 false false R92.htm 1092 - Disclosure - Income Taxes - Additional Information (Detail) Sheet http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail Income Taxes - Additional Information (Detail) Details 92 false false R93.htm 1093 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Additional Information (Detail) Sheet http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail Nature of Operations, Segment Reporting and Geographical Information - Additional Information (Detail) Details 93 false false R94.htm 1094 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Net Sales and Segment Operating Profit (loss) for Each Reporting Segment (Detail) Sheet http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail Nature of Operations, Segment Reporting and Geographical Information - Net Sales and Segment Operating Profit (loss) for Each Reporting Segment (Detail) Details 94 false false R95.htm 1095 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Summary of Other Information by Segment (Detail) Sheet http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail Nature of Operations, Segment Reporting and Geographical Information - Summary of Other Information by Segment (Detail) Details 95 false false R96.htm 1096 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Summary of Selected Financial Information by Geographic Area (Detail) Sheet http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail Nature of Operations, Segment Reporting and Geographical Information - Summary of Selected Financial Information by Geographic Area (Detail) Details 96 false false R97.htm 1097 - Disclosure - Employee Benefit Plans - Additional Information (Detail) Sheet http://astro-med.com/role/EmployeeBenefitPlansAdditionalInformationDetail Employee Benefit Plans - Additional Information (Detail) Details 97 false false R98.htm 1098 - Disclosure - Product Warranty Liability - Activity in Product Warranty Liability (Detail) Sheet http://astro-med.com/role/ProductWarrantyLiabilityActivityInProductWarrantyLiabilityDetail Product Warranty Liability - Activity in Product Warranty Liability (Detail) Details 98 false false R99.htm 1099 - Disclosure - Product Warranty Liability - Additional Information (Detail) Sheet http://astro-med.com/role/ProductWarrantyLiabilityAdditionalInformationDetail Product Warranty Liability - Additional Information (Detail) Details 99 false false R100.htm 1100 - Disclosure - Concentration of Risk - Additional Information (Detail) Sheet http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail Concentration of Risk - Additional Information (Detail) Details 100 false false R101.htm 1101 - Disclosure - Commitments and Contingencies - Additional Information (Detail) Sheet http://astro-med.com/role/CommitmentsAndContingenciesAdditionalInformationDetail Commitments and Contingencies - Additional Information (Detail) Details 101 false false R102.htm 1102 - Disclosure - Fair Value Measurements - Schedule of Company's Long-Term Debt Including the Current Portion Not Reflected in Financial Statements at Fair Value (Detail) Sheet http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail Fair Value Measurements - Schedule of Company's Long-Term Debt Including the Current Portion Not Reflected in Financial Statements at Fair Value (Detail) Details 102 false false R103.htm 1103 - Disclosure - Schedule II - Valuation and Qualifying Accounts and Reserves (Detail) Sheet http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail Schedule II - Valuation and Qualifying Accounts and Reserves (Detail) Details http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReserves 103 false false All Reports Book All Reports [dq-0542-Deprecated-Concept] Concept TreasuryStockShares in us-gaap/2022 used in 2 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. d415415d10k.htm 3474 [dq-0542-Deprecated-Concept] Concept TreasuryStockMember in us-gaap/2022 used in 8 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. d415415d10k.htm 4315, 4375, 4405, 4555, 4645, 4765, 4855, 4975 [dq-0542-Deprecated-Concept] Concept LondonInterbankOfferedRateLIBORMember in us-gaap/2022 used in 3 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. d415415d10k.htm 7304 d415415d10k.htm alot-20230131.xsd alot-20230131_cal.xml alot-20230131_def.xml alot-20230131_lab.xml alot-20230131_pre.xml d415415dex21.htm d415415dex231.htm d415415dex311.htm d415415dex312.htm d415415dex321.htm d415415dex322.htm http://fasb.org/srt/2022 http://fasb.org/us-gaap/2022 http://xbrl.sec.gov/dei/2022 true true JSON 123 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "d415415d10k.htm": { "axisCustom": 5, "axisStandard": 32, "baseTaxonomies": { "http://fasb.org/srt/2022": 1, "http://fasb.org/us-gaap/2022": 1107, "http://xbrl.sec.gov/dei/2022": 36 }, "contextCount": 285, "dts": { "calculationLink": { "local": [ "alot-20230131_cal.xml" ] }, "definitionLink": { "local": [ "alot-20230131_def.xml" ] }, "inline": { "local": [ "d415415d10k.htm" ] }, "labelLink": { "local": [ "alot-20230131_lab.xml" ] }, "presentationLink": { "local": [ "alot-20230131_pre.xml" ] }, "schema": { "local": [ "alot-20230131.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd", "https://xbrl.fasb.org/srt/2022q3/srt-sup-2022q3.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022q3/us-gaap-sup-2022q3.xsd", "https://xbrl.sec.gov/country/2022/country-2022.xsd", "https://xbrl.sec.gov/currency/2022/currency-2022.xsd", "https://xbrl.sec.gov/dei/2022/dei-2022.xsd", "https://xbrl.sec.gov/exch/2022/exch-2022.xsd", "https://xbrl.sec.gov/naics/2022/naics-2022.xsd", "https://xbrl.sec.gov/sic/2022/sic-2022.xsd", "https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd" ] } }, "elementCount": 790, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2022": 2, "http://xbrl.sec.gov/dei/2022": 3, "total": 5 }, "keyCustom": 78, "keyStandard": 416, "memberCustom": 54, "memberStandard": 53, "nsprefix": "alot", "nsuri": "http://astro-med.com/20230131", "report": { "R1": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "1001 - Document - Cover Page", "menuCat": "Cover", "order": "1", "role": "http://astro-med.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1010 - Disclosure - Acquisitions", "menuCat": "Notes", "order": "10", "role": "http://astro-med.com/role/Acquisitions", "shortName": "Acquisitions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R100": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023_CostOfGoodsTotalMemberusgaapConcentrationRiskByBenchmarkAxis_CustomerMembersrtMajorCustomersAxis_SupplierConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "Unit_pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1100 - Disclosure - Concentration of Risk - Additional Information (Detail)", "menuCat": "Details", "order": "100", "role": "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail", "shortName": "Concentration of Risk - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023_CostOfGoodsTotalMemberusgaapConcentrationRiskByBenchmarkAxis_CustomerMembersrtMajorCustomersAxis_SupplierConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "Unit_pure", "xsiNil": "false" } }, "R101": { "firstAnchor": { "ancestors": [ "div", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:PurchaseObligation", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1101 - Disclosure - Commitments and Contingencies - Additional Information (Detail)", "menuCat": "Details", "order": "101", "role": "http://astro-med.com/role/CommitmentsAndContingenciesAdditionalInformationDetail", "shortName": "Commitments and Contingencies - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:PurchaseObligation", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R102": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023_EstimateOfFairValueFairValueDisclosureMemberusgaapFairValueByMeasurementBasisAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1102 - Disclosure - Fair Value Measurements - Schedule of Company's Long-Term Debt Including the Current Portion Not Reflected in Financial Statements at Fair Value (Detail)", "menuCat": "Details", "order": "102", "role": "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail", "shortName": "Fair Value Measurements - Schedule of Company's Long-Term Debt Including the Current Portion Not Reflected in Financial Statements at Fair Value (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023_EstimateOfFairValueFairValueDisclosureMemberusgaapFairValueByMeasurementBasisAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R103": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2022_AllowanceForCreditLossMemberusgaapValuationAllowancesAndReservesTypeAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ValuationAllowancesAndReservesBalance", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1103 - Disclosure - Schedule II - Valuation and Qualifying Accounts and Reserves (Detail)", "menuCat": "Details", "order": "103", "role": "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail", "shortName": "Schedule II - Valuation and Qualifying Accounts and Reserves (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2020_AllowanceForCreditLossMemberusgaapValuationAllowancesAndReservesTypeAxis", "decimals": "-3", "lang": null, "name": "us-gaap:ValuationAllowancesAndReservesBalance", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1011 - Disclosure - Revenue Recognition", "menuCat": "Notes", "order": "11", "role": "http://astro-med.com/role/RevenueRecognition", "shortName": "Revenue Recognition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1012 - Disclosure - Intangible Assets", "menuCat": "Notes", "order": "12", "role": "http://astro-med.com/role/IntangibleAssets", "shortName": "Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1013 - Disclosure - Inventories", "menuCat": "Notes", "order": "13", "role": "http://astro-med.com/role/Inventories", "shortName": "Inventories", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1014 - Disclosure - Property, Plant and Equipment", "menuCat": "Notes", "order": "14", "role": "http://astro-med.com/role/PropertyPlantAndEquipment", "shortName": "Property, Plant and Equipment", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1015 - Disclosure - Accrued Expenses", "menuCat": "Notes", "order": "15", "role": "http://astro-med.com/role/AccruedExpenses", "shortName": "Accrued Expenses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1016 - Disclosure - Credit Agreement and Long-Term Debt", "menuCat": "Notes", "order": "16", "role": "http://astro-med.com/role/CreditAgreementAndLongTermDebt", "shortName": "Credit Agreement and Long-Term Debt", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "alot:DisclosureForPaycheckProtectionProgramLoanTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1017 - Disclosure - Paycheck Protection Program Loan", "menuCat": "Notes", "order": "17", "role": "http://astro-med.com/role/PaycheckProtectionProgramLoan", "shortName": "Paycheck Protection Program Loan", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "alot:DisclosureForPaycheckProtectionProgramLoanTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1018 - Disclosure - Derivative Financial Instruments and Risk Management", "menuCat": "Notes", "order": "18", "role": "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagement", "shortName": "Derivative Financial Instruments and Risk Management", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "alot:DisclosureForEmployeeRetentionCreditTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1019 - Disclosure - Employee Retention Credit", "menuCat": "Notes", "order": "19", "role": "http://astro-med.com/role/EmployeeRetentionCredit", "shortName": "Employee Retention Credit", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "alot:DisclosureForEmployeeRetentionCreditTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1002 - Statement - Consolidated Balance Sheets", "menuCat": "Statements", "order": "2", "role": "http://astro-med.com/role/ConsolidatedBalanceSheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "alot:DisclosureForTheHoneywellRoyaltyObligationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1020 - Disclosure - Royalty Obligation", "menuCat": "Notes", "order": "20", "role": "http://astro-med.com/role/RoyaltyObligation", "shortName": "Royalty Obligation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "alot:DisclosureForTheHoneywellRoyaltyObligationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1021 - Disclosure - Leases", "menuCat": "Notes", "order": "21", "role": "http://astro-med.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1022 - Disclosure - Accumulated Other Comprehensive Loss", "menuCat": "Notes", "order": "22", "role": "http://astro-med.com/role/AccumulatedOtherComprehensiveLoss", "shortName": "Accumulated Other Comprehensive Loss", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1023 - Disclosure - Shareholders' Equity", "menuCat": "Notes", "order": "23", "role": "http://astro-med.com/role/ShareholdersEquity", "shortName": "Shareholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1024 - Disclosure - Share-Based Compensation", "menuCat": "Notes", "order": "24", "role": "http://astro-med.com/role/ShareBasedCompensation", "shortName": "Share-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1025 - Disclosure - Income Taxes", "menuCat": "Notes", "order": "25", "role": "http://astro-med.com/role/IncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1026 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information", "menuCat": "Notes", "order": "26", "role": "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformation", "shortName": "Nature of Operations, Segment Reporting and Geographical Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1027 - Disclosure - Employee Benefit Plans", "menuCat": "Notes", "order": "27", "role": "http://astro-med.com/role/EmployeeBenefitPlans", "shortName": "Employee Benefit Plans", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1028 - Disclosure - Product Warranty Liability", "menuCat": "Notes", "order": "28", "role": "http://astro-med.com/role/ProductWarrantyLiability", "shortName": "Product Warranty Liability", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1029 - Disclosure - Concentration of Risk", "menuCat": "Notes", "order": "29", "role": "http://astro-med.com/role/ConcentrationOfRisk", "shortName": "Concentration of Risk", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "div", "div", "div", "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003 - Statement - Consolidated Balance Sheets (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://astro-med.com/role/ConsolidatedBalanceSheetsParenthetical", "shortName": "Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1030 - Disclosure - Commitments and Contingencies", "menuCat": "Notes", "order": "30", "role": "http://astro-med.com/role/CommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1031 - Disclosure - Fair Value Measurements", "menuCat": "Notes", "order": "31", "role": "http://astro-med.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1032 - Disclosure - Schedule II - Valuation and Qualifying Accounts and Reserves", "menuCat": "Notes", "order": "32", "role": "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReserves", "shortName": "Schedule II - Valuation and Qualifying Accounts and Reserves", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1033 - Disclosure - Summary of Significant Accounting Policies (Policies)", "menuCat": "Policies", "order": "33", "role": "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1034 - Disclosure - Acquisitions (Tables)", "menuCat": "Tables", "order": "34", "role": "http://astro-med.com/role/AcquisitionsTables", "shortName": "Acquisitions (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1035 - Disclosure - Revenue Recognition (Tables)", "menuCat": "Tables", "order": "35", "role": "http://astro-med.com/role/RevenueRecognitionTables", "shortName": "Revenue Recognition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1036 - Disclosure - Intangible Assets (Tables)", "menuCat": "Tables", "order": "36", "role": "http://astro-med.com/role/IntangibleAssetsTables", "shortName": "Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1037 - Disclosure - Inventories (Tables)", "menuCat": "Tables", "order": "37", "role": "http://astro-med.com/role/InventoriesTables", "shortName": "Inventories (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1038 - Disclosure - Property, Plant and Equipment (Tables)", "menuCat": "Tables", "order": "38", "role": "http://astro-med.com/role/PropertyPlantAndEquipmentTables", "shortName": "Property, Plant and Equipment (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1039 - Disclosure - Accrued Expenses (Tables)", "menuCat": "Tables", "order": "39", "role": "http://astro-med.com/role/AccruedExpensesTables", "shortName": "Accrued Expenses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004 - Statement - Consolidated Statements of Income", "menuCat": "Statements", "order": "4", "role": "http://astro-med.com/role/ConsolidatedStatementsOfIncome", "shortName": "Consolidated Statements of Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1040 - Disclosure - Credit Agreement and Long-Term Debt (Tables)", "menuCat": "Tables", "order": "40", "role": "http://astro-med.com/role/CreditAgreementAndLongTermDebtTables", "shortName": "Credit Agreement and Long-Term Debt (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1041 - Disclosure - Derivative Financial Instruments and Risk Management (Tables)", "menuCat": "Tables", "order": "41", "role": "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementTables", "shortName": "Derivative Financial Instruments and Risk Management (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "alot:ScheduleOfBalanceSheetAndOtherInformationRelatedToOperatingLeasesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1042 - Disclosure - Leases (Tables)", "menuCat": "Tables", "order": "42", "role": "http://astro-med.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "alot:ScheduleOfBalanceSheetAndOtherInformationRelatedToOperatingLeasesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1043 - Disclosure - Accumulated Other Comprehensive Loss (Tables)", "menuCat": "Tables", "order": "43", "role": "http://astro-med.com/role/AccumulatedOtherComprehensiveLossTables", "shortName": "Accumulated Other Comprehensive Loss (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1044 - Disclosure - Share-Based Compensation (Tables)", "menuCat": "Tables", "order": "44", "role": "http://astro-med.com/role/ShareBasedCompensationTables", "shortName": "Share-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1045 - Disclosure - Income Taxes (Tables)", "menuCat": "Tables", "order": "45", "role": "http://astro-med.com/role/IncomeTaxesTables", "shortName": "Income Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1046 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information (Tables)", "menuCat": "Tables", "order": "46", "role": "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationTables", "shortName": "Nature of Operations, Segment Reporting and Geographical Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "div", "us-gaap:ProductWarrantyDisclosureTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1047 - Disclosure - Product Warranty Liability (Tables)", "menuCat": "Tables", "order": "47", "role": "http://astro-med.com/role/ProductWarrantyLiabilityTables", "shortName": "Product Warranty Liability (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:ProductWarrantyDisclosureTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1048 - Disclosure - Fair Value Measurements (Tables)", "menuCat": "Tables", "order": "48", "role": "http://astro-med.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "div", "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "alot:CashEquivalentsMaturityPeriodDescription", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1049 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)", "menuCat": "Details", "order": "49", "role": "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail", "shortName": "Summary of Significant Accounting Policies - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "alot:CashEquivalentsMaturityPeriodDescription", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1005 - Statement - Consolidated Statements of Comprehensive Income", "menuCat": "Statements", "order": "5", "role": "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome", "shortName": "Consolidated Statements of Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn08_04_2022", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1050 - Disclosure - Acquisitions - Summary of Purchase Price of Acquisition Allocated on Basis of Fair Value (Detail)", "menuCat": "Details", "order": "50", "role": "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail", "shortName": "Acquisitions - Summary of Purchase Price of Acquisition Allocated on Basis of Fair Value (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn08_04_2022", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P08_04_2022To08_04_2022", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1051 - Disclosure - Acquisitions - Summary of Fair Value of the Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail)", "menuCat": "Details", "order": "51", "role": "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail", "shortName": "Acquisitions - Summary of Fair Value of the Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P08_04_2022To08_04_2022", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P08_04_2022To01_31_2023_AgreementWithAstroMachineForAssetAcquisitionsMemberusgaapBusinessAcquisitionAxis", "decimals": "-3", "first": true, "lang": null, "name": "alot:BusinessAcquisitionRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1052 - Disclosure - Acquisitions - Summary of Revenue and Earnings Before Taxes (Detail)", "menuCat": "Details", "order": "52", "role": "http://astro-med.com/role/AcquisitionsSummaryOfRevenueAndEarningsBeforeTaxesDetail", "shortName": "Acquisitions - Summary of Revenue and Earnings Before Taxes (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P08_04_2022To01_31_2023_AgreementWithAstroMachineForAssetAcquisitionsMemberusgaapBusinessAcquisitionAxis", "decimals": "-3", "first": true, "lang": null, "name": "alot:BusinessAcquisitionRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "div", "td", "tr", "table", "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023_CustomerRelatedIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1053 - Disclosure - Acquisitions - Summary of Acquired Identifiable Intangible Asset (Detail)", "menuCat": "Details", "order": "53", "role": "http://astro-med.com/role/AcquisitionsSummaryOfAcquiredIdentifiableIntangibleAssetDetail", "shortName": "Acquisitions - Summary of Acquired Identifiable Intangible Asset (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "td", "tr", "table", "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023_CustomerRelatedIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1054 - Disclosure - Acquisitions - Additional Information (Detail)", "menuCat": "Details", "order": "54", "role": "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "shortName": "Acquisitions - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn08_04_2022", "decimals": "0", "lang": null, "name": "us-gaap:AreaOfLand", "reportCount": 1, "unique": true, "unitRef": "Unit_sqft", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1055 - Disclosure - Revenue Recognition - Summary of Revenues Disaggregated by Primary Geographic Markets (Detail)", "menuCat": "Details", "order": "55", "role": "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail", "shortName": "Revenue Recognition - Summary of Revenues Disaggregated by Primary Geographic Markets (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023_OthersCountriesMembersrtStatementGeographicalAxis", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1056 - Disclosure - Revenue Recognition - Summary of Revenues Disaggregated by Primary Product Type (Detail)", "menuCat": "Details", "order": "56", "role": "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryProductTypeDetail", "shortName": "Revenue Recognition - Summary of Revenues Disaggregated by Primary Product Type (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023_HardwareProductsMembersrtProductOrServiceAxis", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1057 - Disclosure - Revenue Recognition - Additional Information (Detail)", "menuCat": "Details", "order": "57", "role": "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail", "shortName": "Revenue Recognition - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1058 - Disclosure - Intangible Assets - Fair Value of Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail)", "menuCat": "Details", "order": "58", "role": "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail", "shortName": "Intangible Assets - Fair Value of Acquired Identifiable Intangible Assets and Related Estimated Useful Lives (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "div", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1059 - Disclosure - Intangible Assets - Additional Information (Detail)", "menuCat": "Details", "order": "59", "role": "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "shortName": "Intangible Assets - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2020", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1006 - Statement - Consolidated Statements of Changes in Shareholders' Equity", "menuCat": "Statements", "order": "6", "role": "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity", "shortName": "Consolidated Statements of Changes in Shareholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis", "decimals": "-3", "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1060 - Disclosure - Intangible Assets - Summary of Estimated Amortization Expense (Detail)", "menuCat": "Details", "order": "60", "role": "http://astro-med.com/role/IntangibleAssetsSummaryOfEstimatedAmortizationExpenseDetail", "shortName": "Intangible Assets - Summary of Estimated Amortization Expense (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "div", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "alot:InventoryDemonstrationEquipment", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1061 - Disclosure - Inventories - Additional Information (Detail)", "menuCat": "Details", "order": "61", "role": "http://astro-med.com/role/InventoriesAdditionalInformationDetail", "shortName": "Inventories - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "alot:InventoryDemonstrationEquipment", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsAndSupplies", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1062 - Disclosure - Inventories - Components of Inventories (Detail)", "menuCat": "Details", "order": "62", "role": "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail", "shortName": "Inventories - Components of Inventories (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsAndSupplies", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LandAndLandImprovements", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1063 - Disclosure - Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail)", "menuCat": "Details", "order": "63", "role": "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail", "shortName": "Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LandAndLandImprovements", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "div", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1064 - Disclosure - Property, Plant and Equipment - Additional Information (Detail)", "menuCat": "Details", "order": "64", "role": "http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail", "shortName": "Property, Plant and Equipment - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1065 - Disclosure - Accrued Expenses - Summary of Accrued Expenses (Detail)", "menuCat": "Details", "order": "65", "role": "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail", "shortName": "Accrued Expenses - Summary of Accrued Expenses (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "lang": null, "name": "us-gaap:AccruedProfessionalFeesCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentCarryingAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1066 - Disclosure - Credit Agreement and Long- Term Debt - Schedule of Long Term Debt in the Accompanying Condensed Consolidated Balance Sheets (Detail)", "menuCat": "Details", "order": "66", "role": "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail", "shortName": "Credit Agreement and Long- Term Debt - Schedule of Long Term Debt in the Accompanying Condensed Consolidated Balance Sheets (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentCarryingAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023_TermLoanMemberusgaapCreditFacilityAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1067 - Disclosure - Credit Agreement and Long- Term Debt- Schedule of Required Principal Payments Remaining on Long Term Debt Outstanding (Detail)", "menuCat": "Details", "order": "67", "role": "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail", "shortName": "Credit Agreement and Long- Term Debt- Schedule of Required Principal Payments Remaining on Long Term Debt Outstanding (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023_TermLoanMemberusgaapCreditFacilityAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:LineOfCredit", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1068 - Disclosure - Credit Agreement and Long- Term Debt - Additional Information (Detail)", "menuCat": "Details", "order": "68", "role": "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "shortName": "Credit Agreement and Long- Term Debt - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:LineOfCredit", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:GainsLossesOnExtinguishmentOfDebt", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1069 - Disclosure - Paycheck Protection Program Loan - Additional information (Detail)", "menuCat": "Details", "order": "69", "role": "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "shortName": "Paycheck Protection Program Loan - Additional information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "alot:DisclosureForPaycheckProtectionProgramLoanTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn05_06_2020_GreenwoodCreditUnionMemberusgaapDebtInstrumentAxis_PaycheckProtectionProgramLoanMemberusgaapCreditFacilityAxis", "decimals": "-5", "lang": null, "name": "us-gaap:DebtInstrumentFaceAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "div", "div", "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2020To01_31_2021", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:CommonStockDividendsPerShareCashPaid", "reportCount": 1, "unique": true, "unitRef": "Unit_USD_per_Share", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1007 - Statement - Consolidated Statements of Changes in Shareholders' Equity (Parenthetical)", "menuCat": "Statements", "order": "7", "role": "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquityParenthetical", "shortName": "Consolidated Statements of Changes in Shareholders' Equity (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "div", "div", "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2020To01_31_2021", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:CommonStockDividendsPerShareCashPaid", "reportCount": 1, "unique": true, "unitRef": "Unit_USD_per_Share", "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P08_01_2021To10_30_2021_CashFlowHedgingMemberusgaapDerivativeInstrumentsGainLossByHedgingRelationshipAxis", "decimals": "-5", "first": true, "lang": null, "name": "alot:CashPaidTerminationOfSwaps", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1070 - Disclosure - Derivative Financial Instruments and Risk Management - Additional Information (Detail)", "menuCat": "Details", "order": "70", "role": "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail", "shortName": "Derivative Financial Instruments and Risk Management - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P08_01_2021To10_30_2021_CashFlowHedgingMemberusgaapDerivativeInstrumentsGainLossByHedgingRelationshipAxis", "decimals": "-5", "first": true, "lang": null, "name": "alot:CashPaidTerminationOfSwaps", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023_CashFlowHedgeMemberusgaapDerivativeInstrumentsGainLossByHedgingRelationshipAxis_CrossCurrencyInterestRateContractMemberusgaapDerivativeInstrumentRiskAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1071 - Disclosure - Derivative Financial Instruments and Risk Management - Schedule of Impact of the Derivative Instruments in the Condensed Consolidated Financial Statements (Detail)", "menuCat": "Details", "order": "71", "role": "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail", "shortName": "Derivative Financial Instruments and Risk Management - Schedule of Impact of the Derivative Instruments in the Condensed Consolidated Financial Statements (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023_CashFlowHedgeMemberusgaapDerivativeInstrumentsGainLossByHedgingRelationshipAxis_CrossCurrencyInterestRateContractMemberusgaapDerivativeInstrumentRiskAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn03_22_2022", "decimals": "-5", "first": true, "lang": null, "name": "alot:ErcReceivables", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1072 - Disclosure - Employee Retention Credit - Additional Information (Detail)", "menuCat": "Details", "order": "72", "role": "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail", "shortName": "Employee Retention Credit - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn03_22_2022", "decimals": "-5", "first": true, "lang": null, "name": "alot:ErcReceivables", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R73": { "firstAnchor": { "ancestors": [ "div", "alot:DisclosureForTheHoneywellRoyaltyObligationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "alot:GuaranteedMinimumRoyaltyPayments", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1073 - Disclosure - Royalty Obligation - Additional Information (Detail)", "menuCat": "Details", "order": "73", "role": "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail", "shortName": "Royalty Obligation - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "alot:DisclosureForTheHoneywellRoyaltyObligationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "alot:GuaranteedMinimumRoyaltyPayments", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R74": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1074 - Disclosure - Leases - Additional Information (Detail)", "menuCat": "Details", "order": "74", "role": "http://astro-med.com/role/LeasesAdditionalInformationDetail", "shortName": "Leases - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R75": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1075 - Disclosure - Leases - Schedule Of Balance Sheet And Other Information Related To Operating Leases (Detail)", "menuCat": "Details", "order": "75", "role": "http://astro-med.com/role/LeasesScheduleOfBalanceSheetAndOtherInformationRelatedToOperatingLeasesDetail", "shortName": "Leases - Schedule Of Balance Sheet And Other Information Related To Operating Leases (Detail)", "subGroupType": "details", "uniqueAnchor": null }, "R76": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023_GeneralAndAdministrativeExpenseMemberusgaapIncomeStatementLocationAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1076 - Disclosure - Leases - Lease Cost Information (Detail)", "menuCat": "Details", "order": "76", "role": "http://astro-med.com/role/LeasesLeaseCostInformationDetail", "shortName": "Leases - Lease Cost Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023_GeneralAndAdministrativeExpenseMemberusgaapIncomeStatementLocationAxis", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R77": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1077 - Disclosure - Leases - Maturities of lease liabilities (Detail)", "menuCat": "Details", "order": "77", "role": "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail", "shortName": "Leases - Maturities of lease liabilities (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R78": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1078 - Disclosure - Leases - Supplemental cash flow information (Detail)", "menuCat": "Details", "order": "78", "role": "http://astro-med.com/role/LeasesSupplementalCashFlowInformationDetail", "shortName": "Leases - Supplemental cash flow information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R79": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2022", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1079 - Disclosure - Accumulated Other Comprehensive Loss - Changes in Balance of Accumulated Other Comprehensive Loss (Detail)", "menuCat": "Details", "order": "79", "role": "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail", "shortName": "Accumulated Other Comprehensive Loss - Changes in Balance of Accumulated Other Comprehensive Loss (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2020_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis", "decimals": "-3", "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1008 - Statement - Consolidated Statements of Cash Flows", "menuCat": "Statements", "order": "8", "role": "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R80": { "firstAnchor": { "ancestors": [ "div", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "INF", "first": true, "lang": null, "name": "alot:StockDeliveredDuringPeriodSharesStockOptionsExercise", "reportCount": 1, "unique": true, "unitRef": "Unit_shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1080 - Disclosure - Shareholders' Equity - Additional information (Detail)", "menuCat": "Details", "order": "80", "role": "http://astro-med.com/role/ShareholdersEquityAdditionalInformationDetail", "shortName": "Shareholders' Equity - Additional information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "INF", "first": true, "lang": null, "name": "alot:StockDeliveredDuringPeriodSharesStockOptionsExercise", "reportCount": 1, "unique": true, "unitRef": "Unit_shares", "xsiNil": "false" } }, "R81": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Unit_shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1081 - Disclosure - Share-Based Compensation - Additional Information (Detail)", "menuCat": "Details", "order": "81", "role": "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail", "shortName": "Share-Based Compensation - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "0", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R82": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockOptionPlanExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1082 - Disclosure - Share-Based Compensation - Share-Based Compensation Expense (Detail)", "menuCat": "Details", "order": "82", "role": "http://astro-med.com/role/ShareBasedCompensationShareBasedCompensationExpenseDetail", "shortName": "Share-Based Compensation - Share-Based Compensation Expense (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockOptionPlanExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R83": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2022", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Unit_shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1083 - Disclosure - Share-Based Compensation - Aggregated Information Regarding Stock Options Granted (Detail)", "menuCat": "Details", "order": "83", "role": "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail", "shortName": "Share-Based Compensation - Aggregated Information Regarding Stock Options Granted (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "INF", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "reportCount": 1, "unique": true, "unitRef": "Unit_shares", "xsiNil": "false" } }, "R84": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Unit_shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1084 - Disclosure - Share-Based Compensation - Summary of Options Outstanding (Detail)", "menuCat": "Details", "order": "84", "role": "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail", "shortName": "Share-Based Compensation - Summary of Options Outstanding (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "2", "lang": null, "name": "us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1", "reportCount": 1, "unique": true, "unitRef": "Unit_USD_per_Share", "xsiNil": "false" } }, "R85": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2022_RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMemberusgaapAwardTypeAxis", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unitRef": "Unit_shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1085 - Disclosure - Share-Based Compensation - Aggregated Information Regarding RSUs and RSAs Granted (Detail)", "menuCat": "Details", "order": "85", "role": "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail", "shortName": "Share-Based Compensation - Aggregated Information Regarding RSUs and RSAs Granted (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2020_RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMemberusgaapAwardTypeAxis", "decimals": "INF", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_shares", "xsiNil": "false" } }, "R86": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1086 - Disclosure - Income Taxes - Components of Income before Income Taxes (Detail)", "menuCat": "Details", "order": "86", "role": "http://astro-med.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetail", "shortName": "Income Taxes - Components of Income before Income Taxes (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R87": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1087 - Disclosure - Income Taxes - Components of Provision for Income Taxes (Detail)", "menuCat": "Details", "order": "87", "role": "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail", "shortName": "Income Taxes - Components of Provision for Income Taxes (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R88": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1088 - Disclosure - Income Taxes - Reconciliation of income tax provision/(benefit) With The Amount Computed By Applying The Statutory Federal Income Tax Rate To The Income Before Income Tax Provision/(benefit) (Detail)", "menuCat": "Details", "order": "88", "role": "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail", "shortName": "Income Taxes - Reconciliation of income tax provision/(benefit) With The Amount Computed By Applying The Statutory Federal Income Tax Rate To The Income Before Income Tax Provision/(benefit) (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R89": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsInventory", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1089 - Disclosure - Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Detail)", "menuCat": "Details", "order": "89", "role": "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail", "shortName": "Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsInventory", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1009 - Disclosure - Summary of Significant Accounting Policies", "menuCat": "Notes", "order": "9", "role": "http://astro-med.com/role/SummaryOfSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R90": { "firstAnchor": { "ancestors": [ "div", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "alot:IncreaseDecreaseInDeferredTaxAssets", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1090 - Disclosure - Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Parenthetical) (Detail)", "menuCat": "Details", "order": "90", "role": "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesParentheticalDetail", "shortName": "Income Taxes - Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities (Parenthetical) (Detail)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "div", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "alot:IncreaseDecreaseInDeferredTaxAssets", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R91": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2022", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefits", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1091 - Disclosure - Income Taxes - Change in Balance of Unrecognized Tax Benefits, Excluding Interest and Penalties (Detail)", "menuCat": "Details", "order": "91", "role": "http://astro-med.com/role/IncomeTaxesChangeInBalanceOfUnrecognizedTaxBenefitsExcludingInterestAndPenaltiesDetail", "shortName": "Income Taxes - Change in Balance of Unrecognized Tax Benefits, Excluding Interest and Penalties (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "lang": null, "name": "us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R92": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1092 - Disclosure - Income Taxes - Additional Information (Detail)", "menuCat": "Details", "order": "92", "role": "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "shortName": "Income Taxes - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_pure", "xsiNil": "false" } }, "R93": { "firstAnchor": { "ancestors": [ "div", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1093 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Additional Information (Detail)", "menuCat": "Details", "order": "93", "role": "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail", "shortName": "Nature of Operations, Segment Reporting and Geographical Information - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Segment", "xsiNil": "false" } }, "R94": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1094 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Net Sales and Segment Operating Profit (loss) for Each Reporting Segment (Detail)", "menuCat": "Details", "order": "94", "role": "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "shortName": "Nature of Operations, Segment Reporting and Geographical Information - Net Sales and Segment Operating Profit (loss) for Each Reporting Segment (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "3", "lang": null, "name": "alot:PercentageOfOperatingProfitToNetSales", "reportCount": 1, "unique": true, "unitRef": "Unit_pure", "xsiNil": "false" } }, "R95": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Assets", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1095 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Summary of Other Information by Segment (Detail)", "menuCat": "Details", "order": "95", "role": "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail", "shortName": "Nature of Operations, Segment Reporting and Geographical Information - Summary of Other Information by Segment (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock", "ix:continuation", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023_OperatingSegmentsMembersrtConsolidationItemsAxis_ProductIdentificationMemberusgaapStatementBusinessSegmentsAxis", "decimals": "-3", "lang": null, "name": "us-gaap:Assets", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R96": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1096 - Disclosure - Nature of Operations, Segment Reporting and Geographical Information - Summary of Selected Financial Information by Geographic Area (Detail)", "menuCat": "Details", "order": "96", "role": "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail", "shortName": "Nature of Operations, Segment Reporting and Geographical Information - Summary of Selected Financial Information by Geographic Area (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2023", "decimals": "-3", "lang": null, "name": "us-gaap:NoncurrentAssets", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R97": { "firstAnchor": { "ancestors": [ "div", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1097 - Disclosure - Employee Benefit Plans - Additional Information (Detail)", "menuCat": "Details", "order": "97", "role": "http://astro-med.com/role/EmployeeBenefitPlansAdditionalInformationDetail", "shortName": "Employee Benefit Plans - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R98": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "PAsOn01_31_2022", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent", "reportCount": 1, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1098 - Disclosure - Product Warranty Liability - Activity in Product Warranty Liability (Detail)", "menuCat": "Details", "order": "98", "role": "http://astro-med.com/role/ProductWarrantyLiabilityActivityInProductWarrantyLiabilityDetail", "shortName": "Product Warranty Liability - Activity in Product Warranty Liability (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "ix:continuation", "us-gaap:ProductWarrantyDisclosureTextBlock", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "lang": null, "name": "us-gaap:ProductWarrantyAccrualWarrantiesIssued", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } }, "R99": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "alot:Reimbursementreceivedfromvendor", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "1099 - Disclosure - Product Warranty Liability - Additional Information (Detail)", "menuCat": "Details", "order": "99", "role": "http://astro-med.com/role/ProductWarrantyLiabilityAdditionalInformationDetail", "shortName": "Product Warranty Liability - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "div", "div", "div", "div", "body", "html" ], "baseRef": "d415415d10k.htm", "contextRef": "P02_01_2022To01_31_2023", "decimals": "-3", "first": true, "lang": null, "name": "alot:Reimbursementreceivedfromvendor", "reportCount": 1, "unique": true, "unitRef": "Unit_USD", "xsiNil": "false" } } }, "segmentCount": 108, "tag": { "alot_AccruedFreight": { "auth_ref": [], "calculation": { "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail": { "order": 8.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued freight.", "label": "Accrued Freight", "terseLabel": "Freight" } } }, "localname": "AccruedFreight", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail" ], "xbrltype": "monetaryItemType" }, "alot_AccruedPayrollAndSalesTaxesCurrent": { "auth_ref": [], "calculation": { "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued payroll and sales taxes current.", "label": "Accrued Payroll and Sales Taxes Current", "terseLabel": "Accrued Property & Sales Tax" } } }, "localname": "AccruedPayrollAndSalesTaxesCurrent", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail" ], "xbrltype": "monetaryItemType" }, "alot_AccruedRoyaltiesCurrentExcessRoyaltyPaymentDue": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 26.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued royalties in excess of guaranteed minimum royalty obligation- amount due within one year.", "label": "Accrued Royalties, Current, Excess Royalty Payment Due", "positiveLabel": "Accrued Royalties, Current, Excess Royalty Payment Due", "verboseLabel": "Current Liability\u2014Excess Royalty Payment Due" } } }, "localname": "AccruedRoyaltiesCurrentExcessRoyaltyPaymentDue", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_AccruedStockHolderRelationFees": { "auth_ref": [], "calculation": { "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail": { "order": 6.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued stock holder relation fees.", "label": "Accrued Stock Holder Relation Fees", "terseLabel": "Stockholder Relation Fees" } } }, "localname": "AccruedStockHolderRelationFees", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail" ], "xbrltype": "monetaryItemType" }, "alot_AdditionalCapitalizedContractCostsAmortizationPeriodRemaining": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Amortization period remaining for additional capitalized contract costs.", "label": "Additional Capitalized Contract Costs Amortization Period Remaining", "terseLabel": "Capitalized contract costs additional amounts incurred amortization period" } } }, "localname": "AdditionalCapitalizedContractCostsAmortizationPeriodRemaining", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "durationItemType" }, "alot_AdditionalForeignTaxCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Additional Foreign Tax Credit [Member]", "terseLabel": "Additional Foreign Tax Credit [Member]" } } }, "localname": "AdditionalForeignTaxCreditMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_AdditionalTermLoanAvailedMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Additional term loan availed.", "label": "Additional Term Loan Availed [Member]", "terseLabel": "Additional Term Loan Availed [Member]" } } }, "localname": "AdditionalTermLoanAvailedMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_AerospaceCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Aerospace customer.", "label": "Aerospace Customer [Member]" } } }, "localname": "AerospaceCustomerMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_AgreementWithAstroMachineForAssetAcquisitionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agreement with astro machine for asset acquisitions.", "label": "Agreement With Astro Machine For Asset Acquisitions [Member]", "terseLabel": "Agreement With Astro Machine For Asset Acquisitions [Member]" } } }, "localname": "AgreementWithAstroMachineForAssetAcquisitionsMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/AcquisitionsSummaryOfRevenueAndEarningsBeforeTaxesDetail", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "alot_AirborneProductMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Airborne product.", "label": "Airborne Product [Member]", "terseLabel": "Airborne Product [Member]" } } }, "localname": "AirborneProductMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_BankOfAmericaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Bank of america.", "label": "Bank Of America [Member]", "terseLabel": "Bank of America, N.A. [Member]" } } }, "localname": "BankOfAmericaMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_BeforeAmendmentToTheCreditAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Before amendment to the credit agreement.", "label": "Before Amendment To The Credit Agreement [Member]", "terseLabel": "Before Amendment To The Credit Agreement [Member]" } } }, "localname": "BeforeAmendmentToTheCreditAgreementMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_BuildingAndLeaseholdImprovementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Building And Leasehold Improvements [Member]", "label": "Building And Leasehold Improvements [Member]", "terseLabel": "Building And Leasehold Improvements [Member]" } } }, "localname": "BuildingAndLeaseholdImprovementsMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_BusinessAcquisitionEarningBeforeTaxes": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Business acquisition earning before taxes from date of acquisition.", "label": "Business Acquisition Earning Before Taxes", "terseLabel": "Earnings before Taxes" } } }, "localname": "BusinessAcquisitionEarningBeforeTaxes", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfRevenueAndEarningsBeforeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "alot_BusinessAcquisitionProFormaInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Business acquisition pro forma information.", "label": "Business Acquisition Pro Forma Information [Line Items]" } } }, "localname": "BusinessAcquisitionProFormaInformationLineItems", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfRevenueAndEarningsBeforeTaxesDetail" ], "xbrltype": "stringItemType" }, "alot_BusinessAcquisitionProFormaInformationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Business acquisition pro forma information.", "label": "Business Acquisition Pro Forma Information [Table]" } } }, "localname": "BusinessAcquisitionProFormaInformationTable", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfRevenueAndEarningsBeforeTaxesDetail" ], "xbrltype": "stringItemType" }, "alot_BusinessAcquisitionRevenue": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Business acquisition revenue from date of acquisition.", "label": "Business Acquisition Revenue", "terseLabel": "Revenue" } } }, "localname": "BusinessAcquisitionRevenue", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfRevenueAndEarningsBeforeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "alot_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedGoodwill": { "auth_ref": [], "calculation": { "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail": { "order": 7.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Business combination, recognized identifiable assets acquired and liabilities assumed, goodwill.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Goodwill", "terseLabel": "Goodwill" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedGoodwill", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail" ], "xbrltype": "monetaryItemType" }, "alot_CapitalizedContractCostNetLongTermAndShortTerm": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Capitalized contract cost net long term and short term.", "label": "Capitalized Contract Cost Net Long Term And Short Term", "terseLabel": "Capitalized contract cost net long term and short term" } } }, "localname": "CapitalizedContractCostNetLongTermAndShortTerm", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_CapitalizedContractCostsAdditionalAmountsIncurredAmortizationPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Capitalized contract costs additional amounts incurred amortization period.", "label": "Capitalized Contract Costs Additional Amounts Incurred Amortization Period", "terseLabel": "Capitalized contract costs additional amounts incurred amortization period" } } }, "localname": "CapitalizedContractCostsAdditionalAmountsIncurredAmortizationPeriod", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "durationItemType" }, "alot_CaresActMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cares Act [Member]", "terseLabel": "Cares Act [Member]" } } }, "localname": "CaresActMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_CashEquivalentsMaturityPeriodDescription": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cash equivalents maturity period description.", "label": "Cash Equivalents Maturity Period Description", "terseLabel": "Highly liquid investments with an original maturity" } } }, "localname": "CashEquivalentsMaturityPeriodDescription", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_CashFlowHedgeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cash flow hedge.", "label": "Cash Flow Hedge [Member]", "terseLabel": "Cash Flow Hedge [Member]" } } }, "localname": "CashFlowHedgeMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "domainItemType" }, "alot_CashHeldInForeignBankAccounts": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash held in foreign bank accounts.", "label": "Cash Held In Foreign Bank Accounts", "terseLabel": "Cash of held in foreign bank accounts" } } }, "localname": "CashHeldInForeignBankAccounts", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash paid for amounts included in the measurement of lease liabilities [Abstract]", "verboseLabel": "Cash paid for amounts included in the measurement of lease liabilities [Abstract]" } } }, "localname": "CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/LeasesSupplementalCashFlowInformationDetail" ], "xbrltype": "stringItemType" }, "alot_CashPaidTerminationOfSwaps": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Cash paid termination of swaps.", "label": "Cash Paid Termination Of Swaps", "terseLabel": "Cash paid termination of swaps" } } }, "localname": "CashPaidTerminationOfSwaps", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_CentralAndSouthAmericaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Central and South America.", "label": "Central And South America [Member]", "terseLabel": "Central and South America [Member]" } } }, "localname": "CentralAndSouthAmericaMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail" ], "xbrltype": "domainItemType" }, "alot_ComputerEquipmentAndSoftwareMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Computer Equipment And Software [Member]", "label": "Computer Equipment And Software [Member]", "terseLabel": "Computer Equipment And Software [Member]" } } }, "localname": "ComputerEquipmentAndSoftwareMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_ContractWithCustomerLiabilityRevenueRecognizedIncludingAdditions": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Contract with customer liability revenue recognized including additions.", "label": "Contract With Customer Liability Revenue Recognized Including Additions", "terseLabel": "Revenue recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognizedIncludingAdditions", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_CreditAgreementAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Credit Agreement", "label": "Credit Agreement [Axis]" } } }, "localname": "CreditAgreementAxis", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_CreditAgreementDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Credit Agreement", "label": "Credit Agreement [Domain]" } } }, "localname": "CreditAgreementDomain", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_CustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Customer [Member]", "terseLabel": "Customer [Member]" } } }, "localname": "CustomerMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_DebtInstrumentAdditionalBasisSpread": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt instrument additional basis spread.", "label": "Debt Instrument Additional Basis Spread", "verboseLabel": "Percentage added to variable rate" } } }, "localname": "DebtInstrumentAdditionalBasisSpread", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "alot_DecreaseInAmortizationExpenseDueToChangeOfAmortizationMethod": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Decrease In amortization expense", "label": "Decrease In Amortization Expense Due to Change of Amortization Method", "terseLabel": "Decrease In amortization expense" } } }, "localname": "DecreaseInAmortizationExpenseDueToChangeOfAmortizationMethod", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_DeferredTaxAssetsAccountingStandardAdjustmentLeaseLiability": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 16.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Deferred Tax Assets Accounting Standard Adjustment Lease Liability", "label": "Deferred Tax Assets Accounting Standard Adjustment Lease Liability", "terseLabel": "ASU 842 Adjustment \u2013 Lease Liability" } } }, "localname": "DeferredTaxAssetsAccountingStandardAdjustmentLeaseLiability", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "alot_DeferredTaxAssetsCapitalization": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 17.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Deferred tax assets capitalization.", "label": "Deferred Tax Assets Capitalization", "terseLabel": "Section 174 Capitalization" } } }, "localname": "DeferredTaxAssetsCapitalization", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "alot_DeferredTaxAssetsCompensationAccruals": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 8.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Deferred tax assets compensation accruals.", "label": "Deferred Tax Assets Compensation Accruals", "terseLabel": "Compensation Accrual" } } }, "localname": "DeferredTaxAssetsCompensationAccruals", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "alot_DeferredTaxAssetsDeferredServiceContractRevenue": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 11.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Deferred tax assets deferred service contract revenue.", "label": "Deferred Tax Assets Deferred Service Contract Revenue", "terseLabel": "Deferred Service Contract Revenue" } } }, "localname": "DeferredTaxAssetsDeferredServiceContractRevenue", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "alot_DeferredTaxAssetsLiabilitiesGross": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Deferred tax assets liabilities gross.", "label": "Deferred Tax Assets Liabilities Gross", "totalLabel": "Subtotal" } } }, "localname": "DeferredTaxAssetsLiabilitiesGross", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "alot_DeferredTaxAssetsOperatingLossCarryforwardsExpirationPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Deferred tax assets operating loss carryforwards expiration period.", "label": "Deferred Tax Assets Operating Loss Carryforwards Expiration Period", "terseLabel": "Deferred tax assets operating loss carryforwards expiration period" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwardsExpirationPeriod", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_DeferredTaxAssetsRoyaltyLiability": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 5.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Deferred tax assets, royalty liability.", "label": "Deferred Tax Assets, Royalty Liability", "terseLabel": "Honeywell Royalty Liability" } } }, "localname": "DeferredTaxAssetsRoyaltyLiability", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "alot_DeferredTaxAssetsTaxCreditCarryforwardsExpirationPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Deferred tax assets tax credit carryforwards expiration period.", "label": "Deferred Tax Assets Tax credit Carryforwards Expiration Period", "terseLabel": "Deferred tax assets tax credit carryforwards expiration period" } } }, "localname": "DeferredTaxAssetsTaxCreditCarryforwardsExpirationPeriod", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_DeferredTaxAssetsUnrecognizedTaxBenefits": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 10.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Deferred tax assets unrecognized tax benefits.", "label": "Deferred Tax Assets Unrecognized Tax Benefits", "terseLabel": "Unrecognized State Tax Benefits" } } }, "localname": "DeferredTaxAssetsUnrecognizedTaxBenefits", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "alot_DeferredTaxLiabilityAccountingStandardAdjustmentLeaseLiability": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 22.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Deferred Tax Liability Accounting Standard Adjustment Lease Liability", "label": "Deferred Tax Liability Accounting Standard Adjustment Lease Liability", "terseLabel": "ASU 842 Adjustment \u2013 Lease Liability" } } }, "localname": "DeferredTaxLiabilityAccountingStandardAdjustmentLeaseLiability", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "alot_DetailsAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Details [Axis].", "label": "Details [Axis]" } } }, "localname": "DetailsAxis", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_DetailsDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Details [Domain].", "label": "Details [Domain]" } } }, "localname": "DetailsDomain", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_DetailsOfIncomeTaxBenefitAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Details Of Income Tax Benefit [Axis]" } } }, "localname": "DetailsOfIncomeTaxBenefitAxis", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_DetailsOfIncomeTaxBenefitDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Details Of Income Tax Benefit [Domain]" } } }, "localname": "DetailsOfIncomeTaxBenefitDomain", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_DetailsOneAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Details One [Axis].", "label": "Details One [Axis]" } } }, "localname": "DetailsOneAxis", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_DetailsOneDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Details One [Domain].", "label": "Details One [Domain]" } } }, "localname": "DetailsOneDomain", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_DisclosureForEmployeeRetentionCreditTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure for Employee retention credit.", "label": "Disclosure For Employee Retention Credit [Text Block]", "terseLabel": "Employee Retention Credit" } } }, "localname": "DisclosureForEmployeeRetentionCreditTextBlock", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCredit" ], "xbrltype": "textBlockItemType" }, "alot_DisclosureForPaycheckProtectionProgramLoanTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure for Paycheck Protection Program Loan.", "label": "Disclosure For Paycheck Protection Program Loan [Text Block]", "terseLabel": "Paycheck Protection Program Loan" } } }, "localname": "DisclosureForPaycheckProtectionProgramLoanTextBlock", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/PaycheckProtectionProgramLoan" ], "xbrltype": "textBlockItemType" }, "alot_DisclosureForTheHoneywellRoyaltyObligationTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure for the honeywell royalty obligation.", "label": "Disclosure For The Honeywell Royalty Obligation [Text Block]", "terseLabel": "Royalty Obligation" } } }, "localname": "DisclosureForTheHoneywellRoyaltyObligationTextBlock", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RoyaltyObligation" ], "xbrltype": "textBlockItemType" }, "alot_DistributorRelationsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Distributor relations.", "label": "Distributor Relations [Member]", "terseLabel": "Distributor Relations [Member]" } } }, "localname": "DistributorRelationsMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "alot_EmployeeRetentionCredit": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Employee retention credit.", "label": "Employee Retention Credit", "terseLabel": "Employee retention credit" } } }, "localname": "EmployeeRetentionCredit", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_EmployeeRetentionCreditDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Employee retention credit disclosure.", "label": "Employee Retention Credit Disclosure [Abstract]", "terseLabel": "Employee Retention Credit Disclosure [Abstract]" } } }, "localname": "EmployeeRetentionCreditDisclosureAbstract", "nsuri": "http://astro-med.com/20230131", "xbrltype": "stringItemType" }, "alot_EmployeeRetentionCreditDisclosureLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Employee retention credit disclosure [Line item].", "label": "Employee Retention Credit Disclosure [Line Items]" } } }, "localname": "EmployeeRetentionCreditDisclosureLineItems", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_EmployeeRetentionCreditDisclosureTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Employee retention credit disclosure [Table ].", "label": "Employee Retention Credit Disclosure [Table]" } } }, "localname": "EmployeeRetentionCreditDisclosureTable", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_EmployeeRetentionCreditReceivableGeneralAndAdministrativeExpenses": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of refundable payroll taxes to be recognized as a reduction of general and administrative expenses related to the Employee Retention Credit granted under the CARES act.", "label": "Employee Retention Credit Receivable - general and administrative expenses" } } }, "localname": "EmployeeRetentionCreditReceivableGeneralAndAdministrativeExpenses", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_EmployeeRetentionCreditReceivableResearchAndDevelopment": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Employee Retention Credit Receivable - Research and Development.", "label": "Employee Retention Credit Receivable Research and Development", "terseLabel": "Employee Retention Credit Receivable - research and development" } } }, "localname": "EmployeeRetentionCreditReceivableResearchAndDevelopment", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_EmployeeRetentionCreditReceivableSellingAndMarketing": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of refundable payroll taxes to be recognized as a reduction of selling and marketing expense related to the Employee Retention Credit granted under the CARES act.", "label": "Employee Retention Credit Receivable Selling and Marketing", "terseLabel": "Employee Retention Credit Receivable - selling and marketing" } } }, "localname": "EmployeeRetentionCreditReceivableSellingAndMarketing", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_EmployeeRetentionCreditReceivables": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of refundable payroll taxes received.", "label": "Employee Retention Credit Receivables", "terseLabel": "Employee retention credit receivables" } } }, "localname": "EmployeeRetentionCreditReceivables", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_EmployeeRetentionCreditReceived": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of ERC refundable payroll taxes received.", "label": "Employee Retention Credit Received", "terseLabel": "Employee retention credit received" } } }, "localname": "EmployeeRetentionCreditReceived", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_EmployeeStockPurchasePlanExpense": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ShareBasedCompensationShareBasedCompensationExpenseDetail": { "order": 3.0, "parentTag": "us-gaap_ShareBasedCompensation", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Employee stock purchase plan expense.", "label": "Employee Stock Purchase Plan Expense", "verboseLabel": "Employee Stock Purchase Plan" } } }, "localname": "EmployeeStockPurchasePlanExpense", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationShareBasedCompensationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "alot_EmployeeStockPurchasePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Employee stock purchase plan.", "label": "Employee Stock Purchase Plan [Member]", "terseLabel": "Employee Stock Purchase Plan [Member]" } } }, "localname": "EmployeeStockPurchasePlanMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_ErcReceivables": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount receivable for Employee Retention Credit .", "label": "Erc Receivables", "terseLabel": "ERC receivables", "verboseLabel": "Employee Retention Credit Receivable" } } }, "localname": "ErcReceivables", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_ExcessRoyaltyPayments": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of royalty expense paid in excess of guaranteed minimum payments.", "label": "Excess Royalty Payments" } } }, "localname": "ExcessRoyaltyPayments", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_ExistingTechnologyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Existing technology.", "label": "Existing Technology [Member]", "terseLabel": "Existing Technology [Member]" } } }, "localname": "ExistingTechnologyMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "alot_FairValueOfIntangibleAssetsMeasurementInput": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fair value of intangible assets measurement input.", "label": "Fair Value Of Intangible Assets Measurement Input", "terseLabel": "Fair Value Of Intangible Assets Measurement Input" } } }, "localname": "FairValueOfIntangibleAssetsMeasurementInput", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "decimalItemType" }, "alot_FiniteLivedIntangibleAssetsForeignCurrencyTranslationAdjustment": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Finite-lived\u200b intangible assets foreign currency translation adjustment.", "label": "Finite Lived Intangible Assets Foreign Currency Translation Adjustment", "terseLabel": "Currency Translation Adjustment" } } }, "localname": "FiniteLivedIntangibleAssetsForeignCurrencyTranslationAdjustment", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "monetaryItemType" }, "alot_GreenwoodCreditUnionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Green wood credit union.", "label": "Greenwood Credit Union [Member]", "verboseLabel": "Green wood Credit Union [Member]" } } }, "localname": "GreenwoodCreditUnionMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_GuaranteedMinimumRoyaltyPayments": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Total Amount paid to date on the Guaranteed Minimum Royalty Obligation.", "label": "Guaranteed Minimum Royalty Payments" } } }, "localname": "GuaranteedMinimumRoyaltyPayments", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_HardwareProductsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Hardware products.", "label": "Hardware Products [Member]", "terseLabel": "Hardware [Member]" } } }, "localname": "HardwareProductsMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryProductTypeDetail" ], "xbrltype": "domainItemType" }, "alot_HoneywellAssetPurchaseAndLicenseAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Honeywell Asset Purchase and License Agreement [Member]", "label": "Honeywell Asset Purchase and License Agreement [Member]", "terseLabel": "Honeywell Asset Purchase and License Agreement [Member]", "verboseLabel": "Honeywell Asset Purchase and License Agreement [Member]" } } }, "localname": "HoneywellAssetPurchaseAndLicenseAgreementMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail", "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_IncomeTaxReconciliationGlobalIntangibleLowTaxedIncome": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 12.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Income tax reconciliation global intangible low taxed income.", "label": "Income Tax Reconciliation Global Intangible Low Taxed Income", "negatedLabel": "Global Intangible Low Taxed Income" } } }, "localname": "IncomeTaxReconciliationGlobalIntangibleLowTaxedIncome", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "alot_IncomeTaxReconciliationOtherAdjustmentsStatuoryAudit": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 13.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Income Tax Reconciliation Other Adjustments Statuory Audit", "label": "Income Tax Reconciliation Other Adjustments Statuory Audit", "negatedLabel": "Denmark Statutory Audit" } } }, "localname": "IncomeTaxReconciliationOtherAdjustmentsStatuoryAudit", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "alot_IncomeTaxReconciliationOtherAdjustmentsWithholdingTaxes": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 14.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Income Tax Reconciliation Other Adjustments Withholding Taxes", "label": "Income Tax Reconciliation Other Adjustments Withholding Taxes", "negatedLabel": "Canada Withholding Taxes" } } }, "localname": "IncomeTaxReconciliationOtherAdjustmentsWithholdingTaxes", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "alot_IncomeTaxReconciliationPppLoanForgiveness": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 15.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Income tax reconciliation ppp loan forgiveness.", "label": "Income Tax Reconciliation PPP Loan Forgiveness", "terseLabel": "PPP Loan Forgiveness" } } }, "localname": "IncomeTaxReconciliationPppLoanForgiveness", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "alot_Incometaxreconciliationchangeinreserves": { "auth_ref": [], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 11.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Income tax reconciliation change in reserves.", "label": "IncomeTaxReconciliationChangeInReserves", "terseLabel": "Change in Reserves Related to ASC 740 Liability" } } }, "localname": "Incometaxreconciliationchangeinreserves", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "alot_IncreaseDecreaseInDeferredTaxAssets": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Increase decrease in deferred tax assets.", "label": "Increase Decrease In Deferred Tax Assets", "terseLabel": "Increase decrease in deferred tax assets" } } }, "localname": "IncreaseDecreaseInDeferredTaxAssets", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesParentheticalDetail" ], "xbrltype": "monetaryItemType" }, "alot_IncreaseInNetIncomeDueToChangeInTheMethodOfAmortization": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Increase in net income due to change in the method of amortization.", "label": "Increase In Net Income Due To Change In The Method Of Amortization", "terseLabel": "Increase in net income due to change of amortization method" } } }, "localname": "IncreaseInNetIncomeDueToChangeInTheMethodOfAmortization", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_IntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Intangible Assets [Line Items]", "label": "Intangible Assets [Line Items]" } } }, "localname": "IntangibleAssetsLineItems", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_IntangibleAssetsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Intangible Assets [Table]", "label": "Intangible Assets [Table]" } } }, "localname": "IntangibleAssetsTable", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_InventoryDemonstrationEquipment": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Inventory demonstration equipment.", "label": "Inventory Demonstration Equipment", "terseLabel": "Inventory demonstration equipment" } } }, "localname": "InventoryDemonstrationEquipment", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/InventoriesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_MaximumThresholdEmployeeRetentionCreditPerEmployeePerCalendarQuarter": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Maximum threshold employee retention credit per employee per calendar quarter.", "label": "Maximum Threshold Employee Retention Credit Per Employee Per Calendar Quarter", "terseLabel": "Maximum threshold employee retention credit per employee per calendar quarter" } } }, "localname": "MaximumThresholdEmployeeRetentionCreditPerEmployeePerCalendarQuarter", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_MeasurementInputCustomerAttritionRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement input customer attrition rate.", "label": "Measurement Input Customer Attrition Rate [Member]" } } }, "localname": "MeasurementInputCustomerAttritionRateMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_MeasurementInputRoyaltyRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement input royalty rate.", "label": "Measurement Input Royalty Rate [Member]" } } }, "localname": "MeasurementInputRoyaltyRateMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_MiltopeCorporationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Miltope Corporation [Member]", "label": "Miltope Corporation [Member]", "terseLabel": "Miltope [Member]" } } }, "localname": "MiltopeCorporationMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "alot_MinimumRoyaltyPaymentObligation": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Minimum Royalty Payment Obligation.", "label": "Minimum Royalty Payment Obligation", "verboseLabel": "Minimum Royalty Payment Obligation" } } }, "localname": "MinimumRoyaltyPaymentObligation", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_NonCurrentLiabilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Non current liability.", "label": "Non Current Liability [Member]" } } }, "localname": "NonCurrentLiabilityMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_NumberOfAcresOfLand": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of acres of land.", "label": "Number of Acres of land", "terseLabel": "Number of Acres of land" } } }, "localname": "NumberOfAcresOfLand", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_NumberOfCustomersAccountingForCreditRisk": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of customers accounting for credit risk.", "label": "Number Of Customers Accounting For Credit Risk", "terseLabel": "Customer accounted for greater than 10% of net sales" } } }, "localname": "NumberOfCustomersAccountingForCreditRisk", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail" ], "xbrltype": "integerItemType" }, "alot_OperatingLeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Leases [Abstract]", "verboseLabel": "Operating Leases [Abstract]" } } }, "localname": "OperatingLeasesAbstract", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/LeasesScheduleOfBalanceSheetAndOtherInformationRelatedToOperatingLeasesDetail" ], "xbrltype": "stringItemType" }, "alot_OtherCountriesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other countries.", "label": "Other Countries [Member]", "terseLabel": "Other [Member]" } } }, "localname": "OtherCountriesMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail" ], "xbrltype": "domainItemType" }, "alot_OtherEmployeeRetentionCreditReceivable": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 25.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount currently receivable for refundable payroll taxes to be received from the Employee Retention Credit granted under the CARES act.", "label": "Other Employee Retention Credit Receivable", "negatedLabel": "Other Receivable \u2013 Employee Retention Credit Receivable" } } }, "localname": "OtherEmployeeRetentionCreditReceivable", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "alot_OthersCountriesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Others Countries [Member]", "label": "Others Countries [Member]", "terseLabel": "Other [Member]" } } }, "localname": "OthersCountriesMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail" ], "xbrltype": "domainItemType" }, "alot_PaycheckProtectionProgramLoanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Paycheck Protection Program Loan [Member]", "terseLabel": "Paycheck Protection Program Loan [Member]", "verboseLabel": "Paycheck Protection Program Loan [Member]" } } }, "localname": "PaycheckProtectionProgramLoanMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_PaymentTermPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Payment term period.", "label": "Payment Term Period" } } }, "localname": "PaymentTermPeriod", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "durationItemType" }, "alot_PaymentsOfMinimumGuaranteeRoyaltyObligation": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Cash Outflow of Minimum Guarantee Royalty Obligation", "label": "Payments Of Minimum Guarantee Royalty Obligation", "negatedLabel": "Payment of Minimum Guarantee Royalty Obligation" } } }, "localname": "PaymentsOfMinimumGuaranteeRoyaltyObligation", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "alot_PercentageOfOperatingProfitToNetSales": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of operating profit to net sales.", "label": "Percentage Of Operating Profit To Net Sales", "terseLabel": "Segment Operating Profit % of Net Sales" } } }, "localname": "PercentageOfOperatingProfitToNetSales", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail" ], "xbrltype": "percentItemType" }, "alot_PercentageOfReductionOfGrossReceiptsToQualifyForEmployeeRetentionCredit": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of reduction of gross Receipts to qualify for employee retention credit.", "label": "Percentage of Reduction of Gross Receipts to Qualify for Employee Retention Credit", "terseLabel": "Percentage of reduction of gross Receipts to qualify for employee retention credit" } } }, "localname": "PercentageOfReductionOfGrossReceiptsToQualifyForEmployeeRetentionCredit", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "alot_PercentageOfRefundableTaxCreditCanBeClaimedOnQualifiedWages": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of refundable tax credit can be claimed of qualified wages.", "label": "Percentage of Refundable Tax Credit can be Claimed on Qualified Wages", "terseLabel": "Percentage of refundable tax credit can be claimed of qualified wages" } } }, "localname": "PercentageOfRefundableTaxCreditCanBeClaimedOnQualifiedWages", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "alot_PercentageOfServiceRevenueToTotalRevenue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of service revenue to total revenue.", "label": "Percentage Of Service Revenue To Total Revenue", "terseLabel": "Percentage of revenue satisfied for services" } } }, "localname": "PercentageOfServiceRevenueToTotalRevenue", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "alot_PeriodAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period.", "label": "Period [Axis]" } } }, "localname": "PeriodAxis", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_PeriodDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period.", "label": "Period [Domain]" } } }, "localname": "PeriodDomain", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_PriorEmployeeStockPurchasePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Prior employee stock purchase plan member.", "label": "Prior Employee Stock Purchase Plan [Member]", "terseLabel": "Prior Employee Stock Purchase Plan [Member]" } } }, "localname": "PriorEmployeeStockPurchasePlanMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_ProceedsFromIssuanceOfPaycheckProtectionProgramLoan": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Proceeds from issuance of paycheck protection program loan.", "label": "Proceeds From Issuance Of Paycheck Protection Program Loan", "terseLabel": "Proceeds from Long-Term Debt \u2013 PPP Loan" } } }, "localname": "ProceedsFromIssuanceOfPaycheckProtectionProgramLoan", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "alot_ProductIdentificationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Product identification.", "label": "Product Identification [Member]", "terseLabel": "Product Identification [Member]" } } }, "localname": "ProductIdentificationMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "domainItemType" }, "alot_ProductsWarrantyPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Products warranty period.", "label": "Products Warranty Period", "terseLabel": "Products warranty period" } } }, "localname": "ProductsWarrantyPeriod", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "durationItemType" }, "alot_PromissoryNoteMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Promissory Note [Member]" } } }, "localname": "PromissoryNoteMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_PurchasePriceIntoAnEscrowAccount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Purchase price into an escrow account.", "label": "Purchase Price Into an Escrow Account", "terseLabel": "Purchase price into an escrow account" } } }, "localname": "PurchasePriceIntoAnEscrowAccount", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_RangeFiveMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Range five.", "label": "Range Five [Member]", "terseLabel": "$15.01 - $20.00 [Member]" } } }, "localname": "RangeFiveMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "domainItemType" }, "alot_RangeFourMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Range four.", "label": "Range Four [Member]", "terseLabel": "$10.01 - $15.00 [Member]" } } }, "localname": "RangeFourMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "domainItemType" }, "alot_RangeThreeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Range three.", "label": "Range Three [Member]", "terseLabel": "$5.00 - $10.00 [Member]" } } }, "localname": "RangeThreeMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "domainItemType" }, "alot_ReclassifcationOfInventoriesToPropertyPlantAndEquipment": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Reclassifcation of inventories to property, plant and equipment.", "label": "Reclassifcation of Inventories to Property, Plant and Equipment", "verboseLabel": "Reclassifcation of Inventories to Property, Plant and Equipment" } } }, "localname": "ReclassifcationOfInventoriesToPropertyPlantAndEquipment", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "alot_RecognitionOfIntangibleAssetAndRoyaltyPayableRelatedToAssetPurchaseAndLicenseAgreement": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Recognition of intangible asset and royalty payable related to asset purchase and license agreement.", "label": "Recognition Of Intangible Asset And Royalty Payable Related To Asset Purchase And License Agreement", "terseLabel": "Recognize intangible asset and royalty payable related to Honeywell Asset Purchase and License Agreement" } } }, "localname": "RecognitionOfIntangibleAssetAndRoyaltyPayableRelatedToAssetPurchaseAndLicenseAgreement", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "alot_Reimbursementreceivedfromvendor": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Reimbursement received from vendor", "label": "ReimbursementReceivedFromVendor", "verboseLabel": "Reimbursement received from vendor" } } }, "localname": "Reimbursementreceivedfromvendor", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ProductWarrantyLiabilityAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_ReservationOfSharesUnderEmployeeStockPurchasePlan": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Reservation of shares under employee stock purchase plan.", "label": "Reservation Of Shares Under Employee Stock Purchase Plan", "terseLabel": "Reservation of shares under Stock Purchase Plan" } } }, "localname": "ReservationOfSharesUnderEmployeeStockPurchasePlan", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "sharesItemType" }, "alot_RestrictedStockAwardMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Restricted stock award.", "label": "Restricted Stock Award [Member]" } } }, "localname": "RestrictedStockAwardMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Restricted stock award preferred stock unit and restricted stock unit member.", "label": "Restricted Stock Award Preferred Stock Unit And Restricted Stock Unit [Member]" } } }, "localname": "RestrictedStockAwardPreferredStockUnitAndRestrictedStockUnitMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "domainItemType" }, "alot_RoyaltyGuaranteeCommitementAmountDueCurrentAndNonCurrentDiscountedValue": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Royalty guarantee commitement amount due current and non current discounted value.", "label": "Royalty Guarantee Commitement Amount Due Current and Non Current Discounted Value", "terseLabel": "Royalty guarantee commitement due current and non current discounted value" } } }, "localname": "RoyaltyGuaranteeCommitementAmountDueCurrentAndNonCurrentDiscountedValue", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_RoyaltyGuaranteesCommitmentsAmountNonCurrent": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Royalty guarantees commitments amount non current.", "label": "Royalty Guarantees Commitments Amount Non Current", "terseLabel": "Royalty guarantees commitments amount non current" } } }, "localname": "RoyaltyGuaranteesCommitmentsAmountNonCurrent", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_RoyaltyObligationCurrent": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 24.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount of the short term portion of the guaranteed minimum royalty obligation related to Honeywell Agreement.", "label": "Royalty Obligation, Current", "terseLabel": "Current Liability\u2014Royalty Obligation" } } }, "localname": "RoyaltyObligationCurrent", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_RoyaltyObligationDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Royalty Obligation Disclosure [Abstract]", "verboseLabel": "Royalty Obligation Disclosure [Abstract]" } } }, "localname": "RoyaltyObligationDisclosureAbstract", "nsuri": "http://astro-med.com/20230131", "xbrltype": "stringItemType" }, "alot_RoyaltyObligationNonCurrent": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 15.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount of the long term portion of the guaranteed minimum royalty obligation related to Honeywell Agreement.", "label": "Royalty Obligation Non Current", "verboseLabel": "Royalty Obligation, net of current portion" } } }, "localname": "RoyaltyObligationNonCurrent", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_RoyaltyPaymentsDueAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty payments due.", "label": "Royalty Payments Due [Axis]" } } }, "localname": "RoyaltyPaymentsDueAxis", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_RoyaltyPaymentsDueDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty payments due.", "label": "Royalty Payments Due [Domain]" } } }, "localname": "RoyaltyPaymentsDueDomain", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_RoyaltyPaymentsDueInNextTwelveMonthsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty payments due in next twelve months.", "label": "Royalty Payments Due In Next Twelve Months [Member]" } } }, "localname": "RoyaltyPaymentsDueInNextTwelveMonthsMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_RoyaltyPaymentsDueYearFiveMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty payments due year five.", "label": "Royalty Payments Due Year Five [Member]" } } }, "localname": "RoyaltyPaymentsDueYearFiveMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_RoyaltyPaymentsDueYearFourMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty payments due year four.", "label": "Royalty Payments Due Year Four [Member]" } } }, "localname": "RoyaltyPaymentsDueYearFourMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_RoyaltyPaymentsDueYearThreeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty payments due year three.", "label": "Royalty Payments Due Year Three [Member]" } } }, "localname": "RoyaltyPaymentsDueYearThreeMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_RoyaltyPaymentsDueYearTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty payments due year two.", "label": "Royalty Payments Due Year Two [Member]" } } }, "localname": "RoyaltyPaymentsDueYearTwoMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_RuggedInformationTechnologyEquipmentCorporationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Rugged Information Technology Equipment Corporation [Member]", "label": "Rugged Information Technology Equipment Corporation [Member]", "terseLabel": "RITEC [Member]" } } }, "localname": "RuggedInformationTechnologyEquipmentCorporationMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "alot_ScheduleOfBalanceSheetAndOtherInformationRelatedToOperatingLeasesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of balance sheet and other information related to operating leases.", "label": "Schedule Of Balance Sheet And Other Information Related To Operating Leases [Table Text Block]", "terseLabel": "Schedule Of Balance Sheet And Other Information Related To Operating Leases" } } }, "localname": "ScheduleOfBalanceSheetAndOtherInformationRelatedToOperatingLeasesTableTextBlock", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "alot_SecondAmendmentCreditAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Second amendment credit agreement.", "label": "Second Amendment Credit Agreement [Member]", "terseLabel": "Second Amendment Credit Agreement [Member]" } } }, "localname": "SecondAmendmentCreditAgreementMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_ServiceAndOtherMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Service and other.", "label": "Service And Other [Member]", "terseLabel": "Service and Other [Member]" } } }, "localname": "ServiceAndOtherMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryProductTypeDetail" ], "xbrltype": "domainItemType" }, "alot_SettlementOfContractClaim": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Settlement of contract claim and settlement of contract claim as a result of increased component costs.", "label": "Settlement Of Contract Claim", "terseLabel": "Contract with customer liability" } } }, "localname": "SettlementOfContractClaim", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_SettlementofContractClaimRevenueRecognized": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Settlement of contract claim revenue recognized and definition Amount of revenue recognized as result of settlement of a contract claim related to additional component costs.", "label": "Settlement of Contract Claim Revenue Recognized", "terseLabel": "Revenue recognized" } } }, "localname": "SettlementofContractClaimRevenueRecognized", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_StockDeliveredDuringPeriodSharesStockOptionsExercise": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares of stock delivered by employers to satisfy the exercise price for stock options exercised and restricted stock vested.", "label": "Stock Delivered During Period Shares Stock Options Exercise", "terseLabel": "Company shares given to employees, shares" } } }, "localname": "StockDeliveredDuringPeriodSharesStockOptionsExercise", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareholdersEquityAdditionalInformationDetail" ], "xbrltype": "sharesItemType" }, "alot_StockDeliveredDuringPeriodSharesStockOptionsExerciseAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Dollar value of stock delivered by employers to satisfy the exercise price for stock options exercised and restricted stock vested.", "label": "Stock Delivered During Period Shares Stock Options Exercise, Amount", "terseLabel": "Company shares given to employees, value" } } }, "localname": "StockDeliveredDuringPeriodSharesStockOptionsExerciseAmount", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareholdersEquityAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_SummaryOfSignificantAccountingPoliciesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Summary of significant accounting policies.", "label": "Summary Of Significant Accounting Policies [Line Items]", "terseLabel": "Summary Of Significant Accounting Policies [Line Items]" } } }, "localname": "SummaryOfSignificantAccountingPoliciesLineItems", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_SummaryOfSignificantAccountingPoliciesTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Summary Of Significant Accounting Policies [Table]", "label": "Summary Of Significant Accounting Policies [Table]", "terseLabel": "Summary Of Significant Accounting Policies [Table]" } } }, "localname": "SummaryOfSignificantAccountingPoliciesTable", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "alot_SuppliesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Supplies.", "label": "Supplies [Member]", "terseLabel": "Supplies [Member]" } } }, "localname": "SuppliesMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryProductTypeDetail" ], "xbrltype": "domainItemType" }, "alot_TaxCreditsCarryForwardsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Tax Credits Carry Forwards [Member]", "terseLabel": "Tax Credits Carry Forwards [Member]" } } }, "localname": "TaxCreditsCarryForwardsMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_TermLoanDueAugustFourthTwoThousandAndTwentySevenMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Term loan due august fourth two thousand and twenty seven.", "label": "Term Loan Due August Fourth Two Thousand and Twenty Seven [Member]", "terseLabel": "Term Loan Due August 4, 2027 [Member]" } } }, "localname": "TermLoanDueAugustFourthTwoThousandAndTwentySevenMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail" ], "xbrltype": "domainItemType" }, "alot_TermLoanDueSeptemberThirtyTwoThousandAndTwentyFiveMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Term loan due september thirty two thousand and twenty five.", "label": "Term Loan Due September Thirty Two Thousand And Twenty Five [Member]", "terseLabel": "Term Loan Due September 30, 2025 [Member]" } } }, "localname": "TermLoanDueSeptemberThirtyTwoThousandAndTwentyFiveMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail" ], "xbrltype": "domainItemType" }, "alot_TermLoanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Term loan.", "label": "Term Loan [Member]", "terseLabel": "Term Loan [Member]" } } }, "localname": "TermLoanMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail" ], "xbrltype": "domainItemType" }, "alot_TestAndMeasurementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Test and measurement.", "label": "Test And Measurement [Member]", "terseLabel": "T&M [Member]" } } }, "localname": "TestAndMeasurementMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "domainItemType" }, "alot_ThresholdQualifiedWagesPerEmployeePerCalendarQuarter": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Threshold qualified wages per employee per calendar quarter.", "label": "Threshold Qualified Wages Per Employee Per Calendar Quarter", "terseLabel": "Threshold qualified wages per employee per calendar quarter" } } }, "localname": "ThresholdQualifiedWagesPerEmployeePerCalendarQuarter", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "alot_TradeAccountsPayablesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trade Accounts Payables [Member]", "label": "Trade Accounts Payables [Member]", "terseLabel": "Trade Accounts Payables [Member]" } } }, "localname": "TradeAccountsPayablesMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_TrojanlabelApSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "TrojanLabel ApS.", "label": "Trojanlabel ApS [Member]", "terseLabel": "TrojanLabel ApS [Member]" } } }, "localname": "TrojanlabelApSMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "alot_TwoThousandAndTwentyTwoEmployeeStockPurchasePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two thousand and twenty two employee stock purchase plan member.", "label": "Two Thousand And Twenty Two Employee Stock Purchase Plan [Member]", "terseLabel": "2022 Employee Stock Purchase Plan" } } }, "localname": "TwoThousandAndTwentyTwoEmployeeStockPurchasePlanMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_TwoThousandEighteenEquityIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2018 Equity Incentive Plan.", "label": "Two Thousand Eighteen Equity Incentive Plan [Member]", "terseLabel": "2018 Equity Incentive Plan [Member]" } } }, "localname": "TwoThousandEighteenEquityIncentivePlanMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_TwoThousandFifteenEquityIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two Thousand Fifteen Equity Incentive Plan [Member]", "label": "Two Thousand Fifteen Equity Incentive Plan [Member]", "terseLabel": "2015 Equity Incentive Plan [Member]" } } }, "localname": "TwoThousandFifteenEquityIncentivePlanMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_TwoThousandSevenEquityIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two Thousand Seven Equity Incentive Plan [Member]", "label": "Two Thousand Seven Equity Incentive Plan [Member]", "terseLabel": "2007 Equity Incentive Plan [Member]" } } }, "localname": "TwoThousandSevenEquityIncentivePlanMember", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "alot_UnrealizedGainLossOnTerminationOfInterestRateCashFlowHedgesPreTaxAccumulatedOtherComprehensiveIncomeLoss": { "auth_ref": [], "calculation": { "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail": { "order": 3.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Unrealized gain loss on termination of interest rate cash flow hedges pre tax accumulated other comprehensive income loss.", "label": "Unrealized gain loss on termination of interest rate cash flow hedges pre tax accumulated other comprehensive income loss", "negatedLabel": "Cross-Currency Interest Rate Swap Termination" } } }, "localname": "UnrealizedGainLossOnTerminationOfInterestRateCashFlowHedgesPreTaxAccumulatedOtherComprehensiveIncomeLoss", "nsuri": "http://astro-med.com/20230131", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail" ], "xbrltype": "monetaryItemType" }, "country_CA": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CANADA", "terseLabel": "Canada [Member]" } } }, "localname": "CA", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail" ], "xbrltype": "domainItemType" }, "country_CN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CHINA" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States [Member]" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_AuditorFirmId": { "auth_ref": [ "r796", "r797", "r798" ], "lang": { "en-us": { "role": { "documentation": "PCAOB issued Audit Firm Identifier", "label": "Auditor Firm ID", "terseLabel": "Auditor Firm ID" } } }, "localname": "AuditorFirmId", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "nonemptySequenceNumberItemType" }, "dei_AuditorLocation": { "auth_ref": [ "r796", "r797", "r798" ], "lang": { "en-us": { "role": { "label": "Auditor Location", "terseLabel": "Auditor Location" } } }, "localname": "AuditorLocation", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "internationalNameItemType" }, "dei_AuditorName": { "auth_ref": [ "r796", "r797", "r798" ], "lang": { "en-us": { "role": { "label": "Auditor Name", "terseLabel": "Auditor Name" } } }, "localname": "AuditorName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "internationalNameItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "verboseLabel": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2022", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r796", "r797", "r798" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an annual report.", "label": "Document Annual Report" } } }, "localname": "DocumentAnnualReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r799" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "verboseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r794" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r794" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r794" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r800" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityPublicFloat": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.", "label": "Entity Public Float" } } }, "localname": "EntityPublicFloat", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r794" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r794" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r794" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r794" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_EntityVoluntaryFilers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.", "label": "Entity Voluntary Filers" } } }, "localname": "EntityVoluntaryFilers", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [ "r801" ], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.", "label": "Entity Well-known Seasoned Issuer" } } }, "localname": "EntityWellKnownSeasonedIssuer", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_IcfrAuditorAttestationFlag": { "auth_ref": [ "r796", "r797", "r798" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "localname": "IcfrAuditorAttestationFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r793" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r795" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://astro-med.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "srt_AsiaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Continent of Asia.", "label": "Asia [Member]", "terseLabel": "Asia [Member]" } } }, "localname": "AsiaMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail" ], "xbrltype": "domainItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r297", "r343", "r355", "r356", "r357", "r358", "r359", "r361", "r365", "r420", "r421", "r422", "r423", "r425", "r426", "r428", "r430", "r431", "r742", "r743", "r744", "r745", "r746", "r747", "r748", "r749", "r750", "r848", "r849", "r977", "r978" ], "lang": { "en-us": { "role": { "documentation": "Information by components, eliminations, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments.", "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r297", "r343", "r355", "r356", "r357", "r358", "r359", "r361", "r365", "r420", "r421", "r422", "r423", "r425", "r426", "r428", "r430", "r431", "r742", "r743", "r744", "r745", "r746", "r747", "r748", "r749", "r750", "r848", "r849", "r977", "r978" ], "lang": { "en-us": { "role": { "documentation": "Components, elimination, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments.", "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "domainItemType" }, "srt_EuropeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Continent of Europe.", "label": "Europe [Member]", "terseLabel": "Europe [Member]" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r371", "r772", "r852", "r974" ], "lang": { "en-us": { "role": { "documentation": "Information by name or description of a single external customer or a group of external customers.", "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail", "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r416", "r417", "r418", "r419", "r503", "r679", "r699", "r728", "r729", "r769", "r782", "r792", "r850", "r966", "r967", "r968", "r969", "r970", "r971" ], "lang": { "en-us": { "role": { "documentation": "Upper limit of the provided range.", "label": "Maximum [Member]", "terseLabel": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r416", "r417", "r418", "r419", "r503", "r679", "r699", "r728", "r729", "r769", "r782", "r792", "r850", "r966", "r967", "r968", "r969", "r970", "r971" ], "lang": { "en-us": { "role": { "documentation": "Lower limit of the provided range.", "label": "Minimum [Member]", "terseLabel": "Minimum [Member]" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r371", "r772", "r852", "r974" ], "lang": { "en-us": { "role": { "documentation": "Single external customer or group of external customers.", "label": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail", "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r367", "r681", "r770", "r790", "r845", "r846", "r852", "r973" ], "lang": { "en-us": { "role": { "documentation": "Information by product and service, or group of similar products and similar services.", "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryProductTypeDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r367", "r681", "r770", "r790", "r845", "r846", "r852", "r973" ], "lang": { "en-us": { "role": { "documentation": "Product or service, or a group of similar products or similar services.", "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryProductTypeDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r416", "r417", "r418", "r419", "r496", "r503", "r533", "r534", "r535", "r678", "r679", "r699", "r728", "r729", "r769", "r782", "r792", "r844", "r850", "r967", "r968", "r969", "r970", "r971" ], "lang": { "en-us": { "role": { "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.", "label": "Range [Axis]", "terseLabel": "Range [Axis]", "verboseLabel": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/LeasesAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r416", "r417", "r418", "r419", "r496", "r503", "r533", "r534", "r535", "r678", "r679", "r699", "r728", "r729", "r769", "r782", "r792", "r844", "r850", "r967", "r968", "r969", "r970", "r971" ], "lang": { "en-us": { "role": { "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.", "label": "Range [Domain]", "terseLabel": "Range [Domain]", "verboseLabel": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/LeasesAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r320", "r504", "r803", "r829" ], "lang": { "en-us": { "role": { "documentation": "Scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts.", "label": "Scenario [Domain]", "verboseLabel": "Scenario [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/LeasesAdditionalInformationDetail", "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": { "auth_ref": [ "r304", "r741" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]", "terseLabel": "Schedule II - Valuation and Qualifying Accounts and Reserves" } } }, "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReserves" ], "xbrltype": "textBlockItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r368", "r369", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r731", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r771", "r791", "r852" ], "lang": { "en-us": { "role": { "documentation": "Geographical area.", "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r368", "r369", "r713", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r731", "r732", "r771", "r791", "r852" ], "lang": { "en-us": { "role": { "documentation": "Information by geographical components.", "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail" ], "xbrltype": "stringItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r320", "r504", "r803", "r804", "r829" ], "lang": { "en-us": { "role": { "documentation": "Information by scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts.", "label": "Scenario [Axis]", "verboseLabel": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/LeasesAdditionalInformationDetail", "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r835", "r963" ], "lang": { "en-us": { "role": { "documentation": "Information by title of individual or nature of relationship to individual or group of individuals.", "label": "Title of Individual [Axis]", "terseLabel": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Title of individual, or nature of relationship to individual or group of individuals.", "label": "Title of Individual [Domain]", "terseLabel": "Relationship to Entity [Domain]" } } }, "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_ValuationAndQualifyingAccountsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]" } } }, "localname": "ValuationAndQualifyingAccountsAbstract", "nsuri": "http://fasb.org/srt/2022", "xbrltype": "stringItemType" }, "srt_ValuationAndQualifyingAccountsDisclosureLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]", "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]" } } }, "localname": "ValuationAndQualifyingAccountsDisclosureLineItems", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail" ], "xbrltype": "stringItemType" }, "srt_ValuationAndQualifyingAccountsDisclosureTable": { "auth_ref": [ "r298", "r299", "r300", "r302", "r303", "r741" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]", "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]" } } }, "localname": "ValuationAndQualifyingAccountsDisclosureTable", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail" ], "xbrltype": "stringItemType" }, "stpr_DE": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "DELAWARE" } } }, "localname": "DE", "nsuri": "http://xbrl.sec.gov/stpr/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accrued Expenses" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccruedExpenses" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r16", "r789" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 21.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts Payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r373", "r374" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, Net, Current", "verboseLabel": "Accounts Receivable, net of reserves of $731 in 2023 and $826 in 2022" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r2", "r213", "r226" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 27.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.", "label": "Accrued Income Taxes, Current", "terseLabel": "Income Taxes Payable" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r21" ], "calculation": { "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 23.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "terseLabel": "Other Accrued Expenses", "totalLabel": "Total" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail", "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedProfessionalFeesCurrent": { "auth_ref": [ "r21" ], "calculation": { "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Professional Fees, Current", "terseLabel": "Professional Fees" } } }, "localname": "AccruedProfessionalFeesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedSalesCommissionCurrent": { "auth_ref": [ "r21", "r753" ], "calculation": { "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Sales Commission, Current", "terseLabel": "Dealer Commissions" } } }, "localname": "AccruedSalesCommissionCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r105", "r252" ], "calculation": { "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail": { "order": 6.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Accumulated Depreciation" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember": { "auth_ref": [ "r269", "r278", "r279", "r596", "r755", "r813" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive income (loss) from gain (loss) of derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent.", "label": "Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]", "terseLabel": "Net Unrealized Gain/(Loss) on Cash Flow Hedges [Member]" } } }, "localname": "AccumulatedGainLossNetCashFlowHedgeParentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r32", "r33", "r34", "r260", "r694", "r707", "r711" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 36.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated Other Comprehensive Loss, net of tax" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r31", "r34", "r176", "r673", "r702", "r703", "r813", "r814", "r815", "r826", "r827", "r828" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail", "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "auth_ref": [ "r30", "r34", "r176", "r278", "r279", "r638", "r639", "r640", "r641", "r643", "r813" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent.", "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]", "terseLabel": "Foreign Currency Translation Adjustments [Member]" } } }, "localname": "AccumulatedTranslationAdjustmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail" ], "xbrltype": "domainItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Acquired Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfAcquiredIdentifiableIntangibleAssetDetail" ], "xbrltype": "stringItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "auth_ref": [ "r94" ], "lang": { "en-us": { "role": { "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life", "verboseLabel": "Useful Life (Years)" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "durationItemType" }, "us-gaap_AcquiredIndefiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Acquired Indefinite-Lived Intangible Assets [Line Items]", "terseLabel": "Acquired Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "AcquiredIndefiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r8" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 33.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional\u00a0Paid-in\u00a0Capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r541", "r542", "r543", "r826", "r827", "r828", "r953" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r240", "r241", "r242", "r243", "r244", "r308", "r309", "r310", "r311", "r320", "r376", "r377", "r379", "r380", "r381", "r382", "r383", "r384", "r541", "r542", "r543", "r571", "r572", "r573", "r574", "r587", "r588", "r589", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r617", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r646", "r647", "r651", "r652", "r653", "r654", "r668", "r669", "r670", "r671", "r672", "r673", "r683", "r684", "r685", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711" ], "lang": { "en-us": { "role": { "documentation": "Information by amendment to accounting standards.", "label": "Adjustments for New Accounting Pronouncements [Axis]", "terseLabel": "Adjustments for New Accounting Pronouncements [Axis]", "verboseLabel": "Adjustments for New Accounting Pronouncements [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement.", "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Stock Options, Requisite Service Period Recognition", "terseLabel": "Share-Based Compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "verboseLabel": "Adjustments to Reconcile Net Income to Net Cash (Used) Provided By Operating Activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AdvertisingCostsPolicyTextBlock": { "auth_ref": [ "r546" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for advertising cost.", "label": "Advertising Costs, Policy [Policy Text Block]", "terseLabel": "Advertising" } } }, "localname": "AdvertisingCostsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_AdvertisingExpense": { "auth_ref": [ "r547" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.", "label": "Advertising Expense", "terseLabel": "Advertising expense" } } }, "localname": "AdvertisingExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForCreditLossMember": { "auth_ref": [ "r821", "r822", "r823", "r824", "r825" ], "lang": { "en-us": { "role": { "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "SEC Schedule, 12-09, Allowance, Credit Loss [Member]", "terseLabel": "Allowance for Doubtful Accounts [Member]" } } }, "localname": "AllowanceForCreditLossMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r261", "r375", "r385" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance for Doubtful Accounts Receivable, Current", "terseLabel": "Accounts Receivable, Reserves" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfFinancingCosts": { "auth_ref": [ "r41", "r455", "r649", "r816" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense attributable to debt issuance costs.", "label": "Amortization of Debt Issuance Costs", "terseLabel": "Amortization of Debt Issuance Costs" } } }, "localname": "AmortizationOfFinancingCosts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r63", "r92", "r98" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r329" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Number of common equivalent shares" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_AreaOfLand": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area of land held.", "label": "Area of Land", "terseLabel": "Area of Land" } } }, "localname": "AreaOfLand", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "areaItemType" }, "us-gaap_ArrangementsAndNonarrangementTransactionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.", "label": "Arrangements and Non-arrangement Transactions [Domain]", "terseLabel": "Arrangements and Non-arrangement Transactions [Domain]", "verboseLabel": "Arrangements and Non-arrangement Transactions [Domain]" } } }, "localname": "ArrangementsAndNonarrangementTransactionsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail", "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r211", "r225", "r255", "r292", "r351", "r357", "r363", "r378", "r420", "r421", "r423", "r424", "r425", "r427", "r429", "r431", "r432", "r592", "r597", "r623", "r789", "r848", "r849", "r964" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "terseLabel": "Assets", "totalLabel": "TOTAL ASSETS" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r247", "r264", "r292", "r378", "r420", "r421", "r423", "r424", "r425", "r427", "r429", "r431", "r432", "r592", "r597", "r623", "r789", "r848", "r849", "r964" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total Current Assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "CURRENT ASSETS" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssumedLiabilityForUnpaidClaimsAndClaimsAdjustmentExpense": { "auth_ref": [ "r235", "r236" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Liability as of the balance sheet date for the estimated ultimate cost of settling claims and claim adjustment expense relating to insured events that have occurred on or before the balance sheet date for those liabilities owed to another party as a result of assuming another insurer's primary obligation.", "label": "Assumed Liability for Unpaid Claims and Claims Adjustment Expense", "verboseLabel": "Liability for self-insured claims" } } }, "localname": "AssumedLiabilityForUnpaidClaimsAndClaimsAdjustmentExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r508", "r509", "r510", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r532", "r533", "r534", "r535", "r536" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail", "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]", "terseLabel": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail", "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail", "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r182", "r185" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail", "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail", "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r69" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BuildingsAndImprovementsGross": { "auth_ref": [ "r104" ], "calculation": { "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail": { "order": 3.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.", "label": "Buildings and Improvements, Gross", "terseLabel": "Buildings and Leasehold Improvements" } } }, "localname": "BuildingsAndImprovementsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r585", "r780", "r781" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail", "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail", "http://astro-med.com/role/AcquisitionsSummaryOfRevenueAndEarningsBeforeTaxesDetail", "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r163", "r164", "r585", "r780", "r781" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail", "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail", "http://astro-med.com/role/AcquisitionsSummaryOfRevenueAndEarningsBeforeTaxesDetail", "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Business Acquisition [Line Items]", "terseLabel": "Business Acquisition [Line Items]" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "auth_ref": [ "r162" ], "lang": { "en-us": { "role": { "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.", "label": "Business Acquisition, Percentage of Voting Interests Acquired", "terseLabel": "Payments to Acquire Businesses, Gross" } } }, "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "auth_ref": [ "r948", "r949" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.", "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "terseLabel": "Summary of Revenue and Earnings Before Taxes" } } }, "localname": "BusinessAcquisitionProFormaInformationTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "auth_ref": [ "r161" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.", "label": "Business Combination, Acquisition Related Costs", "verboseLabel": "Business Combination, Acquisition Related Costs" } } }, "localname": "BusinessCombinationAcquisitionRelatedCosts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r171", "r172", "r173" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 29.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "Business Combination, Consideration Transferred", "negatedLabel": "Cash Paid for Astro Machine Acquisition, net of cash acquired", "terseLabel": "Business Combination, Consideration Transferred" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r174", "r586" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).", "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Acquisitions" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/Acquisitions" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "auth_ref": [ "r166" ], "calculation": { "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail": { "order": 6.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "terseLabel": "Cash" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "auth_ref": [ "r166" ], "calculation": { "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Accounts Receivable" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities": { "auth_ref": [ "r166" ], "calculation": { "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail": { "order": 5.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities", "negatedLabel": "Accounts Payable and Other Current Liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": { "auth_ref": [ "r166" ], "calculation": { "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill", "verboseLabel": "Identifiable Intangible Assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "auth_ref": [ "r165", "r166" ], "calculation": { "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of inventory recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory", "terseLabel": "Inventory" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "auth_ref": [ "r165", "r166" ], "calculation": { "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "terseLabel": "Property, Plant and Equipment" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "auth_ref": [ "r166" ], "calculation": { "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.", "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net", "totalLabel": "Total Purchase Price" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combinations [Abstract]" } } }, "localname": "BusinessCombinationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationsPolicy": { "auth_ref": [ "r160" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.", "label": "Business Combinations Policy [Policy Text Block]", "verboseLabel": "Business Combinations" } } }, "localname": "BusinessCombinationsPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalizedComputerSoftwareGross": { "auth_ref": [ "r976" ], "calculation": { "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail": { "order": 5.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.", "label": "Capitalized Computer Software, Gross", "terseLabel": "Computer Equipment and Software" } } }, "localname": "CapitalizedComputerSoftwareGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedComputerSoftwareImpairments1": { "auth_ref": [ "r237", "r239" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of impairment loss from capitalized computer software costs.", "label": "Capitalized Computer Software, Impairments" } } }, "localname": "CapitalizedComputerSoftwareImpairments1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostAmortization": { "auth_ref": [ "r390" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Amortization", "terseLabel": "Amortization of incremental direct costs" } } }, "localname": "CapitalizedContractCostAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostNet": { "auth_ref": [ "r389" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Net", "verboseLabel": "Additional contract costs" } } }, "localname": "CapitalizedContractCostNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostNetCurrent": { "auth_ref": [ "r389" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as current.", "label": "Capitalized Contract Cost, Net, Current", "terseLabel": "Deferred incremental direct contract costs reported in other current assets" } } }, "localname": "CapitalizedContractCostNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CarryingReportedAmountFairValueDisclosureMember": { "auth_ref": [ "r200", "r201" ], "lang": { "en-us": { "role": { "documentation": "Measured as reported on the statement of financial position (balance sheet).", "label": "Reported Value Measurement [Member]", "verboseLabel": "Carrying Value [Member]" } } }, "localname": "CarryingReportedAmountFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r65", "r250", "r751" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and Cash Equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "auth_ref": [ "r66" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.", "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Cash and Cash Equivalents" } } }, "localname": "CashAndCashEquivalentsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r59", "r65", "r68" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash and Cash Equivalents, End of Year", "periodStartLabel": "Cash and Cash Equivalents, Beginning of Year" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r59", "r205" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net Increase (Decrease) in Cash and Cash Equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowHedgingMember": { "auth_ref": [ "r179" ], "lang": { "en-us": { "role": { "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk.", "label": "Cash Flow Hedging [Member]", "verboseLabel": "Cash Flow Hedging [Member]" } } }, "localname": "CashFlowHedgingMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ChangeInAccountingEstimateByTypeAxis": { "auth_ref": [ "r72", "r315" ], "lang": { "en-us": { "role": { "documentation": "Information by type of change in accounting estimate.", "label": "Change in Accounting Estimate by Type [Axis]" } } }, "localname": "ChangeInAccountingEstimateByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ChangeInAccountingEstimateTypeDomain": { "auth_ref": [ "r72", "r315" ], "lang": { "en-us": { "role": { "documentation": "Identification of the accounting estimate that was changed that had the effect of adjusting the carrying amount of an existing asset or liability, or that will alter the subsequent accounting for existing or future assets or liabilities.", "label": "Change in Accounting Estimate, Type [Domain]" } } }, "localname": "ChangeInAccountingEstimateTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ChangeInAccountingMethodAccountedForAsChangeInEstimateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A change from one acceptable accounting method to another based upon a revision in estimated future benefits or obligations.", "label": "Change in Accounting Method Accounted for as Change in Estimate [Member]", "terseLabel": "Change in Accounting Method Accounted for as Change in Estimate [Member]" } } }, "localname": "ChangeInAccountingMethodAccountedForAsChangeInEstimateMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [ "r257", "r258", "r259", "r292", "r323", "r324", "r326", "r328", "r333", "r334", "r378", "r420", "r423", "r424", "r425", "r431", "r432", "r463", "r464", "r467", "r471", "r478", "r623", "r730", "r802", "r817", "r830" ], "lang": { "en-us": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class of Stock [Domain]", "verboseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesLeaseCostInformationDetail", "http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail", "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail", "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Class of Stock [Line Items]", "terseLabel": "Class of Stock [Line Items]" } } }, "localname": "ClassOfStockLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareholdersEquityAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r26", "r217", "r232" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r110", "r414", "r415", "r715", "r847" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockDividendsPerShareCashPaid": { "auth_ref": [ "r131" ], "lang": { "en-us": { "role": { "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Cash Paid", "terseLabel": "Cash dividend per share" } } }, "localname": "CommonStockDividendsPerShareCashPaid", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquityParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r826", "r827", "r953" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common Stock, Par Value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common Stock, Shares Authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common Stock, Shares Issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r7", "r789" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 32.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "terseLabel": "Common Stock" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": { "auth_ref": [ "r135", "r136", "r137", "r150" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.", "label": "Compensation and Employee Benefit Plans [Text Block]", "terseLabel": "Employee Benefit Plans" } } }, "localname": "CompensationAndEmployeeBenefitPlansTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/EmployeeBenefitPlans" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComponentsOfDeferredTaxAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Assets [Abstract]", "terseLabel": "Deferred Tax Assets:" } } }, "localname": "ComponentsOfDeferredTaxAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Assets and Liabilities [Abstract]", "terseLabel": "Deferred taxes are reflected in the consolidated balance sheet as follows:" } } }, "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Liabilities [Abstract]", "terseLabel": "Deferred Tax Liabilities:" } } }, "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r35", "r273", "r275", "r282", "r690", "r696" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive Income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNoteTextBlock": { "auth_ref": [ "r51", "r281", "r689", "r695" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.", "label": "Comprehensive Income (Loss) Note [Text Block]", "terseLabel": "Accumulated Other Comprehensive Loss" } } }, "localname": "ComprehensiveIncomeNoteTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLoss" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r75", "r76", "r202", "r203", "r371", "r714" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]", "verboseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail", "http://astro-med.com/role/LeasesAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r75", "r76", "r202", "r203", "r371", "r712", "r714" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark [Axis]", "verboseLabel": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail", "http://astro-med.com/role/LeasesAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r75", "r76", "r202", "r203", "r371", "r714", "r975" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]", "terseLabel": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskDisclosureTextBlock": { "auth_ref": [ "r81" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.", "label": "Concentration Risk Disclosure [Text Block]", "terseLabel": "Concentration of Risk" } } }, "localname": "ConcentrationRiskDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRisk" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration Risk [Line Items]" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r75", "r76", "r202", "r203", "r371" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration Risk, Percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r73", "r75", "r76", "r77", "r202", "r204", "r714" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]", "terseLabel": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r75", "r76", "r202", "r203", "r371", "r714" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r175", "r756" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.", "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Principles of Consolidation" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetNet": { "auth_ref": [ "r480", "r482", "r493" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Contract with Customer, Asset, Net", "terseLabel": "Contract assets balance" } } }, "localname": "ContractWithCustomerAssetNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r480", "r481", "r493" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Contract liabilities and extended warranties" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r87", "r356", "r357", "r358", "r359", "r365", "r834" ], "lang": { "en-us": { "role": { "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.", "label": "Corporate, Non-Segment [Member]", "terseLabel": "Corporate Expenses [Member]" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsTotalMember": { "auth_ref": [ "r832" ], "lang": { "en-us": { "role": { "documentation": "Cost of product sold and service rendered, when it serves as benchmark in concentration of risk calculation.", "label": "Cost of Goods, Total [Member]", "terseLabel": "Purchases [Member]" } } }, "localname": "CostOfGoodsTotalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r44", "r292", "r378", "r420", "r421", "r423", "r424", "r425", "r427", "r429", "r431", "r432", "r623", "r848" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 6.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of Revenue", "terseLabel": "Cost of Revenue" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "terseLabel": "Cost of Sales [Member]" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]", "terseLabel": "Credit Facility [Axis]", "verboseLabel": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail", "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]", "terseLabel": "Credit Facility [Domain]", "verboseLabel": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail", "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CrossCurrencyInterestRateContractMember": { "auth_ref": [ "r875", "r951" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument whose primary underlying risk is tied to interest rates and foreign exchange rates.", "label": "Cross Currency Interest Rate Contract [Member]", "terseLabel": "Cross Currency Interest Rate Contract [Member]" } } }, "localname": "CrossCurrencyInterestRateContractMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail", "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "auth_ref": [ "r820", "r945", "r947" ], "calculation": { "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail": { "order": 2.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Current Federal Tax Expense (Benefit)", "terseLabel": "Federal" } } }, "localname": "CurrentFederalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "auth_ref": [ "r820", "r945" ], "calculation": { "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail": { "order": 4.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Current Foreign Tax Expense (Benefit)", "terseLabel": "Foreign" } } }, "localname": "CurrentForeignTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "auth_ref": [ "r159", "r568", "r578", "r820" ], "calculation": { "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.", "label": "Current Income Tax Expense (Benefit)", "totalLabel": "Current Income Tax Expense" } } }, "localname": "CurrentIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Current:" } } }, "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r820", "r945", "r947" ], "calculation": { "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail": { "order": 3.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Current State and Local Tax Expense (Benefit)", "terseLabel": "State" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r74", "r371" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk [Member]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerContractsMember": { "auth_ref": [ "r170" ], "lang": { "en-us": { "role": { "documentation": "Entity's established relationships with its customers through contracts.", "label": "Customer Contracts [Member]", "terseLabel": "Customer Contract Relationships [Member]", "verboseLabel": "Customer Contracts [Member]" } } }, "localname": "CustomerContractsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelatedIntangibleAssetsMember": { "auth_ref": [ "r168" ], "lang": { "en-us": { "role": { "documentation": "Customer-related asset, including, but not limited to, customer lists, and noncontractual customer relationships.", "label": "Customer-Related Intangible Assets [Member]", "terseLabel": "Customer Contract Relationships [Member]" } } }, "localname": "CustomerRelatedIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfAcquiredIdentifiableIntangibleAssetDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r170" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]", "verboseLabel": "Debt Disclosure [Abstract]" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r120", "r290", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r449", "r456", "r457", "r459" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Debt Disclosure [Text Block]", "terseLabel": "Credit Agreement and Long-Term Debt" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebt" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r1", "r2", "r3", "r212", "r215", "r224", "r297", "r433", "r434", "r435", "r436", "r437", "r439", "r445", "r446", "r447", "r448", "r450", "r451", "r452", "r453", "r454", "r455", "r650", "r764", "r765", "r766", "r767", "r768", "r818" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]", "terseLabel": "Debt Instrument [Axis]", "verboseLabel": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "definitionGuidance": "Interest rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentCarryingAmount": { "auth_ref": [ "r3", "r215", "r224", "r460" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.", "label": "Long-term Debt, Gross", "terseLabel": "USD Term Loan" } } }, "localname": "DebtInstrumentCarryingAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentDecreaseForgiveness": { "auth_ref": [ "r818" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Decrease for amounts of indebtedness forgiven by the holder of the debt instrument.", "label": "Debt Instrument, Decrease, Forgiveness", "terseLabel": "Amount of PPP loan forgiven" } } }, "localname": "DebtInstrumentDecreaseForgiveness", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r207", "r209", "r433", "r650", "r765", "r766" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "Debt Instrument, Face Amount", "terseLabel": "Principal amount of debt", "verboseLabel": "Debt instrument face amount" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentInterestRateBasisForEffectiveRate": { "auth_ref": [ "r23", "r207" ], "lang": { "en-us": { "role": { "documentation": "Description of any adjustments made to the stated rate to determine the effective rate.", "label": "Debt Instrument, Interest Rate, Basis for Effective Rate", "verboseLabel": "Variable interest rate" } } }, "localname": "DebtInstrumentInterestRateBasisForEffectiveRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "auth_ref": [ "r23", "r434" ], "lang": { "en-us": { "role": { "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Interest Rate, Stated Percentage", "verboseLabel": "Loan, interest rate" } } }, "localname": "DebtInstrumentInterestRateStatedPercentage", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Instrument [Line Items]", "terseLabel": "Debt Instrument [Line Items]" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentMaturityDate": { "auth_ref": [ "r265", "r764", "r956" ], "lang": { "en-us": { "role": { "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.", "label": "Debt Instrument, Maturity Date", "verboseLabel": "Loan, maturity date" } } }, "localname": "DebtInstrumentMaturityDate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail" ], "xbrltype": "dateItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r25", "r297", "r433", "r434", "r435", "r436", "r437", "r439", "r445", "r446", "r447", "r448", "r450", "r451", "r452", "r453", "r454", "r455", "r650", "r764", "r765", "r766", "r767", "r768", "r818" ], "lang": { "en-us": { "role": { "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.", "label": "Debt Instrument, Name [Domain]", "terseLabel": "Debt Instrument, Name [Domain]", "verboseLabel": "Debt Instrument, Name [Domain]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentPaymentTerms": { "auth_ref": [ "r24", "r221" ], "lang": { "en-us": { "role": { "documentation": "Description of the payment terms of the debt instrument (for example, whether periodic payments include principal and frequency of payments) and discussion about any contingencies associated with the payment.", "label": "Debt Instrument, Payment Terms", "verboseLabel": "Loan, payment terms" } } }, "localname": "DebtInstrumentPaymentTerms", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentPeriodicPaymentPrincipal": { "auth_ref": [ "r25" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the required periodic payments applied to principal.", "label": "Debt Instrument, Periodic Payment, Principal", "verboseLabel": "Debt Instrument, principal Periodic payment" } } }, "localname": "DebtInstrumentPeriodicPaymentPrincipal", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r25", "r125", "r128", "r129", "r130", "r206", "r207", "r209", "r222", "r297", "r433", "r434", "r435", "r436", "r437", "r439", "r445", "r446", "r447", "r448", "r450", "r451", "r452", "r453", "r454", "r455", "r458", "r650", "r764", "r765", "r766", "r767", "r768", "r818" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-term Debt Instruments [Table]", "terseLabel": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DebtLongtermAndShorttermCombinedAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the aggregate of total long-term debt, including current maturities and short-term debt.", "label": "Debt, Long-term and Short-term, Combined Amount", "terseLabel": "Long-Term Debt and Related Current Maturities" } } }, "localname": "DebtLongtermAndShorttermCombinedAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "auth_ref": [ "r820", "r946", "r947" ], "calculation": { "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail": { "order": 6.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Deferred Federal Income Tax Expense (Benefit)", "terseLabel": "Federal" } } }, "localname": "DeferredFederalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredFinanceCostsNet": { "auth_ref": [ "r208", "r851" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.", "label": "Debt Issuance Costs, Net", "negatedLabel": "Debt Issuance Costs, net of accumulated amortization" } } }, "localname": "DeferredFinanceCostsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "auth_ref": [ "r159", "r820", "r946" ], "calculation": { "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail": { "order": 8.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Foreign Income Tax Expense (Benefit)", "terseLabel": "Foreign" } } }, "localname": "DeferredForeignIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r551", "r552" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 10.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred Tax Assets, net" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r63", "r159", "r569", "r577", "r578", "r820" ], "calculation": { "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail": { "order": 5.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "totalLabel": "Deferred Income Tax Expense Total" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Deferred:" } } }, "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredIncomeTaxLiabilities": { "auth_ref": [ "r4", "r5", "r214", "r223", "r563" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 18.0, "parentTag": "alot_DeferredTaxAssetsLiabilitiesGross", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.", "label": "Deferred Tax Liabilities, Gross", "totalLabel": "Deferred Tax Liabilities, Total" } } }, "localname": "DeferredIncomeTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r551", "r552" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 18.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "verboseLabel": "Deferred Tax Liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "auth_ref": [ "r64" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) and income tax credits.", "label": "Deferred Income Taxes and Tax Credits", "verboseLabel": "Deferred Income Tax Provision (Benefit)" } } }, "localname": "DeferredIncomeTaxesAndTaxCredits", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueCurrent": { "auth_ref": [ "r807" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 28.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.", "label": "Deferred Revenue, Current", "terseLabel": "Deferred Revenue" } } }, "localname": "DeferredRevenueCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueNoncurrent": { "auth_ref": [ "r808" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 19.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as noncurrent.", "label": "Deferred Revenue, Noncurrent", "terseLabel": "Deferred Revenue" } } }, "localname": "DeferredRevenueNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "auth_ref": [ "r820", "r946", "r947" ], "calculation": { "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail": { "order": 7.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Deferred State and Local Income Tax Expense (Benefit)", "terseLabel": "State" } } }, "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGross": { "auth_ref": [ "r564" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 3.0, "parentTag": "alot_DeferredTaxAssetsLiabilitiesGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Gross", "totalLabel": "Deferred Tax Assets, Total" } } }, "localname": "DeferredTaxAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsInventory": { "auth_ref": [ "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 4.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.", "label": "Deferred Tax Assets, Inventory", "terseLabel": "Inventory" } } }, "localname": "DeferredTaxAssetsInventory", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsLiabilitiesNet": { "auth_ref": [ "r943" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.", "label": "Deferred Tax Assets, Net", "terseLabel": "Total Net Deferred Tax Assets", "totalLabel": "Net Deferred Tax Assets" } } }, "localname": "DeferredTaxAssetsLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNet": { "auth_ref": [ "r943" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Net of Valuation Allowance", "terseLabel": "Deferred Tax Assets" } } }, "localname": "DeferredTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "auth_ref": [ "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 13.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.", "label": "Deferred Tax Assets, Operating Loss Carryforwards", "terseLabel": "Net Operating Loss", "verboseLabel": "Deferred Tax Assets Operating loss carryforwards" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOther": { "auth_ref": [ "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 14.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.", "label": "Deferred Tax Assets, Other", "terseLabel": "Other" } } }, "localname": "DeferredTaxAssetsOther", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsForeign": { "auth_ref": [ "r156", "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 15.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible foreign tax credit carryforwards.", "label": "Deferred Tax Assets, Tax Credit Carryforwards, Foreign", "terseLabel": "Foreign Tax Credit", "verboseLabel": "Foreign tax credit" } } }, "localname": "DeferredTaxAssetsTaxCreditCarryforwardsForeign", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": { "auth_ref": [ "r156", "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 6.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.", "label": "Deferred Tax Assets, Tax Credit Carryforwards, Research", "terseLabel": "State R&D Credits", "verboseLabel": "Deferred tax assets tax credit carryforwards research" } } }, "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "auth_ref": [ "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 7.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.", "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost", "terseLabel": "Share-Based Compensation" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsProvisionForLoanLosses": { "auth_ref": [ "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 12.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on financing receivable.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Provision for Loan Losses", "terseLabel": "Bad Debt" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsProvisionForLoanLosses", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": { "auth_ref": [ "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 9.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Warranty Reserves", "terseLabel": "Warranty Reserve" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r565" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.", "label": "Deferred Tax Assets, Valuation Allowance", "negatedLabel": "Valuation Allowance", "terseLabel": "Valuation allowance" } } }, "localname": "DeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilities": { "auth_ref": [ "r152", "r943" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.", "label": "Deferred Tax Liabilities, Net", "negatedLabel": "Deferred Tax Liabilities" } } }, "localname": "DeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": { "auth_ref": [ "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 19.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.", "label": "Deferred Tax Liabilities, Intangible Assets", "terseLabel": "Intangibles" } } }, "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesOther": { "auth_ref": [ "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 21.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other.", "label": "Deferred Tax Liabilities, Other", "terseLabel": "Other" } } }, "localname": "DeferredTaxLiabilitiesOther", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "auth_ref": [ "r157", "r944" ], "calculation": { "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail": { "order": 20.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.", "label": "Deferred Tax Liabilities, Property, Plant and Equipment", "terseLabel": "Accumulated Tax Depreciation in Excess of Book Depreciation" } } }, "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTaxEffectsOfTemporaryDifferencesThatGaveRiseToSignificantPortionsOfDeferredTaxAssetsAndLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.", "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount", "terseLabel": "Contributions paid or accrued amounted" } } }, "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/EmployeeBenefitPlansAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r63", "r103" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "terseLabel": "Depreciation expense on property, plant and equipment" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r63", "r346" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and Amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeContractTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.", "label": "Derivative Contract [Domain]", "terseLabel": "Derivative Contract [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail", "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r183", "r184", "r187", "r189", "r754" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]", "terseLabel": "Derivative Instrument [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail", "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]", "verboseLabel": "Derivative Instruments and Hedging Activities Disclosure [Abstract]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r193", "r604" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.", "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "Derivative Financial Instruments and Risk Management" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagement" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative Instruments and Hedging Activities Disclosures [Line Items]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Line Items]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail", "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about derivatives and hedging activities.", "label": "Derivative Instruments and Hedging Activities Disclosures [Table]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Table]", "verboseLabel": "Derivative Instruments and Hedging Activities Disclosures [Table]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail", "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": { "auth_ref": [ "r180", "r183", "r187" ], "lang": { "en-us": { "role": { "documentation": "Information by type of hedging relationship.", "label": "Hedging Relationship [Axis]", "verboseLabel": "Hedging Relationship [Axis]" } } }, "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail", "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet": { "auth_ref": [ "r186", "r188" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The effective portion of net gain (loss) reclassified from accumulated other comprehensive income into income on derivative instruments designated and qualifying as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net", "terseLabel": "Amount of Gain Reclassified from Accumulated OCI into Income (Expense)", "verboseLabel": "Amount of Gain (Loss) Reclassified from Accumulated OCI into Income" } } }, "localname": "DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail", "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentsIncomeStatementLocationOfGainOrLossReclassifiedFromAccumulatedOCI": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The income statement location of the effective portion of net gain (loss) reclassified from accumulated other comprehensive income into income on derivative instruments designated and qualifying as hedging instruments.", "label": "Derivative Instruments, Income Statement Location of Gain (Loss) Reclassified from Accumulated OCI", "terseLabel": "Location of Gain Reclassified from Accumulated OCI into Income (Expense)" } } }, "localname": "DerivativeInstrumentsIncomeStatementLocationOfGainOrLossReclassifiedFromAccumulatedOCI", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativesPolicyTextBlock": { "auth_ref": [ "r177", "r178", "r180", "r181", "r192", "r296" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities.", "label": "Derivatives, Policy [Policy Text Block]", "terseLabel": "Derivative Financial Instruments" } } }, "localname": "DerivativesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisaggregationOfRevenueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Abstract]" } } }, "localname": "DisaggregationOfRevenueAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryProductTypeDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r492", "r770", "r771", "r772", "r773", "r774", "r775", "r776" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryProductTypeDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r852" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Summary of Revenues Disaggregated by Primary Geographic Markets and Major Product Type" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r507", "r537", "r538", "r540", "r545", "r783" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "terseLabel": "Share-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Disclosure of Compensation Related Costs, Share-based Payments [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DividendsCommonStockCash": { "auth_ref": [ "r131" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.", "label": "Dividends, Common Stock, Cash", "negatedTerseLabel": "Common Stock\u2014Cash Dividend\u2014$0.07 per share" } } }, "localname": "DividendsCommonStockCash", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_DomesticCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.", "label": "Domestic Tax Authority [Member]", "terseLabel": "Federal Tax [Member]" } } }, "localname": "DomesticCountryMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r283", "r312", "r313", "r314", "r315", "r316", "r321", "r323", "r326", "r327", "r328", "r330", "r615", "r616", "r691", "r697", "r760" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Net Income Per Common Share\u2014Basic" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r283", "r312", "r313", "r314", "r315", "r316", "r323", "r326", "r327", "r328", "r330", "r615", "r616", "r691", "r697", "r760" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Net Income Per Common Share\u2014Diluted" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r70", "r71" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.", "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Net Income Per Common Share" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r636" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 30.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "terseLabel": "Effect of Foreign Exchange Rate Changes on Cash and Cash Equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r554" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate for income from continuing operation" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r21" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 22.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued Compensation" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r539" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "terseLabel": "Unrecognized compensation expense to be recognized, Weighted average period" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r940" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options", "terseLabel": "Unrecognized compensation expense related to RSUs and RSAs" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "auth_ref": [ "r940" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Stock Options", "terseLabel": "Unrecognized compensation expense related to options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Employee Stock Option [Member]", "terseLabel": "Stock Options [Member]" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r124", "r242", "r277", "r278", "r279", "r305", "r306", "r307", "r309", "r317", "r319", "r332", "r382", "r479", "r541", "r542", "r543", "r573", "r574", "r614", "r637", "r638", "r639", "r640", "r641", "r643", "r673", "r702", "r703", "r704" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail", "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_EstimateOfFairValueFairValueDisclosureMember": { "auth_ref": [ "r447", "r622", "r765", "r766" ], "lang": { "en-us": { "role": { "documentation": "Measured as an estimate of fair value.", "label": "Estimate of Fair Value Measurement [Member]", "verboseLabel": "Fair Value [Member]" } } }, "localname": "EstimateOfFairValueFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]", "terseLabel": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]" } } }, "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByBalanceSheetGroupingTable": { "auth_ref": [ "r194", "r200", "r201" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities.", "label": "Fair Value, by Balance Sheet Grouping [Table]", "terseLabel": "Fair Value, by Balance Sheet Grouping [Table]" } } }, "localname": "FairValueByBalanceSheetGroupingTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r447", "r497", "r498", "r499", "r500", "r501", "r502", "r618", "r675", "r676", "r677", "r765", "r766", "r777", "r778", "r779" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementBasisAxis": { "auth_ref": [ "r194", "r197", "r447", "r765", "r766" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement basis.", "label": "Measurement Basis [Axis]", "terseLabel": "Measurement Basis [Axis]" } } }, "localname": "FairValueByMeasurementBasisAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r447", "r497", "r498", "r499", "r500", "r501", "r502", "r618", "r677", "r765", "r766", "r777", "r778", "r779" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Level 3 [Member]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "auth_ref": [ "r195", "r196" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "terseLabel": "Summary of Changes in Fair value of Level 3 Financial Liability" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r447", "r497", "r498", "r499", "r500", "r501", "r502", "r675", "r676", "r677", "r765", "r766", "r777", "r778", "r779" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r198", "r199" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.", "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]", "terseLabel": "Fair Value Measurement" } } }, "localname": "FairValueOfFinancialInstrumentsPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FederalFundsEffectiveSwapRateMember": { "auth_ref": [ "r952" ], "lang": { "en-us": { "role": { "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap having its variable-rate leg referenced to Federal Funds effective rate with no additional spread over Federal Funds effective rate on that variable-rate leg.", "label": "Federal Funds Effective Swap Rate [Member]", "verboseLabel": "Federal Funds Effective Swap Rate [Member]" } } }, "localname": "FederalFundsEffectiveSwapRateMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_FederalHomeLoanBanksAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Federal Home Loan Banks [Abstract]" } } }, "localname": "FederalHomeLoanBanksAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Useful Life (Years)" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfAcquiredIdentifiableIntangibleAssetDetail" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r254", "r406" ], "calculation": { "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "documentation": "A table containing detailed characteristics of finite-lived intangible assets acquired during a business combination. Finite-lived intangible assets are assets that have no physical form, but have expected future economic benefit, and are expected to be used over a defined period. Acquired finite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the Entity) and in total. Additionally, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period are also disclosed.", "label": "Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table]", "terseLabel": "Schedule of Acquired Finite-Lived Intangible Asset by Major Class [Table]" } } }, "localname": "FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r99" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsSummaryOfEstimatedAmortizationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r99" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five", "terseLabel": "2028" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsSummaryOfEstimatedAmortizationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r99" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "2027" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsSummaryOfEstimatedAmortizationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r99" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsSummaryOfEstimatedAmortizationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r99" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsSummaryOfEstimatedAmortizationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r403", "r405", "r406", "r407", "r682", "r686" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/AcquisitionsSummaryOfAcquiredIdentifiableIntangibleAssetDetail", "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail", "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFairValueDisclosure": { "auth_ref": [ "r954" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of assets, excluding financial assets, that lack physical substance, having a limited useful life.", "label": "Finite-lived Intangible Assets, Fair Value Disclosure", "terseLabel": "Fair Value" } } }, "localname": "FiniteLivedIntangibleAssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfAcquiredIdentifiableIntangibleAssetDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r97", "r686" ], "calculation": { "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Amount" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r93", "r96" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/AcquisitionsSummaryOfAcquiredIdentifiableIntangibleAssetDetail", "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail", "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r97", "r682" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Net Carrying Amount", "verboseLabel": "Identifiable Intangibles, net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": { "auth_ref": [ "r682" ], "lang": { "en-us": { "role": { "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Finite-Lived Intangible Assets, Remaining Amortization Period", "verboseLabel": "Finite lived intangible assets remaining useful Life" } } }, "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail" ], "xbrltype": "durationItemType" }, "us-gaap_FinitelivedIntangibleAssetsAcquired1": { "auth_ref": [ "r404" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.", "label": "Finite-Lived Intangible Assets Acquired", "terseLabel": "Fair Value" } } }, "localname": "FinitelivedIntangibleAssetsAcquired1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r632", "r633", "r634", "r635" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 15.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.", "label": "Foreign Currency Transaction Gain (Loss), before Tax", "terseLabel": "Net transactional foreign exchange gain (loss)", "verboseLabel": "Gain (Loss) on Foreign Currency Transactions" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.", "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]", "terseLabel": "Foreign Currency Translation" } } }, "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ForeignEarningsRepatriated": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign earnings repatriated from subsidiaries outside the country of domicile.", "label": "Foreign Earnings Repatriated", "terseLabel": "Deemed repatriated earnings" } } }, "localname": "ForeignEarningsRepatriated", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignExchangeMember": { "auth_ref": [ "r191" ], "lang": { "en-us": { "role": { "documentation": "Trading of derivative or nonderivative instruments whose primary underlying risk is tied to foreign exchange rates.", "label": "Foreign Exchange [Member]", "terseLabel": "Foreign Exchange [Member]" } } }, "localname": "ForeignExchangeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r63" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 26.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 }, "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 16.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedTerseLabel": "Loss on Disposal of Assets", "terseLabel": "Loss on Disposal of Assets" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows", "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainsLossesOnExtinguishmentOfDebt": { "auth_ref": [ "r63", "r118", "r119" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 24.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 }, "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 13.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "definitionGuidance": "Extinguishment of Debt \u2013 PPP Loan", "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.", "label": "Gain (Loss) on Extinguishment of Debt", "negatedLabel": "Gain on Extinguishment of Debt", "terseLabel": "Gain on Extinguishment of Debt \u2013 PPP Loan", "verboseLabel": "Gain on Extinguishment of Debt \u2013 PPP Loan" } } }, "localname": "GainsLossesOnExtinguishmentOfDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows", "http://astro-med.com/role/ConsolidatedStatementsOfIncome", "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r46" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 10.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "terseLabel": "Corporate Expenses", "verboseLabel": "General and Administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r40" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General and Administrative Expense [Member]", "verboseLabel": "General and Administrative Expense [Member]" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail", "http://astro-med.com/role/LeasesLeaseCostInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r253", "r391", "r688", "r763", "r789", "r841", "r842" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 9.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "terseLabel": "Goodwill", "verboseLabel": "Goodwill assigned" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": { "auth_ref": [ "r401", "r402", "r763" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.", "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": { "auth_ref": [ "r95" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.", "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]", "terseLabel": "Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r43", "r292", "r351", "r356", "r362", "r365", "r378", "r420", "r421", "r423", "r424", "r425", "r427", "r429", "r431", "r432", "r623", "r762", "r848" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 4.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross Profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_GuaranteesAndProductWarrantiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Guarantees and Product Warranties [Abstract]" } } }, "localname": "GuaranteesAndProductWarrantiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_HedgingRelationshipDomain": { "auth_ref": [ "r180" ], "lang": { "en-us": { "role": { "documentation": "Nature or intent of a hedge.", "label": "Hedging Relationship [Domain]", "terseLabel": "Hedging Relationship [Domain]", "verboseLabel": "Hedging Relationship [Domain]" } } }, "localname": "HedgingRelationshipDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail", "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill": { "auth_ref": [ "r63", "r100" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.", "label": "Impairment of Intangible Assets (Excluding Goodwill)", "terseLabel": "Impairment charges for intangible assets" } } }, "localname": "ImpairmentOfIntangibleAssetsExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwillAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Impairment of Intangible Assets (Excluding Goodwill) [Abstract]" } } }, "localname": "ImpairmentOfIntangibleAssetsExcludingGoodwillAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_ImpairmentOfIntangibleAssetsFinitelived": { "auth_ref": [ "r816", "r843" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of a finite-lived intangible asset to fair value.", "label": "Impairment of Intangible Assets, Finite-lived", "terseLabel": "Impairments of intangible assets" } } }, "localname": "ImpairmentOfIntangibleAssetsFinitelived", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": { "auth_ref": [ "r63", "r102", "r107" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale).", "label": "Impairment of Long-Lived Assets Held-for-use", "verboseLabel": "Impairment of Long lived assets held for use" } } }, "localname": "ImpairmentOfLongLivedAssetsHeldForUse", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": { "auth_ref": [ "r101", "r108" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.", "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]", "terseLabel": "Long-Lived Assets" } } }, "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "auth_ref": [ "r293", "r579" ], "calculation": { "http://astro-med.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetail": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic", "terseLabel": "Domestic" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r38", "r210", "r218", "r234", "r351", "r356", "r362", "r365", "r692", "r762" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 }, "http://astro-med.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before Income Taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome", "http://astro-med.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "auth_ref": [ "r293", "r579" ], "calculation": { "http://astro-med.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetail": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign", "terseLabel": "Foreign" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r409", "r411" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]", "verboseLabel": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail", "http://astro-med.com/role/LeasesLeaseCostInformationDetail", "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r411" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "verboseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail", "http://astro-med.com/role/LeasesLeaseCostInformationDetail", "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityAxis": { "auth_ref": [ "r154" ], "lang": { "en-us": { "role": { "documentation": "Information by tax jurisdiction.", "label": "Income Tax Authority [Axis]" } } }, "localname": "IncomeTaxAuthorityAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority [Domain]" } } }, "localname": "IncomeTaxAuthorityDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r294", "r555", "r561", "r567", "r575", "r580", "r582", "r583", "r584" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r295", "r318", "r319", "r349", "r553", "r576", "r581", "r698" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 }, "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "positiveLabel": "Income Tax Provision", "presentationGuidance": "Income Tax Provision", "totalLabel": "Total" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome", "http://astro-med.com/role/IncomeTaxesComponentsOfProvisionForIncomeTaxesDetail", "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r276", "r549", "r550", "r561", "r562", "r566", "r570" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.", "label": "Income Tax, Policy [Policy Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r941" ], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 10.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.", "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount", "terseLabel": "Change in Valuation Allowance" } } }, "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r941" ], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 7.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount", "terseLabel": "Foreign Rate Differential" } } }, "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r554" ], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount", "terseLabel": "Income Tax Provision at Statutory Rate" } } }, "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment": { "auth_ref": [ "r941" ], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 8.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible meals and entertainment expense.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Meals and Entertainment, Amount", "terseLabel": "Meals and Entertainment" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost": { "auth_ref": [ "r941" ], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 9.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Payment Arrangement, Amount", "terseLabel": "Share Based Compensation" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationOtherAdjustments": { "auth_ref": [ "r941" ], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 6.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.", "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Amount", "terseLabel": "Other" } } }, "localname": "IncomeTaxReconciliationOtherAdjustments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes": { "auth_ref": [ "r941" ], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 3.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to revisions of previously reported income tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, Prior Year Income Taxes, Amount", "terseLabel": "Return to Provision Adjustment" } } }, "localname": "IncomeTaxReconciliationPriorYearIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r941" ], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount", "terseLabel": "State Taxes, Net of Federal Tax Effect" } } }, "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationTaxCreditsForeign": { "auth_ref": [ "r941" ], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 5.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign tax credit.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Foreign, Amount", "negatedLabel": "Foreign Derived Intangible Income" } } }, "localname": "IncomeTaxReconciliationTaxCreditsForeign", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": { "auth_ref": [ "r941" ], "calculation": { "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail": { "order": 4.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount", "negatedLabel": "R&D Credits" } } }, "localname": "IncomeTaxReconciliationTaxCreditsResearch", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesReconciliationOfIncomeTaxProvisionBenefitWithTheAmountComputedByApplyingTheStatutoryFederalIncomeTaxRateToTheIncomeBeforeIncomeTaxProvisionBenefitDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r67" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Cash Paid During the Period for Income Taxes, Net of Refunds" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "auth_ref": [ "r62" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 20.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.", "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities", "terseLabel": "Accounts Payable and Accrued Expenses" } } }, "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r62" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts Receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "auth_ref": [ "r62" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 21.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.", "label": "Increase (Decrease) in Income Taxes Payable", "verboseLabel": "Income Taxes Payable" } } }, "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r62" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 19.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in Assets and Liabilities, net of impact of acquisition:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": { "auth_ref": [ "r62" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 22.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net", "negatedLabel": "Other" } } }, "localname": "IncreaseDecreaseInOtherOperatingCapitalNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntangibleAssetsAmortizationPeriodMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A revision in the estimated economic useful life of a finite-lived intangible asset (the period of time over which the asset is projected to benefit operations).", "label": "Intangible Assets, Amortization Period [Member]", "terseLabel": "Intangible Assets, Amortization Period [Member]" } } }, "localname": "IntangibleAssetsAmortizationPeriodMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r408" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "Intangible Assets" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r208", "r220", "r280", "r345", "r648" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 14.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "Interest Expense", "negatedLabel": "Interest Expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpenseDebt": { "auth_ref": [ "r48", "r453", "r462", "r767", "r768" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt.", "label": "Interest Expense, Debt", "verboseLabel": "Interest Expense, Debt" } } }, "localname": "InterestExpenseDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r285", "r288", "r289" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash Paid During the Period for Interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r388" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventories" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/Inventories" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoods": { "auth_ref": [ "r809" ], "calculation": { "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail": { "order": 4.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.", "label": "Inventory, Finished Goods, Gross", "terseLabel": "Finished Goods" } } }, "localname": "InventoryFinishedGoods", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryGross": { "auth_ref": [ "r811" ], "calculation": { "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Inventory, Gross", "totalLabel": "Inventory, Gross" } } }, "localname": "InventoryGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r263", "r752", "r789" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "totalLabel": "Inventories", "verboseLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPolicyTextBlock": { "auth_ref": [ "r249", "r262", "r331", "r386", "r387", "r388", "r680", "r757" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.", "label": "Inventory, Policy [Policy Text Block]", "terseLabel": "Inventories" } } }, "localname": "InventoryPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryRawMaterialsAndSupplies": { "auth_ref": [ "r811" ], "calculation": { "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail": { "order": 2.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed.", "label": "Inventory, Raw Materials and Supplies, Gross", "terseLabel": "Materials and Supplies" } } }, "localname": "InventoryRawMaterialsAndSupplies", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryValuationReserves": { "auth_ref": [ "r90", "r811" ], "calculation": { "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail": { "order": 5.0, "parentTag": "us-gaap_InventoryNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation reserve for inventory.", "label": "Inventory Valuation Reserves", "negatedLabel": "Inventory Reserve" } } }, "localname": "InventoryValuationReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcess": { "auth_ref": [ "r810" ], "calculation": { "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail": { "order": 3.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.", "label": "Inventory, Work in Process, Gross", "terseLabel": "Work-in-Progress" } } }, "localname": "InventoryWorkInProcess", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/InventoriesComponentsOfInventoriesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandAndLandImprovements": { "auth_ref": [ "r806" ], "calculation": { "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation and depletion of real estate held for productive use and additions or improvements to real estate held for productive use, examples include, but are not limited to, walkways, driveways, fences, and parking lots. Excludes land held for sale.", "label": "Land and Land Improvements", "terseLabel": "Land and Land Improvements" } } }, "localname": "LandAndLandImprovements", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandImprovementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to real estate held.", "label": "Land Improvements [Member]", "terseLabel": "Land Improvements [Member]" } } }, "localname": "LandImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r961" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "verboseLabel": "Schedule Lease Cost Information" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases [Abstract]", "verboseLabel": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r962" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.", "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "verboseLabel": "Schedule of Maturities Of Lease Liabilities" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r662" ], "calculation": { "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total Lease Payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r662" ], "calculation": { "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r662" ], "calculation": { "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r662" ], "calculation": { "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "terseLabel": "2028" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r662" ], "calculation": { "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r662" ], "calculation": { "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r662" ], "calculation": { "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r662" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: Imputed Interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r663" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "verboseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LessorLeasesPolicyTextBlock": { "auth_ref": [ "r664", "r665", "r666", "r667" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for leasing arrangements entered into by lessor.", "label": "Lessor, Leases [Policy Text Block]", "verboseLabel": "Leases" } } }, "localname": "LessorLeasesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r20", "r292", "r378", "r420", "r421", "r423", "r424", "r425", "r427", "r429", "r431", "r432", "r593", "r597", "r598", "r623", "r761", "r848", "r964", "r965" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 13.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "TOTAL LIABILITIES" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r12", "r216", "r230", "r789", "r819", "r840", "r957" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "TOTAL LIABILITIES AND SHAREHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND SHAREHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r22", "r248", "r292", "r378", "r420", "r421", "r423", "r424", "r425", "r427", "r429", "r431", "r432", "r593", "r597", "r598", "r623", "r789", "r848", "r964", "r965" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 20.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total Current Liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "CURRENT LIABILITIES" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesNoncurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Noncurrent [Abstract]", "terseLabel": "NON-CURRENT\u00a0LIABILITIES" } } }, "localname": "LiabilitiesNoncurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r3", "r215", "r224" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.", "label": "Long-term Line of Credit", "terseLabel": "Revolving loan outstanding" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityAxis": { "auth_ref": [ "r18", "r818" ], "lang": { "en-us": { "role": { "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit.", "label": "Lender Name [Axis]", "terseLabel": "Lender Name [Axis]" } } }, "localname": "LineOfCreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityCommitmentFeeAmount": { "auth_ref": [ "r18" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the fee for available but unused credit capacity under the credit facility.", "label": "Line of Credit Facility, Commitment Fee Amount", "terseLabel": "Line of Credit Facility, Commitment Fee Amount" } } }, "localname": "LineOfCreditFacilityCommitmentFeeAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used.", "label": "Line of Credit Facility, Commitment Fee Percentage", "verboseLabel": "Commitment fee rate" } } }, "localname": "LineOfCreditFacilityCommitmentFeePercentage", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_LineOfCreditFacilityLenderDomain": { "auth_ref": [ "r18", "r818" ], "lang": { "en-us": { "role": { "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility.", "label": "Line of Credit Facility, Lender [Domain]", "terseLabel": "Line of Credit Facility, Lender [Domain]" } } }, "localname": "LineOfCreditFacilityLenderDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r18" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "presentationGuidance": "Maximum borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "auth_ref": [ "r18" ], "crdr": "credit", "lang": { "en-us": { "role": { "definitionGuidance": "Line of Credit Facility, Remaining Borrowing Capacity", "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).", "label": "Line of Credit Facility, Remaining Borrowing Capacity" } } }, "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LinesOfCreditCurrent": { "auth_ref": [ "r1", "r212" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 25.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.", "label": "Line of Credit, Current", "presentationGuidance": "Revolving Line of Credit" } } }, "localname": "LinesOfCreditCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LondonInterbankOfferedRateLIBORMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.", "label": "London Interbank Offered Rate (LIBOR) [Member]", "terseLabel": "LIBOR [Member]" } } }, "localname": "LondonInterbankOfferedRateLIBORMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r3", "r215", "r228", "r446", "r461", "r765", "r766" ], "calculation": { "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.", "label": "Long-term Debt", "totalLabel": "Long-term Debt" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r19" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 29.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt, Current Maturities", "negatedLabel": "Current Portion of Term Loan", "terseLabel": "Current Portion of Long-Term Debt" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "auth_ref": [ "r117", "r297", "r451" ], "calculation": { "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail": { "order": 1.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months", "verboseLabel": "Fiscal 2024" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": { "auth_ref": [ "r117", "r297", "r451" ], "calculation": { "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail": { "order": 5.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-term Debt, Maturities, Repayments of Principal in Year Five", "verboseLabel": "Fiscal 2028" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": { "auth_ref": [ "r117", "r297", "r451" ], "calculation": { "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail": { "order": 4.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-term Debt, Maturities, Repayments of Principal in Year Four", "verboseLabel": "Fiscal 2027" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "auth_ref": [ "r117", "r297", "r451" ], "calculation": { "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail": { "order": 3.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-term Debt, Maturities, Repayments of Principal in Year Three", "verboseLabel": "Fiscal 2026" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "auth_ref": [ "r117", "r297", "r451" ], "calculation": { "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail": { "order": 2.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-term Debt, Maturities, Repayments of Principal in Year Two", "verboseLabel": "Fiscal 2025" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfRequiredPrincipalPaymentsRemainingOnLongTermDebtOutstandingDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r256" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 14.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.", "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-Term Debt", "verboseLabel": "Long-Term Debt, net of current portion" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/CreditAgreementAndLongTermDebtScheduleOfLongTermDebtInTheAccompanyingCondensedConsolidatedBalanceSheetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtWeightedAverageInterestRateOverTime": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average interest rate of long-term debt outstanding calculated over time.", "label": "Long-Term Debt, Weighted Average Interest Rate, over Time", "terseLabel": "Long term debt weighted average interest rate over a period of time" } } }, "localname": "LongTermDebtWeightedAverageInterestRateOverTime", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_MachineryAndEquipmentGross": { "auth_ref": [ "r104" ], "calculation": { "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail": { "order": 4.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.", "label": "Machinery and Equipment, Gross", "terseLabel": "Machinery and Equipment" } } }, "localname": "MachineryAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_MachineryAndEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.", "label": "Machinery and Equipment [Member]", "terseLabel": "Machinery and Equipment [Member]" } } }, "localname": "MachineryAndEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_MeasurementInputDiscountRateMember": { "auth_ref": [ "r955" ], "lang": { "en-us": { "role": { "documentation": "Measurement input using interest rate to determine present value of future cash flows.", "label": "Measurement Input, Discount Rate [Member]" } } }, "localname": "MeasurementInputDiscountRateMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_MeasurementInputTypeAxis": { "auth_ref": [ "r619" ], "lang": { "en-us": { "role": { "documentation": "Information by type of measurement input used to determine value of asset and liability.", "label": "Measurement Input Type [Axis]" } } }, "localname": "MeasurementInputTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_MeasurementInputTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement input used to determine value of asset and liability.", "label": "Measurement Input Type [Domain]" } } }, "localname": "MeasurementInputTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r287" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net Cash Provided (Used) by Financing Activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash Flows from Financing Activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r287" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 27.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net Cash Used by Investing Activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash Flows from Investing Activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r59", "r61", "r64" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net Cash Provided (Used) by Operating Activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash Flows from Operating Activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r39", "r64", "r219", "r233", "r246", "r271", "r274", "r279", "r292", "r308", "r312", "r313", "r314", "r315", "r318", "r319", "r325", "r351", "r356", "r362", "r365", "r378", "r420", "r421", "r423", "r424", "r425", "r427", "r429", "r431", "r432", "r616", "r623", "r762", "r848" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 6.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net Income", "totalLabel": "Net Income", "verboseLabel": "Net Income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity", "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome", "http://astro-med.com/role/ConsolidatedStatementsOfIncome", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Non-Cash Transactions:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NoncurrentAssets": { "auth_ref": [ "r369" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.", "label": "Long-Lived Assets", "terseLabel": "Long-Lived Assets" } } }, "localname": "NoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r47" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 11.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "totalLabel": "Other Income (Expense), net", "verboseLabel": "Other Income (Expense), Net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other Income (Expense):" } } }, "localname": "NonoperatingIncomeExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "stringItemType" }, "us-gaap_NonoperatingIncomeExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing nonoperating income (expense).", "label": "Nonoperating Income (Expense) [Member]" } } }, "localname": "NonoperatingIncomeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r833" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reporting segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingCostsAndExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Costs and Expenses [Abstract]", "terseLabel": "Costs and Expenses:" } } }, "localname": "OperatingCostsAndExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 7.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "Operating Expenses", "totalLabel": "Operating Expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r351", "r356", "r362", "r365", "r762" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "terseLabel": "Operating Income", "totalLabel": "Operating Income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseExpense": { "auth_ref": [ "r960" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease, Expense", "verboseLabel": "Operating Lease Costs" } } }, "localname": "OperatingLeaseExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesLeaseCostInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r656" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "verboseLabel": "Total Lease Liabilities" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r656" ], "calculation": { "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail": { "order": 7.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "definitionGuidance": "Other Accrued Expenses", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "verboseLabel": "Lease Liability" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail", "http://astro-med.com/role/LeasesScheduleOfBalanceSheetAndOtherInformationRelatedToOperatingLeasesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r657" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.", "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]" } } }, "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r656" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 16.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Lease Liabilities", "verboseLabel": "Lease Liabilities, net of current portion" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/LeasesScheduleOfBalanceSheetAndOtherInformationRelatedToOperatingLeasesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r658", "r659" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "verboseLabel": "Cash paid for operating lease liabilities" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesSupplementalCashFlowInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r655" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 12.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right of Use Assets", "verboseLabel": "Right of Use Asset" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/LeasesScheduleOfBalanceSheetAndOtherInformationRelatedToOperatingLeasesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r661", "r788" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "verboseLabel": "Operating Lease, Weighted Average Discount Rate, Percent" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r660", "r788" ], "lang": { "en-us": { "role": { "definitionGuidance": "Operating Lease, Weighted Average Remaining Lease Term", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesAdditionalInformationDetail" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r355", "r356", "r357", "r358", "r359", "r365" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]", "terseLabel": "Operating Segments [Member]" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "domainItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r21" ], "calculation": { "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "verboseLabel": "Other Accrued Expenses" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsMiscellaneousNoncurrent": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 11.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer.", "label": "Other Assets, Miscellaneous, Noncurrent", "verboseLabel": "Other Assets" } } }, "localname": "OtherAssetsMiscellaneousNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": { "auth_ref": [ "r34", "r36", "r278", "r637", "r639", "r643", "r813" ], "calculation": { "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax, before reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), before Reclassifications, Net of Tax", "terseLabel": "Other Comprehensive Income (Loss) before reclassification" } } }, "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax": { "auth_ref": [ "r266", "r268" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 3.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, after Tax", "terseLabel": "Change in Value of Derivatives Designated as Cash Flow Hedge" } } }, "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax": { "auth_ref": [ "r266", "r268", "r599", "r600", "r603" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax and reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness.", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification and Tax", "terseLabel": "Amount of Gain (Loss) Recognized in OCI on Derivative" } } }, "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementScheduleOfImpactOfTheDerivativeInstrumentsInTheCondensedConsolidatedFinancialStatementsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax": { "auth_ref": [ "r268", "r270" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 4.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax, of reclassification of gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, after Tax", "negatedLabel": "(Gains) Losses from Cash Flow Hedges Reclassified to Income Statement" } } }, "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseAfterAdjustmentsAndTax": { "auth_ref": [ "r267", "r601" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 5.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and adjustments, of gain (loss) from increase (decrease) in value of excluded component of derivative designated and qualifying as hedge. Adjustments include, but are not limited to, reclassifications for sale and settlement, and amounts recognized under systematic and rational method.", "label": "Other Comprehensive Income (Loss), Derivative, Excluded Component, Increase (Decrease), after Adjustments and Tax", "terseLabel": "Cross-Currency Interest Rate Swap Terminations" } } }, "localname": "OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseAfterAdjustmentsAndTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax": { "auth_ref": [ "r267", "r268", "r601", "r603" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before adjustments, of gain (loss) from increase (decrease) in value of excluded component of derivative designated and qualifying as hedge. Adjustments include, but are not limited to, reclassifications for sale and settlement, and amounts recognized under systematic and rational method.", "label": "Other Comprehensive Income (Loss), Derivative, Excluded Component, Increase (Decrease), before Adjustments, after Tax", "verboseLabel": "Interest Rate Swap Termination" } } }, "localname": "OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r29" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign Currency Translation Adjustments" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r36", "r124", "r272", "r275", "r281", "r637", "r642", "r643", "r689", "r695", "r813", "r814" ], "calculation": { "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Other Comprehensive Income (Loss)", "totalLabel": "Other Comprehensive Income (Loss)" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail", "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity", "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Other Comprehensive Income (Loss), net of taxes and reclassification adjustments:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherExpenseMember": { "auth_ref": [ "r188" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other expense.", "label": "Other Expense [Member]" } } }, "localname": "OtherExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r49" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 12.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "verboseLabel": "Other, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_PayablesAndAccrualsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Payables and Accruals [Abstract]" } } }, "localname": "PayablesAndAccrualsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "auth_ref": [ "r58" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.", "label": "Payments of Debt Issuance Costs", "negatedLabel": "Payments of Debt Issuance Costs" } } }, "localname": "PaymentsOfDebtIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividendsCommonStock": { "auth_ref": [ "r56" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.", "label": "Payments of Ordinary Dividends, Common Stock", "negatedLabel": "Dividends Paid" } } }, "localname": "PaymentsOfDividendsCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r284" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payment, Tax Withholding, Share-based Payment Arrangement", "negatedLabel": "Net Cash Used for Payment of Taxes Related to Vested Restricted Stock" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r52", "r590" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.", "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Purchase price of acquisition" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireLand": { "auth_ref": [ "r53" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow from the acquisition of real estate intended to generate income for the owner; excludes land acquired for use by the owner.", "label": "Payments to Acquire Land", "terseLabel": "Payments to Acquire Additional Interest in Subsidiaries" } } }, "localname": "PaymentsToAcquireLand", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r53" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 28.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Additions to Property, Plant and Equipment", "terseLabel": "Capital Expenditures" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]", "terseLabel": "Performance Based RSUs [Member]" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r914", "r915", "r916", "r917", "r918", "r919", "r920", "r921", "r922", "r923", "r924", "r925", "r926", "r927", "r928", "r929", "r930", "r931", "r932", "r933", "r934", "r935", "r936", "r937", "r938", "r939" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r914", "r915", "r916", "r917", "r918", "r919", "r920", "r921", "r922", "r923", "r924", "r925", "r926", "r927", "r928", "r929", "r930", "r931", "r932", "r933", "r934", "r935", "r936", "r937", "r938", "r939" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_PortionAtFairValueFairValueDisclosureMember": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "documentation": "Measured at fair value for financial reporting purposes.", "label": "Portion at Fair Value Measurement [Member]" } } }, "localname": "PortionAtFairValueFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/FairValueMeasurementsScheduleOfCompanysLongTermDebtIncludingTheCurrentPortionNotReflectedInFinancialStatementsAtFairValueDetail" ], "xbrltype": "domainItemType" }, "us-gaap_PostemploymentBenefitsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Postemployment Benefits [Abstract]" } } }, "localname": "PostemploymentBenefitsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r6", "r463" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred Stock, Par Value" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r6" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred Stock, Shares Authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r6", "r463" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred Stock, Shares Issued" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r6", "r789" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 31.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred Stock" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r812" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid Expenses and Other Current Assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.", "label": "Prepaid Expenses and Other Current Assets [Member]", "terseLabel": "Prepaid Expenses and Other Current Assets [Member]" } } }, "localname": "PrepaidExpensesAndOtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "auth_ref": [ "r805" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.", "label": "Reclassification, Policy [Policy Text Block]", "terseLabel": "Reclassification" } } }, "localname": "PriorPeriodReclassificationAdjustmentDescription", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "auth_ref": [ "r55" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.", "label": "Proceeds from Issuance of Long-term Debt", "terseLabel": "Proceeds from Long-Term Debt Borrowings" } } }, "localname": "ProceedsFromIssuanceOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "auth_ref": [ "r54", "r149" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.", "label": "Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options", "terseLabel": "Net Cash Proceeds from Employee Stock Option Plans" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLoans": { "auth_ref": [ "r60" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash received from principal payments made on loans related to operating activities.", "label": "Proceeds from Loans", "terseLabel": "Debt related commitment fees and debt issuance costs" } } }, "localname": "ProceedsFromLoans", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLongTermLinesOfCredit": { "auth_ref": [ "r55" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.", "label": "Proceeds from Long-Term Lines of Credit", "terseLabel": "Proceeds from long term line of credit" } } }, "localname": "ProceedsFromLongTermLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromRepaymentsOfLinesOfCredit": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The net cash inflow or cash outflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with either short term or long term maturity that is collateralized (backed by pledge, mortgage or other lien in the entity's assets).", "label": "Proceeds from (Repayments of) Lines of Credit", "verboseLabel": "Net (Repayments)/Borrowings under Revolving Credit Facility" } } }, "localname": "ProceedsFromRepaymentsOfLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockPlans": { "auth_ref": [ "r54" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from the stock plan during the period.", "label": "Proceeds from Stock Plans", "terseLabel": "Net Cash Proceeds from Share Purchases under Employee Stock Purchase Plan" } } }, "localname": "ProceedsFromStockPlans", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantiesDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Product Warranties Disclosures [Abstract]" } } }, "localname": "ProductWarrantiesDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "auth_ref": [ "r21", "r111", "r112" ], "calculation": { "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Product Warranty Accrual, Current", "periodEndLabel": "Balance, end of the year", "periodStartLabel": "Balance, beginning of the year", "terseLabel": "Warranty" } } }, "localname": "ProductWarrantyAccrualClassifiedCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccruedExpensesSummaryOfAccruedExpensesDetail", "http://astro-med.com/role/ProductWarrantyLiabilityActivityInProductWarrantyLiabilityDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r113" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "negatedLabel": "Cost of Warranty Repairs" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ProductWarrantyLiabilityActivityInProductWarrantyLiabilityDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r114" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Provision for Warranty Expense" } } }, "localname": "ProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ProductWarrantyLiabilityActivityInProductWarrantyLiabilityDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyDisclosureTextBlock": { "auth_ref": [ "r116" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.", "label": "Product Warranty Disclosure [Text Block]", "terseLabel": "Product Warranty Liability" } } }, "localname": "ProductWarrantyDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ProductWarrantyLiability" ], "xbrltype": "textBlockItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r246", "r271", "r274", "r286", "r292", "r308", "r318", "r319", "r351", "r356", "r362", "r365", "r378", "r420", "r421", "r423", "r424", "r425", "r427", "r429", "r431", "r432", "r591", "r594", "r595", "r616", "r623", "r692", "r762", "r786", "r787", "r815", "r848" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 23.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net Income" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r106" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Property, Plant and Equipment, Type [Axis]", "terseLabel": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r109", "r716", "r717", "r718" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r104", "r251" ], "calculation": { "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "totalLabel": "Gross Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r106", "r231", "r693", "r789" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property, Plant and Equipment, net", "totalLabel": "Net Property Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r106", "r716", "r717" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "terseLabel": "Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r106" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Summary of Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r104" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Property, Plant and Equipment, Type [Domain]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.", "label": "Property, Plant and Equipment, Useful Life", "terseLabel": "Estimated useful lives of the assets" } } }, "localname": "PropertyPlantAndEquipmentUsefulLife", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "durationItemType" }, "us-gaap_PurchaseObligation": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.", "label": "Purchase Obligation", "terseLabel": "Purchase obligation" } } }, "localname": "PurchaseObligation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_PurchaseObligationDueInNextTwelveMonths": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of purchase arrangement to be paid in next fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Purchase Obligation, to be Paid, Year One", "terseLabel": "Purchase obligation, to be paid, year one" } } }, "localname": "PurchaseObligationDueInNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesPolicyTextBlock": { "auth_ref": [ "r836", "r837", "r838", "r839" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.", "label": "Receivables, Policy [Policy Text Block]", "terseLabel": "Accounts Receivables and Allowance for Doubtful Accounts" } } }, "localname": "ReceivablesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax": { "auth_ref": [ "r34", "r36", "r278", "r637", "r641", "r643", "r813" ], "calculation": { "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss).", "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax", "negatedLabel": "Amounts reclassified from AOCL to Earnings" } } }, "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock": { "auth_ref": [ "r84", "r86" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of each significant reconciling item, other than profit (loss), revenues, or assets, in the reconciliation of totals of such items in reportable segments to the entity's corresponding consolidated amount.", "label": "Reconciliation of Other Significant Reconciling Items from Segments to Consolidated [Table Text Block]", "terseLabel": "Summary of Other Information by Segment" } } }, "localname": "ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RegulatedOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Regulated Operations [Abstract]" } } }, "localname": "RegulatedOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RepaymentsOfMediumTermNotes": { "auth_ref": [ "r57" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to pay off borrowing used to receive debt funding on a regular basis with maturities ranging from 5-10 years.", "label": "Repayments of Medium-term Notes", "negatedLabel": "Principal Payments on Long-Term Debt" } } }, "localname": "RepaymentsOfMediumTermNotes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfOtherLongTermDebt": { "auth_ref": [ "r57" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for the payment of debt classified as other, maturing after one year or the operating cycle, if longer.", "label": "Repayments of Other Long-term Debt", "negatedLabel": "Payoff of Long-Term Debt" } } }, "localname": "RepaymentsOfOtherLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r151", "r238", "r972" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 9.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research and Development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "auth_ref": [ "r151" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.", "label": "Research and Development Expense, Policy [Policy Text Block]", "terseLabel": "Research and Development Costs" } } }, "localname": "ResearchAndDevelopmentExpensePolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestrictedStockExpense": { "auth_ref": [ "r63" ], "calculation": { "http://astro-med.com/role/ShareBasedCompensationShareBasedCompensationExpenseDetail": { "order": 2.0, "parentTag": "us-gaap_ShareBasedCompensation", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for award of restricted stock or unit under share-based payment arrangement.", "label": "Restricted Stock or Unit Expense", "terseLabel": "Restricted Stock Awards and Restricted Stock Units" } } }, "localname": "RestrictedStockExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail", "http://astro-med.com/role/ShareBasedCompensationShareBasedCompensationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r70" ], "lang": { "en-us": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted Stock [Member]", "terseLabel": "RSA [Member]" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted Stock Units (RSUs) [Member]" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r9", "r131", "r229", "r706", "r711", "r789" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 34.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r242", "r305", "r306", "r307", "r309", "r317", "r319", "r382", "r541", "r542", "r543", "r573", "r574", "r614", "r702", "r704" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RetirementPlanTaxStatusAxis": { "auth_ref": [ "r853", "r854", "r855", "r856", "r857", "r858", "r859", "r860", "r861", "r862", "r863", "r864", "r865", "r866", "r867", "r868", "r869", "r870", "r871", "r872", "r873", "r874", "r875", "r876", "r877", "r878", "r879", "r880", "r881", "r882", "r883", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913" ], "lang": { "en-us": { "role": { "documentation": "Information by tax status of plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans.", "label": "Retirement Plan Tax Status [Axis]", "terseLabel": "Retirement Plan Tax Status [Axis]" } } }, "localname": "RetirementPlanTaxStatusAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_RetirementPlanTaxStatusDomain": { "auth_ref": [ "r853", "r854", "r855", "r856", "r857", "r858", "r859", "r860", "r861", "r862", "r863", "r864", "r865", "r866", "r867", "r868", "r869", "r870", "r871", "r872", "r873", "r874", "r875", "r876", "r877", "r878", "r879", "r880", "r881", "r882", "r883", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913" ], "lang": { "en-us": { "role": { "documentation": "Tax status of plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans.", "label": "Retirement Plan Tax Status [Domain]", "terseLabel": "Retirement Plan Tax Status [Domain]" } } }, "localname": "RetirementPlanTaxStatusDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r342", "r343", "r355", "r360", "r361", "r367", "r368", "r371", "r491", "r492", "r681" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 5.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue", "verboseLabel": "Total Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryGeographicMarketsDetail", "http://astro-med.com/role/RevenueRecognitionSummaryOfRevenuesDisaggregatedByPrimaryProductTypeDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r494", "r495" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/RevenueRecognition" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "auth_ref": [ "r758", "r759" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.", "label": "Revenue Recognition, Policy [Policy Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueRecognitionPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "terseLabel": "Revenues from External Customers and Long-Lived Assets [Line Items]" } } }, "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail" ], "xbrltype": "stringItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Credit Facility [Member]" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_RisksAndUncertaintiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Risks and Uncertainties [Abstract]" } } }, "localname": "RisksAndUncertaintiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RoyaltyExpense": { "auth_ref": [ "r45" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense related to royalty payments under a contractual arrangement such as payment for mineral and drilling rights and use of technology or intellectual property.", "label": "Royalty Expense", "terseLabel": "Royalty expense" } } }, "localname": "RoyaltyExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_RoyaltyGuaranteesCommitmentsAmount": { "auth_ref": [ "r687" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount the entity has committed to make for future royalty guarantees.", "label": "Royalty Guarantees, Commitments, Amount", "verboseLabel": "Royalty guarantee commitement amount" } } }, "localname": "RoyaltyGuaranteesCommitmentsAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r371", "r832" ], "lang": { "en-us": { "role": { "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.", "label": "Sales Revenue, Net [Member]", "terseLabel": "Sales Revenue, Net [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Summary of Accrued Expenses" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccruedExpensesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r34", "r958", "r959" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).", "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "Changes in Balance of Accumulated Other Comprehensive Loss" } } }, "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the major classes of acquired finite-lived intangible assets showing the amount, any significant residual value, weighted average amortization period, and other characteristics. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.", "label": "Schedule of Acquired Finite-Lived Intangible Asset by Major Class [Table]" } } }, "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfAcquiredIdentifiableIntangibleAssetDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.", "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]", "terseLabel": "Summary of Acquired Identifiable Intangible Asset" } } }, "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r163", "r164", "r585" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsAdditionalInformationDetail", "http://astro-med.com/role/AcquisitionsSummaryOfPurchasePriceOfAcquisitionAllocatedOnBasisOfFairValueDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCapitalizationEquityLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Schedule of Capitalization, Equity [Line Items]", "terseLabel": "Schedule of Capitalization, Equity [Line Items]" } } }, "localname": "ScheduleOfCapitalizationEquityLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCapitalizationEquityTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Summarization of information required and determined to be disclosed concerning the equity component of the capitalization of the entity. The table may be detailed by subsidiary (legal entity) (if applicable) and include information by component of equity as may be included in the Statement of Changes in Shareholders' Equity.", "label": "Schedule of Capitalization, Equity [Table]", "terseLabel": "Schedule of Capitalization, Equity [Table]" } } }, "localname": "ScheduleOfCapitalizationEquityTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of supplemental cash flow information for the periods presented.", "label": "Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]", "verboseLabel": "Supplemental Cash Flow Information Related To Leases" } } }, "localname": "ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock": { "auth_ref": [ "r147" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit.", "label": "Schedule of Compensation Cost for Share-based Payment Arrangements, Allocation of Share-based Compensation Costs by Plan [Table Text Block]", "terseLabel": "Share-Based Compensation Expense" } } }, "localname": "ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r158" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "terseLabel": "Components of Provision for Income Taxes" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDebtTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.", "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Schedule of Long Term Debt in the Accompanying Condensed Consolidated Balance Sheets" } } }, "localname": "ScheduleOfDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r155" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.", "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "terseLabel": "Tax Effects of Temporary Differences that gave Rise to Significant Portions of Deferred Tax Assets and Liabilities" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "auth_ref": [ "r183", "r187", "r602" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "terseLabel": "Schedule of Impact of the Derivative Instruments in the Condensed Consolidated Financial Statements" } } }, "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/DerivativeFinancialInstrumentsAndRiskManagementTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r153" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "verboseLabel": "Reconciliation of income tax provision/(benefit) With The Amount Computed By Applying The Statutory Federal Income Tax Rate To The Income Before Income Tax Provision/(benefit)" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period.", "label": "Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]", "terseLabel": "Summary of Fair Value of the Acquired Identifiable Intangible Assets and Related Estimated Useful Lives" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r93", "r96", "r682" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r93", "r96" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Fair Value of Acquired Identifiable Intangible Assets and Related Estimated Useful Lives" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "auth_ref": [ "r820" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.", "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]", "terseLabel": "Components of Income before Income Taxes" } } }, "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r0", "r13", "r14", "r15" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Components of Inventories" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/InventoriesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "auth_ref": [ "r117" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.", "label": "Schedule of Maturities of Long-term Debt [Table Text Block]", "terseLabel": "Schedule of Required Principal Payments Remaining on Long Term Debt Outstanding" } } }, "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r115" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Activity in Product Warranty Liability" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ProductWarrantyLiabilityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "auth_ref": [ "r167" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Summary of Purchase Price of Acquisition Allocated on Basis of Fair Value" } } }, "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": { "auth_ref": [ "r42", "r88" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.", "label": "Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]", "terseLabel": "Summary of Selected Financial Information by Geographic Area" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "auth_ref": [ "r37", "r88" ], "lang": { "en-us": { "role": { "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "terseLabel": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfSelectedFinancialInformationByGeographicAreaDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r82", "r83", "r85", "r91" ], "lang": { "en-us": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r82", "r83", "r85", "r91" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Net Sales and Segment Operating Profit (loss) for Each Reporting Segment" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r505", "r506", "r508", "r509", "r510", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r532", "r533", "r534", "r535", "r536" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail", "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail", "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": { "auth_ref": [ "r148" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms.", "label": "Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table Text Block]", "terseLabel": "Summary of Options Outstanding" } } }, "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r138", "r142", "r143" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Compensation, Stock Options, Activity [Table Text Block]", "terseLabel": "Aggregated Information Regarding Stock Options Granted" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.", "label": "Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block]", "terseLabel": "Aggregated Information Regarding RSUs and RSAs Granted" } } }, "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfStockByClassTable": { "auth_ref": [ "r121", "r122", "r123", "r125", "r126", "r127", "r128", "r129", "r130", "r131", "r257", "r258", "r259", "r333", "r463", "r464", "r465", "r467", "r471", "r476", "r478", "r769", "r802", "r817" ], "lang": { "en-us": { "role": { "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity.", "label": "Schedule of Stock by Class [Table]", "terseLabel": "Schedule of Stock by Class [Table]" } } }, "localname": "ScheduleOfStockByClassTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareholdersEquityAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "auth_ref": [ "r785", "r942" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the change in unrecognized tax benefits.", "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]", "terseLabel": "Changes in Balance of Unrecognized Tax Benefits, Excluding Interest and Penalties" } } }, "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r96" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Summary of Estimated Amortization Expense" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r339", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r365", "r371", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r412", "r413", "r763", "r973" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]", "terseLabel": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r339", "r340", "r341", "r351", "r354", "r359", "r363", "r364", "r365", "r366", "r367", "r370", "r371", "r372" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Nature of Operations, Segment Reporting and Geographical Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information [Line Items]" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "stringItemType" }, "us-gaap_SelfInsuranceReservePolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for self-insurance reserves, including, but not limited to incurred but not reported reserves (IBNR).", "label": "Self Insurance Reserve [Policy Text Block]", "verboseLabel": "Self-Insurance" } } }, "localname": "SelfInsuranceReservePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 8.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "terseLabel": "Selling and Marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r40" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling and Marketing Expense [Member]", "terseLabel": "Selling and Marketing Expense [Member]" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r62" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://astro-med.com/role/ShareBasedCompensationShareBasedCompensationExpenseDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Compensation", "terseLabel": "Share-Based Compensation", "totalLabel": "Total" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows", "http://astro-med.com/role/ShareBasedCompensationShareBasedCompensationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation [Abstract]" } } }, "localname": "ShareBasedCompensationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate": { "auth_ref": [ "r148" ], "lang": { "en-us": { "role": { "documentation": "Discount rate from fair value on purchase date that participants pay for shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Purchase Date", "terseLabel": "Employee Stock Purchase Plan discount rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r525" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Forfeited, Restricted Stock Units and Restricted Stock Awards" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r525" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited, Weighted Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r523" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted, Restricted Stock Units and Restricted Stock Awards" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r523" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted, Weighted Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r520", "r521" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Ending balance, Outstanding Restricted Stock Units and Restricted Stock Awards", "periodStartLabel": "Beginning balance, Outstanding Restricted Stock Units and Restricted Stock Awards", "terseLabel": "Number of unvested shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail", "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r520", "r521" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Ending balance, Weighted Average Grant Date Fair Value", "periodStartLabel": "Beginning balance, Weighted Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r524" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Vested, Restricted Stock Units and Restricted Stock Awards" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r524" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested, Weighted Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail", "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail", "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r784" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Shares authorized for grant under the Plan" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r148" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Shares available for grant under the Plan" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r514" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Number of shares exercisable, total" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r527" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Aggregate intrinsic value of options exercised" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "auth_ref": [ "r519" ], "lang": { "en-us": { "role": { "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Expirations in Period", "negatedLabel": "Canceled, Number of Options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r518" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period", "negatedLabel": "Forfeited, Number of Options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r516" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Granted, Number of Options", "verboseLabel": "Number of options granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail", "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r512", "r513" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Ending balance, Number of Options", "periodStartLabel": "Beginning balance, Number of Options", "terseLabel": "Number of shares outstanding", "verboseLabel": "Number of shares outstanding, total" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail", "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail", "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r512", "r513" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Ending balance, Weighted-Average Exercise Price Per Share", "periodStartLabel": "Beginning balance, Weighted-Average Exercise Price Per Share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r508", "r509", "r510", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r532", "r533", "r534", "r535", "r536" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Equity Award [Domain]", "terseLabel": "Equity Award [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail", "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingRsusAndRsasGrantedDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r517" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "verboseLabel": "Exercised, Weighted-Average Exercise Price Per Share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r519" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price", "verboseLabel": "Cancelled, Weighted-Average Exercise Price Per Share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r518" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "verboseLabel": "Forfeited, Weighted-Average Exercise Price Per Share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r516" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "verboseLabel": "Granted, Weighted-Average Exercise Price Per Share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "auth_ref": [ "r511", "r530", "r531", "r532", "r533", "r536", "r544", "r545" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.", "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]", "terseLabel": "Share-Based Compensation" } } }, "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": { "auth_ref": [ "r145" ], "lang": { "en-us": { "role": { "documentation": "Information by range of option prices pertaining to options granted.", "label": "Exercise Price Range [Axis]", "terseLabel": "Exercise Price Range [Axis]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": { "auth_ref": [ "r146" ], "lang": { "en-us": { "role": { "documentation": "Supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Domain]", "terseLabel": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Domain]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": { "auth_ref": [ "r146" ], "lang": { "en-us": { "role": { "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Lower Range Limit", "terseLabel": "Outstanding Range of Exercise prices, Lower Limit" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": { "auth_ref": [ "r141" ], "lang": { "en-us": { "role": { "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Exercisable Options", "terseLabel": "Exercisable, Number of shares" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions": { "auth_ref": [ "r139" ], "lang": { "en-us": { "role": { "documentation": "The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Outstanding Options", "terseLabel": "Outstanding, Number of shares" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": { "auth_ref": [ "r146" ], "lang": { "en-us": { "role": { "documentation": "The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Upper Range Limit", "terseLabel": "Outstanding Range of Exercise prices, Upper Limit" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareRepurchaseProgramAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by share repurchase program.", "label": "Share Repurchase Program [Axis]", "terseLabel": "Share Repurchase Program [Axis]" } } }, "localname": "ShareRepurchaseProgramAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareholdersEquityAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ShareRepurchaseProgramDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the share repurchase program.", "label": "Share Repurchase Program [Domain]", "terseLabel": "Share Repurchase Program [Domain]" } } }, "localname": "ShareRepurchaseProgramDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareholdersEquityAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r148" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Aggregate intrinsic value of option exercised" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r148" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Exercisable Remaining Contractual Life" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": { "auth_ref": [ "r140" ], "lang": { "en-us": { "role": { "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Exercisable Options, Weighted Average Exercise Price", "terseLabel": "Exercisable, Weighted Average Exercise Price" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1": { "auth_ref": [ "r139" ], "lang": { "en-us": { "role": { "documentation": "The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Exercise Price", "terseLabel": "Outstanding, Weighted Average Exercise Price" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r144" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term of outstanding stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Remaining Contractual Term", "terseLabel": "Outstanding Remaining Contractual Life" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationSummaryOfOptionsOutstandingDetail" ], "xbrltype": "durationItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "Shares, Outstanding", "periodEndLabel": "Ending Balance, Shares", "periodStartLabel": "Beginning Balance, Shares" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r245", "r339", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r365", "r371", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r410", "r412", "r413", "r763", "r973" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]", "terseLabel": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationAdditionalInformationDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationNetSalesAndSegmentOperatingProfitLossForEachReportingSegmentDetail", "http://astro-med.com/role/NatureOfOperationsSegmentReportingAndGeographicalInformationSummaryOfOtherInformationBySegmentDetail" ], "xbrltype": "stringItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r257", "r258", "r259", "r292", "r323", "r324", "r326", "r328", "r333", "r334", "r378", "r420", "r423", "r424", "r425", "r431", "r432", "r463", "r464", "r467", "r471", "r478", "r623", "r730", "r802", "r817", "r830" ], "lang": { "en-us": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]", "verboseLabel": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesLeaseCostInformationDetail", "http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail", "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail", "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r28", "r124", "r242", "r277", "r278", "r279", "r305", "r306", "r307", "r309", "r317", "r319", "r332", "r382", "r479", "r541", "r542", "r543", "r573", "r574", "r614", "r637", "r638", "r639", "r640", "r641", "r643", "r673", "r702", "r703", "r704" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail", "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]", "verboseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity", "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "http://astro-med.com/role/LeasesAdditionalInformationDetail", "http://astro-med.com/role/LeasesLeaseCostInformationDetail", "http://astro-med.com/role/LeasesSupplementalCashFlowInformationDetail", "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail", "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail", "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail", "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]", "verboseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r305", "r306", "r307", "r332", "r681" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]", "terseLabel": "Statement [Table]", "verboseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity", "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "http://astro-med.com/role/LeasesAdditionalInformationDetail", "http://astro-med.com/role/LeasesLeaseCostInformationDetail", "http://astro-med.com/role/LeasesSupplementalCashFlowInformationDetail", "http://astro-med.com/role/PaycheckProtectionProgramLoanAdditionalInformationDetail", "http://astro-med.com/role/PropertyPlantAndEquipmentAdditionalInformationDetail", "http://astro-med.com/role/PropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail", "http://astro-med.com/role/RevenueRecognitionAdditionalInformationDetail", "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r6", "r7", "r124", "r131" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Shares purchase under Employee Stock Purchase Plan" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationAdditionalInformationDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "auth_ref": [ "r124", "r131" ], "lang": { "en-us": { "role": { "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "terseLabel": "Restricted Stock Awards Vested, net, Shares" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r6", "r7", "r124", "r131", "r517" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedLabel": "Exercised, Number of Options", "terseLabel": "Employee Option Exercises, Shares" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity", "http://astro-med.com/role/ShareBasedCompensationAggregatedInformationRegardingStockOptionsGrantedDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "auth_ref": [ "r6", "r7", "r124", "r131" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period.", "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross", "terseLabel": "Restricted Stock Awards Vested, net" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r28", "r124", "r131" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Employee Option Exercises" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockOptionPlanExpense": { "auth_ref": [ "r63" ], "calculation": { "http://astro-med.com/role/ShareBasedCompensationShareBasedCompensationExpenseDetail": { "order": 1.0, "parentTag": "us-gaap_ShareBasedCompensation", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for option under share-based payment arrangement.", "label": "Stock or Unit Option Plan Expense", "terseLabel": "Stock Options" } } }, "localname": "StockOptionPlanExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareBasedCompensationShareBasedCompensationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r7", "r10", "r11", "r89", "r789", "r819", "r840", "r957" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 30.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending Balance", "periodStartLabel": "Beginning Balance", "totalLabel": "TOTAL SHAREHOLDERS' EQUITY" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AccumulatedOtherComprehensiveLossChangesInBalanceOfAccumulatedOtherComprehensiveLossDetail", "http://astro-med.com/role/ConsolidatedBalanceSheets", "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "SHAREHOLDERS' EQUITY" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r134", "r291", "r464", "r466", "r467", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r477", "r479", "r605" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Shareholders' Equity" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ShareholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r644", "r674" ], "lang": { "en-us": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r644", "r674" ], "lang": { "en-us": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail", "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "verboseLabel": "Supplemental Information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_SupplierConcentrationRiskMember": { "auth_ref": [ "r74" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that purchases in the period from one or more significant suppliers is to cost of goods or services, as defined by the entity, such as total cost of sales or services, product line cost of sales or services, segment cost of sales or services. Risk is the materially adverse effects of loss of a material supplier or a supplier of critically needed goods or services.", "label": "Supplier Concentration Risk [Member]", "terseLabel": "Vendor [Member]" } } }, "localname": "SupplierConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConcentrationOfRiskAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_TaxesPayableCurrentAndNoncurrent": { "auth_ref": [ "r2", "r213", "r227" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 17.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes.", "label": "Taxes Payable", "terseLabel": "Income Taxes Payable" } } }, "localname": "TaxesPayableCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TrademarksAndTradeNamesMember": { "auth_ref": [ "r169" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trademarks and Trade Names [Member]" } } }, "localname": "TrademarksAndTradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/AcquisitionsSummaryOfFairValueOfTheAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_TrademarksMember": { "auth_ref": [ "r169" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.", "label": "Trademarks [Member]", "terseLabel": "Trademarks [Member]" } } }, "localname": "TrademarksMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_TradingActivityByTypeAxis": { "auth_ref": [ "r190" ], "lang": { "en-us": { "role": { "documentation": "Information by type of trading activity.", "label": "Trading Activity [Axis]" } } }, "localname": "TradingActivityByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_TradingActivityByTypeDomain": { "auth_ref": [ "r190" ], "lang": { "en-us": { "role": { "documentation": "Gains and losses on trading activities (including both derivative and nonderivative instruments) recognized in the statement of financial performance, separately by major types of items (such as fixed income/interest rates, foreign exchange, equity, commodity, and credit).", "label": "Trading Activity, by Type [Domain]" } } }, "localname": "TradingActivityByTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockMember": { "auth_ref": [ "r27", "r132" ], "lang": { "en-us": { "role": { "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.", "label": "Treasury Stock [Member]", "terseLabel": "Treasury Stock [Member]" } } }, "localname": "TreasuryStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockShares": { "auth_ref": [ "r27", "r132" ], "lang": { "en-us": { "role": { "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.", "label": "Treasury Stock, Shares", "terseLabel": "Treasury Stock, Shares" } } }, "localname": "TreasuryStockShares", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockValue": { "auth_ref": [ "r27", "r132", "r133" ], "calculation": { "http://astro-med.com/role/ConsolidatedBalanceSheets": { "order": 35.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.", "label": "Treasury Stock, Value", "negatedLabel": "Treasury Stock, at Cost" } } }, "localname": "TreasuryStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [ "r240", "r241", "r242", "r243", "r244", "r308", "r309", "r310", "r311", "r320", "r376", "r377", "r379", "r380", "r381", "r382", "r383", "r384", "r541", "r542", "r543", "r571", "r572", "r573", "r574", "r587", "r588", "r589", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r617", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r646", "r647", "r651", "r652", "r653", "r654", "r668", "r669", "r670", "r671", "r672", "r673", "r683", "r684", "r685", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711" ], "lang": { "en-us": { "role": { "documentation": "Amendment to accounting standards.", "label": "Type of Adoption [Domain]", "terseLabel": "Type of Adoption [Domain]", "verboseLabel": "Type of Adoption [Domain]" } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/LeasesAdditionalInformationDetail", "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfArrangementAxis": { "auth_ref": [ "r950" ], "lang": { "en-us": { "role": { "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.", "label": "Type of Arrangement and Non-arrangement Transactions [Axis]", "terseLabel": "Type of Arrangement and Non-arrangement Transactions [Axis]", "verboseLabel": "Type of Arrangement and Non-arrangement Transactions [Axis]" } } }, "localname": "TypeOfArrangementAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IntangibleAssetsAdditionalInformationDetail", "http://astro-med.com/role/IntangibleAssetsFairValueOfAcquiredIdentifiableIntangibleAssetsAndRelatedEstimatedUsefulLivesDetail", "http://astro-med.com/role/RoyaltyObligationAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r548", "r557" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "Unrecognized Tax Benefits", "periodEndLabel": "Balance, end of the year", "periodStartLabel": "Balance ,beginning of the year", "terseLabel": "Recognized tax benefits excluding interest and penalties" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "http://astro-med.com/role/IncomeTaxesChangeInBalanceOfUnrecognizedTaxBenefitsExcludingInterestAndPenaltiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "auth_ref": [ "r556" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Accrued potential interest and penalties" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": { "auth_ref": [ "r556" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense", "terseLabel": "Recognized (benefit) expense related to interest and penalties" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": { "auth_ref": [ "r559" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.", "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions", "terseLabel": "Increases in current period tax positions" } } }, "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesChangeInBalanceOfUnrecognizedTaxBenefitsExcludingInterestAndPenaltiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": { "auth_ref": [ "r558" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.", "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions", "terseLabel": "Increases in prior period tax positions" } } }, "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesChangeInBalanceOfUnrecognizedTaxBenefitsExcludingInterestAndPenaltiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations": { "auth_ref": [ "r560" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations.", "label": "Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations", "negatedLabel": "Reductions related to lapse of statutes of limitations", "terseLabel": "Unrecognized tax benefits as a result of the expiration of the statute of limitations" } } }, "localname": "UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/IncomeTaxesAdditionalInformationDetail", "http://astro-med.com/role/IncomeTaxesChangeInBalanceOfUnrecognizedTaxBenefitsExcludingInterestAndPenaltiesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnusualOrInfrequentItemAxis": { "auth_ref": [ "r50" ], "lang": { "en-us": { "role": { "documentation": "Information by an event or transaction that is unusual in nature or infrequent in occurrence, or both.", "label": "Unusual or Infrequent Item, or Both [Axis]" } } }, "localname": "UnusualOrInfrequentItemAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_UnusualOrInfrequentItemDomain": { "auth_ref": [ "r50" ], "lang": { "en-us": { "role": { "documentation": "Event or transaction that is unusual in nature or infrequent in occurrence, or both.", "label": "Unusual or Infrequent Item, or Both [Domain]" } } }, "localname": "UnusualOrInfrequentItemDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/EmployeeRetentionCreditAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r78", "r79", "r80", "r335", "r336", "r337", "r338" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowancesAndReservesBalance": { "auth_ref": [ "r298", "r303" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount", "periodEndLabel": "Balance at End of Year", "periodStartLabel": "Balance at Beginning of Year" } } }, "localname": "ValuationAllowancesAndReservesBalance", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": { "auth_ref": [ "r301" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense", "terseLabel": "Provision/(Benefit) Charged to Operations" } } }, "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDeductions": { "auth_ref": [ "r302" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction", "negatedLabel": "Deductions" } } }, "localname": "ValuationAllowancesAndReservesDeductions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDomain": { "auth_ref": [ "r298", "r299", "r300", "r302", "r303" ], "lang": { "en-us": { "role": { "documentation": "Valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]" } } }, "localname": "ValuationAllowancesAndReservesDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ValuationAllowancesAndReservesTypeAxis": { "auth_ref": [ "r298", "r299", "r300", "r302", "r303" ], "lang": { "en-us": { "role": { "documentation": "Information by valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]" } } }, "localname": "ValuationAllowancesAndReservesTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ScheduleIiValuationAndQualifyingAccountsAndReservesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]", "terseLabel": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/CreditAgreementAndLongTermDebtAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r831" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 18.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.", "label": "Weighted Average Number Diluted Shares Outstanding Adjustment", "terseLabel": "Dilutive Effect of Common Stock Equivalents" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r322", "r328" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "totalLabel": "Weighted Average Number of Common Shares Outstanding\u2014Diluted" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r321", "r328" ], "calculation": { "http://astro-med.com/role/ConsolidatedStatementsOfIncome": { "order": 17.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted Average Number of Common Shares Outstanding\u2014Basic" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://astro-med.com/role/ConsolidatedStatementsOfIncome" ], "xbrltype": "sharesItemType" } }, "unitCount": 7 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226317&loc=d3e202-110218", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2420-110228", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2921-110230", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.CC)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=27011434&loc=d3e125687-122742", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r109": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "https://asc.fasb.org/topic&trid=2155823", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org/topic&trid=2144648", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907644&loc=d3e11281-110244", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12524-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(2))", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(3))", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r116": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "460", "URI": "https://asc.fasb.org/topic&trid=2155896", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=d3e1835-112601", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "40", "SubTopic": "50", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126972273&loc=d3e12317-112629", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "40", "SubTopic": "50", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126972273&loc=d3e12355-112629", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org/topic&trid=2208564", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(CFRR 211.02)", "Topic": "480", "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=d3e177068-122764", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=65888546&loc=d3e21300-112643", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21553-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21484-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21488-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r134": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "https://asc.fasb.org/topic&trid=2208762", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r135": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "710", "URI": "https://asc.fasb.org/topic&trid=2127225", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r136": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "712", "URI": "https://asc.fasb.org/topic&trid=2197446", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r137": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "715", "URI": "https://asc.fasb.org/topic&trid=2235017", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org/topic&trid=2228938", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Subparagraph": "(a)-(d)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123586518&loc=d3e1043-128460", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "37", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123455525&loc=d3e2207-128464", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5227-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6578-128477", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6613-128477", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r174": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "https://asc.fasb.org/topic&trid=2303972", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579240-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)(ii)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41638-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "4F", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624186-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "4F", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624186-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41675-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r193": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "https://asc.fasb.org/topic&trid=2229140", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=SL6742756-110258", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "60", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13279-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13467-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13476-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(2))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Subparagraph": "(c)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(15)(b)(2))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(16))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=116884095&loc=d3e14764-158437", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(cc)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=116884095&loc=d3e14764-158437", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128487-111756", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(2))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(dd)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29,30)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e689-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(n))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column B))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(1)))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b),(c)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(2)))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C)(1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column D))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column E))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(4)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "270", "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e543-108305", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org/topic&trid=2134510", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(4)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org/topic&trid=2126998", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=126905575&loc=SL49131252-203054", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=126905575&loc=SL49131252-203054", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/subtopic&trid=2144439", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/subtopic&trid=2144471", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(8))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.3)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6036836-161870", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496180-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.8)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130533-203044", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org/topic&trid=49130388", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=114868883&loc=SL114871943-224233", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "220", "URI": "https://asc.fasb.org/topic&trid=2134417", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r545": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org/topic&trid=2228938", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "35", "Subparagraph": "(a)", "Topic": "720", "URI": "https://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "35", "Subparagraph": "(b)", "Topic": "720", "URI": "https://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(4)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r584": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org/topic&trid=2144680", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624181-113959", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=121577181&loc=SL110061190-113977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90205-114008", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=SL126733271-114008", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)(1)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)(2)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(b)(1)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(b)(2)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(2)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594809&loc=d3e13220-108610", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL122642865-165497", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL122642865-165497", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28228-110885", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30226-110892", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r638": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r644": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r645": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "830", "URI": "https://asc.fasb.org/topic&trid=2175825", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "832", "URI": "https://asc.fasb.org/extlink&oid=128342835&loc=SL128342857-244232", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "832", "URI": "https://asc.fasb.org/extlink&oid=128342835&loc=SL128342857-244232", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r649": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r656": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918631-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r658": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r659": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4273-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r661": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r662": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r663": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/subtopic&trid=77888251", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=124258985&loc=SL77919352-209981", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=124258985&loc=SL119206284-209981", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=124258985&loc=SL117410129-209981", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r667": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=124258985&loc=SL117410129-209981", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r668": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL122150809-237846", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(01)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r677": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r678": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r679": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "330", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r681": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r682": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r683": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "926", "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r684": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "926", "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "926", "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r686": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r687": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Topic": "928", "URI": "https://asc.fasb.org/extlink&oid=6473578&loc=d3e63223-108013", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r688": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r689": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r69": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org/topic&trid=2122369", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r692": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r693": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r694": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r695": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r696": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r697": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r698": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r700": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r701": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r702": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r703": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r704": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r705": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(1)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r706": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r707": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r708": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iii)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r709": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iv)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(1)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r711": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r712": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r713": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r714": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r715": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r716": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r717": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r718": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r719": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "270", "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e777-108305", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r721": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r722": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r723": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r724": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r725": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r726": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r727": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r728": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r729": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r730": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r731": { "Footnote": "2", "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r732": { "Footnote": "4", "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "12", "Subsection": "29", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r733": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column B", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r734": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column C", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r735": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column D", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r736": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column E", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r737": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column F", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r738": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column G", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r739": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column H", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r740": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column I", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r741": { "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "12", "Subsection": "09", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r742": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(i)", "Subsection": "01", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r743": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(i)", "Subsection": "02", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r744": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(A)", "Subsection": "01", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r745": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(A)", "Subsection": "02", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r746": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(B)", "Subsection": "01", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r747": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(B)", "Subsection": "02", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r748": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(C)", "Subsection": "02", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r749": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iv)", "Subsection": "01", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r750": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iv)", "Subsection": "02", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r751": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r752": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r753": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r754": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r755": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r756": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r757": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r758": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r759": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r760": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r761": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r762": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r763": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r764": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r765": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r766": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r767": { "Name": "Accounting Standards Codification", "Paragraph": "69E", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r768": { "Name": "Accounting Standards Codification", "Paragraph": "69F", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r769": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r770": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r771": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r772": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r773": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r774": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r775": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r776": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r777": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r778": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r779": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r780": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r781": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r782": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r783": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r784": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r785": { "Name": "Accounting Standards Codification", "Paragraph": "217", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126976462&loc=d3e36027-109320", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r786": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r787": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r788": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r789": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r790": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r791": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r792": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r793": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r794": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r795": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r796": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r797": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r798": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r799": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r800": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r801": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r802": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r803": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r804": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r805": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=124429488&loc=d3e326-107755", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r806": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r807": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r808": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(c))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r809": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r81": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org/topic&trid=2134479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r810": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r811": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r812": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r813": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r814": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r815": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r816": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r817": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r818": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r819": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r820": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r821": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column B))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r822": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(1)))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r823": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(2)))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r824": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column D))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r825": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column E))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r826": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r827": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r828": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r829": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r830": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2626-109256", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r831": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r832": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r833": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r834": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r835": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r836": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r837": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r838": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10149-111534", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r839": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10178-111534", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r840": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r841": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r842": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r843": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r844": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r845": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r846": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r847": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org/topic&trid=2127136", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r848": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r849": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r850": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r851": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r852": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r853": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r854": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r855": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(10)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r856": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r857": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r858": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r859": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r860": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r861": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r862": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(8)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r863": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(9)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r864": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r865": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r866": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r867": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r868": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(4)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r869": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(5)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8475-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r870": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(6)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r871": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(7)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r872": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(8)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r873": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r874": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r875": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r876": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r877": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r878": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r879": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r880": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r881": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r882": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r883": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r884": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r885": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r886": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r887": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(2)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r888": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(3)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r889": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(4)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r890": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(5)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r891": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(6)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r892": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(7)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r893": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r894": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(j)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r895": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(1)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r896": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(2)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r897": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(3)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r898": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(4)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r899": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r900": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(q)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r901": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r902": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r903": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r904": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r905": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r906": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r907": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r908": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r909": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r910": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r911": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r912": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r913": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2919-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r914": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r915": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r916": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r917": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r918": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r919": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r920": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r921": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r922": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r923": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r924": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r925": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r926": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r927": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r928": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r929": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r930": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r931": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r932": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r933": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r934": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r935": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r936": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r937": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r938": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r939": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r940": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r941": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r942": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r943": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r944": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r945": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r946": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r947": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r948": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r949": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(3)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r950": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "808", "URI": "https://asc.fasb.org/extlink&oid=6931272&loc=SL5834143-161434", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r951": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(6)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r952": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=124256753&loc=SL5864739-113975", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r953": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r954": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r955": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r956": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r957": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r958": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r959": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r960": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r961": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r962": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r963": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r964": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r965": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r966": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r967": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r968": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r969": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r970": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r971": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r972": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r973": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r974": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r975": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r976": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r977": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(ii)", "Subsection": "01", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r978": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)", "Subsection": "01", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 124 0001193125-23-103662-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001193125-23-103662-xbrl.zip M4$L#!!0 ( %&"D5:GFBBTEAX -E5 0 1 86QO="TR,#(S,#$S,2YX M49.[8FR=7550HF(0D9 MBM0"I&WEZO[[=0-\@ _P)9IR'?5E1B: [D9WX]7H;OSQSR]KUWJB7##?^WAT M^N[DR**>[3O,6WX\"H/%Y.>C/__IW__MC_\QF7RF'N4DH([UN+4NKV=?K;]? MW-]8,T\$Q+.I=>G;X9IZ@36Q5D&P^7!\_/S\_,Y9,$_X;A@ O'.]M?'4/Y7 MA="Z/W]W G_"K].?)],-9^[D[.3LW/JOD],/IS]]^/W9?UO_,_WROY,)DB#L M%5T3*R!\28.O9$W%AMCTXU&$C(B ^Y,U=202!'-R>GX*W7$I4G7M\_4E79#0 M#3X>_1H2ERT8=8XLZ+\G/A#7#VHAR:I)+>S<\_D[GR^ARLGI\=^_W#Q("F.8 M+O.^9VJ_/'(WKG]^C,6/1-"X^DNA?@3]]/W[]\>R-*D*@%@%:!:)1*_OI/W3 M*_]XK I3*BK@_OU&(R(4DR4AFZ3Z@HA'634J0,:=Q95M/_0"OLV2(*C];ND_ M'4>%V08AYZ"(IA91:::)0UEY;2C(5*0O]JJ\)I9DJGJ$V:*\KBS*5!;,+J\* M!9F*P*%@NZ&BE'>R) LWV' #8"C)\6##J8V#U"C&]\>$V]QW*6"U@PE]V;C$ M(X'/M]?P=X*3!T7JX&.6,!Z8.I(49*Y!ACHH/L9B;',R.3F=G)WFM&TB MPLUBCXF$=B?77=P*9QOB>7Y <-:2?VTVS%OX^!,'X@?DWQPH MM?#'M_N98>Z0;/[DP_QZ1Y8P'!F()?TS@>90F"29Q'4*4PG,B-I<*NM;V."/ MQ_G:,8!04.?6^Y/\#0H@H*4D'<=KU"JJ4M8B!=BLODU<.W3-"(XS+.K(,UPT MF(.:?$%5I0&(N:AJ=C TS-@Y /PA"9,30%8$01+@3AP.1!W!*;78$4# M!E34L#Q;U\#_\^;\MW[(0/SM2.61<$O<+F:P(UO3HAQ*ZACX__LJ_J=@+']A M*4 'KB\^^6OHWXIZ@CW1)B(H:V"0QX_-Y9&!>I!.PNP5\994S+R'%4P7*]]U MX$QQ]6O(@FV-E"H:&J3U4PMI*>@6\RP=_F\LA>$@N"K^URP[G: 81/J'WD1Z M6*^*PB%B=>WZSR6[M?)J!B']W$)( ,N2P$;$_X=PO29\>[MX8$N/+4#]O&!J MR^,T\Y9WP"J;T4@(#>L:)/$>SR1,V*XO0DY1+ H%CRW<#)TSPGHZ:6UG9$ M#)U!![PE>W3I5(CD[%SX:F#F69Z9:4-+M1P5*T&1 I\GTZG^P<# \R(#DS8C M8MT=]S>4P[;,Q17'MG 69$F"U#VHX&I/Q;7(-G.BAN.B(^?.'58,%UR*K>7H),WOK><4[P_ M>HRTMJ:.@4LR? \$2OF4<\FQ$7+W2YO'T0 MH-?W3'S_0CRRI.F% %[>W$@#1[#0B!M_[6^(&V]M'ERV)=@ I?"YGZEGA M)!>UM-*F(^+F#27)-B3Z;>!;X=RFJH^(5[#="M>( V &*\HS1O\;7Z2[N9IJ M!@X7#G,:)$N"RMTS(+ 1\=]TB=#XCN"L<-H;N?E?=O\"AK&#B@5:I4VHAC(# M9PL'/ME\(MM;.H 1<5== \[)2VJ/2#\8^%@XXZDVEFPT(MY])0'T_W9QNT%W M1C2R/M E;B7OZ<;G:+N&'>QGBL>!S0JO=&;>PN=K37]W@F"03N%LJ)"@@3U% M\SLK0F0EF.2>6,=E:/S)]VSHA!KD MMPL\X28WIX4" V<+![I,6YQ&L/6HF+I>LR"V2 W<+:D7GHC6E6AG,GGA0.> M!D-.Q!DH(V+V-6'\K\0-Z1&!K$4CH\Q;&LVPW".&+X< M RF&V!T@,MQ%2,8DNT9.%UT<-6H<-LZ+Q]'&#AO6#_&O,?DRZ4X7<_+HTA(/ MCNB[@>6%U/I!-1X32XN.&SICC:4&]A:.KR7.'6/DQH17. MM%W<',8H0'4+K,LE\\7 [L)9534:(P-KKXMSTW^CR@:V%PZ<36Z8QRB4\LM/ M71*5-0SL;WQ).D:6:Y>CV2U\_K.!N94WIV-DZ"X7H+H$>H!C$-FK7*>.4=2F M&[[<::VJCD%$1;=F^B<[VJ@H'EA?.QX7IEC/QN9G>?.HXD.S,5 M7=* ,+>-^;X*C$%V.X1@XFXL09B=T!3.,OZ,J'2K0>;*29N%\FXT\7>.]1R+?BQ,E@TJQ0Q=DNBQR]:72NA +.O21JP MAC8?'%1#"3$1S.UBOJ*R"J?.S$$G^07#:3)O99<7JO+@1/NP2PN+BC,U^J84JL[35H;%*'$1=RD"/'-F[2F1W@LA2@^$QVD M*>718/36RK0Y#(-D2TPS)LDV&]!C%V_M)K!I98/ JCT)#INY*A>#_%0H@)%D MN>1T*3/7;6$SA.7I$?\+X=]AC=+%USM4@YP;N324S;S"RN#'A+P1!9KMPHIH M..A%"PE&-@C$TXM&%.$9=*%@L.I!%V*#BN3:00OPW%4W<[=K8I!EP;)5+LO# M-&[R8=*.0/T>N(9 9%"*@NVM>$R:Y(Y8A^-5GTI5._;;-# (N6"D*Q/R8=R; M1)0LJHD63]=X+_,O247D6E0ELC8 RD7X4\'"5B9";1E.!YR.*O:#&J=4$P?' M!F.N45V#K K&*]VW\C#02D6"S@"^1Z.DT M81XUNT]K-MK,]ZPML$T3@\AJ\_/ES;AY9^SQB:K:Q3H.8+Q=Z%]GGKQQ Q@; MXF$$XR??S#7'OR%8ZW]S3-6%XIW;KZ2UOPP!?]<*7V;KHW.[H M#/I6,'8UT;>LNL6T60EQ5DR=E9"'?@HYO=1H/&A:7O2U6XKNS0V:4+!P-9QY M#MN+1AE0Z_>(75L;Y%DP9M7E3PG8"Z[Q5#DQWYK M&D =3+3/-6QM4]3:TS,C5&I#IN':":Q#.X."%.R+QN3%A]FH*KUQ_6UXFQ8& M814,B,6DR :T537\T@CX+U+XJ//<@@+X-T\=/-+[!&RG!6C471W?O< MCT++O*4"4)177R -LBV8"1/9)FOA[2)KH[$ >12?JPL]=B>8^U9"01))/5:% MD/]^\D50.28K:AG$5C#9)6*3/RP$=AB2R)(O&,4)A%%QNY!?XA!!5C;:&M0V M2*1@U$HDDL+$S:0KY>.F8,^W&_PF/F/F M"^HT&*$=01KD7OY\C6'TIL$FV2-CA-R2V*T(O17A/VA#,CQC%Z"(0X:;_:Z- M#1)NGB$JXTH42W'D=^U=!N&]".6-BB!]#6LC1(/,"_:@74;U_<.WZ*;E83KJ M4:WE#^WS=A*L;FF08$EFZ H))B@L$.%!@BF3,:C2LYG+),)X-$%1PK'H[::_ ML6"%SI9KS(^$S UEI.YTLW'1I1&*\&(W#'R^O:9PSL3#3P3J'N;%N0\U2H=J M'I%!8=XLH0;]+(E8S.AGMC^HHTQ5",B+M8E1'?_PJ)#]UL)^67/T))4]L^*N M61=;*^Z<+$^Z9T7]TU!;V$6\E\"*T>>+_+26CA8-_;B'"?QSM5A0&Z>K.869 MA<,.[Y+!)TX]&\I7)/A,GN@]$Z!!6D:Q.XQJPYWFXI)"94X= )7$PQH,\/M M;%#CDIC,C!JCND0$H@XG)%H:C58 1%I+H!+]3$##_4S.M9A2;!_3*N%J ;HW MX[XD&%0A[F"7ZP4K&F &S[VI91D5Y3KZOB3H=.\ZFB%_[+.GNC70;B^^>5PE M<_B7E'^TH(JK%]L-\;@T@],1\ #O]N^H1]R*";)/V ;]*@F4S6XU)0FY.Q&= M#*DI,2&_LQ)2K)@6J3\)-2/7E@9ASXWJ&J19$E^;D>;!O-Y'HNI:(;X6<(/4 M"R;:7E):'[2E'VWY2H,'XE+< D2-$K\I.(O K(DWR-<^OR+V*@$7U>Q+J7J@ MP:![!>-Q3[H'%%N29%DQ;IYZG"FRK1\ K_BM)2T?2+R&(&YS4-=6JI)>(^0< M#R^V/2ME8TP&U2O8L'M2/?V.H^#^^+@]*-:.XGZ@+AQ7M/"/C.C3UE-.2>^Z MU@&Y0?U>YR&);/;VB-A,<$M&%[6DCDCQ&'4R#O&(SB"8J*)^F]VVD4$'"H;Z M)-XD BSS9AQVWDW>#9G: 7N"_V>>J48N[&XK)<&=Y-@Y _BQ)R> M,62!,EQZSE]"XK(%7M9';TVIO,B"\ERVY>[-#4I2]%*-56$V@[\2+'(>2O'$ M;V+%F9(5JO\O L5_'HF@H,_6B_P20/''(\'@E$*/HF\K3A7QV.@0<;]NAK)#>5G=<\MBV.]"$NF^O M)Z#:;7N2&PT]]^>8;#88,*1^>YZO5!K_9'BW'E@>65.Q(785H3\]-W+\*):&M!0-JK=@3$[5H2H$/Z4?[E M!(U1QPT0YX]-L"V(>)2-0S%9$K(!(&=GY>A$3%QIFV/J!B+^@DIYUKBS@MKO MEO[3L5P_^+8)"65-XC\Z(I>[%[L==KU-\EPV2./J^*,CPF##6V&,Z\M?C7'F!^-[-/TY]V(J'A%**A#W9&':T?,,?8P82^;%SB$>E/"W\W)T>':)Q5SZP23'L"! \Z4 "M-.P)C$[H=T3<:?PY 3]& MBA'6R>3D=')V:J:@KJ7\6W193RJXXL\@@'81C0 M'X\6Q,6ME:H(&TGF.W/95.W?8*+PF.LBT(]' 0^I.O7BSO90B!*@L"+%C MG[D?;F+\#/#&*!Z5[]W'(X<^LJ"T*X6,7)%E8Y!.F9&WZYXM<[.5]B_*7*XP MX?L3"L/5BTV%B/!'N8$OD;8!>MV6I-YX46#WUSV+^^MK2!R&B4N$8 L["8M) M'@29^\9W#WK@@!.J"X(+\]@Z7'\.B8QJI07-'X9AK0CJ;0""%MN4 M.N*:^^N9$*'R0:],)CT0.[H0UI=R2)\P0\K2=&4?AA%-:>E-)5(;^[7/*QD^ MIR_!A>O;WV-.P Y5[<8_!'%1W^SH1%T-;\IVC>4,3[%/H]YDE0"^88A&29]5 M-SIUN04M[3N:X:*>_ O,2;-@TCC&Y2,:+ =QEZ>,R+Z^"K#)-6U!@Z MZP0?5H"/V^$CG9FZ#>O'F@GA\^U76%*^T/4CY47!.SZ^2]-S'\M1MY=<%%C/ MTU?B/.?!7P3/A _;H2:$M._>1[1R&%ST"X9<+?OQ&DF%S=FF: 8P]W:7A;\Y M+1UF%*7L(O:,5D"SO8I)?(73?"GN;M+ZA;KH<.AS"DIQ0;SOL8O7();1&@IZ M,U#!3@6=K984(YKX$[/A^/-$O1!3_/@!<:._BA/-1K7LN=O-Z>FRI@L8P0*S M:CTR+]K9QMD'9@Z>^1:,) ^]3VWU9& VXP:4A6OJ?(;)\!DZ,8@NO [A?:E0 M3)U$*UBT=%_CX4$[0PRUAV]%S2Y[^&:(AES%6E/4?0AI*'(3Q.N:*:OP]V:: M+$%R13@^$*J2@,D<&'OK;QDI_=V-QE<@F$=MBM[:7XB] A) B]2E2DK(L&>@ M3I1UV+Y$MT)W'%:>F1?X4^\*]D/^<[3T#G0M44M%;Q+_&B*K\*D$+M\P(9XS MQ!:T%&UG\VIRB27T0"29 7 _%]H-">I-BDD$3.$65&B1+3-O$^;8X%";K8G; M,Q=:D;.[U!6/U9NDDL>781Q$!'N@E.%H$<9BZDCB]J(0G6GM35?R$H@HQ)R7 M@\[H#>AHKQIYH)]"$?AKRJ=!P-5V8=_=K*2H?8=3C4E"D ?M7@7^S@,[=E* MH3%]84-LG4V(S0<$AZWQW1YEQ&C8F4LI@($$8T;?AUQFWE?Z$LR?J?M$O_A> ML!IV-]B&H#ZZ^Y^4\/FSO^<^YJCHK6,KV%J_A:[I=/35N6L_Y&^@;SH9O76- M/;T%L>EDM.^:O&N&73+&+C$Z["QBP-W!7$PQLX0K;QY#.)["\LYL,NPU:"4) M'2YIE/$U]@88M"\&W.T[\0OA#MX#QQ<#@_;"A+S+A=EFXPX]./)(N[@(>)(, MM-C$N]YDDQB9[30[=IQ-(4[F,= ]R\Y$]G8P>Z!!H#[XBYBL3RYAZP(9PUBA MVM#3GP4R2>7RB6Q80%R$GV#WA32C\(#]2U*O;OCN*>H_2&68:\8=2>QR&VE MDQ"B3 D"U!//8DX1_S" "G\/='W;CJ2^+N/2,7N; M';.#]+H">W\3!.6^#/:+9^MAKR%,V#LX?[\P@>XEPK7!0H-NY]L2U7[CL^Y_T_BR00OT\W#H+TK M1]W! ,SI3E'ADSHDGU-B?.O^$Z;FG,,0&UUV[TMC7ZI_'/I33C0'O M+NXU>9!#.M)4X.ZP-E+8S,!$/?/TS6[\4C;ZM:F7<6X7>OD7&JSRN_;7.N?M M1F%O&SLX$T1DP"Y9/3>C(9]Y\Q55.+-T#,.CSL3UR!X5%KZ]I-!)$66R[3-8 MO7ZBJZ6AKXDL2HAP1[;<=Z51$U_P4$]9#>C-T82,OO-2R)?-?_%=AR9;V6LZ M4$J1.A+Z[NLU+HZK0669H.RM+WB QR 5O#0.E["FXUU/L)H_^_.5'PKBH2/N M_!D:;!_0<#;LMKHC<1W.#BFF![H)))SYBO%@6X9L\+NK[N1U9\5>.KA#S!OQ MON/R-?SE52GF+ELM3"0-](32O2HQ.EX0P<3#!A9PI]BA+G$,C395#6CITD7, M)RQNO:$\8_((=_&(26$-Z@E31-LACC 18#S.ID\ E#K#6A_KJ.BL4,-J4V^J MM \]ZJY$RFCI'14!;+IH3L8L*LQ3&D3;,-,1U./"M.!::E4"]B,.K\C2RI MN$MSBL'/3QAN[A .=7B0:N[KCLMNE/5EQS)P?9BN&Y'W%TI"7C"'8,)C \8W MH ;]4/H:4??W%+T#Y7(!((60V?8V@9C[T>LRYLQD@QUF>Z.WMQ4CS4GX0%U7 MY<;Y0OAW&A3

$3T&2/XALBI-:GU][\9^-93R!PD:[!"D>M1D_=EI';H*3J5O MTEG'[&25?PXOPBFJ$3>3K?"81.[NY>FI[MGX1Q[R&'3U,BOVIIDJ@PXM_G1Y5Z^_-;!< "KHBN68+2RF1SP/:.]JTR \-H\YI/FNS8?!# M,-%@X3S/_RJ:,::3K\H $$ADAM1^_*,5%Q^+-*D8Q MC5_U@+S"@EPUA8T*"E3-:D5[-]*J@8'F-VU4L)5=Q@,772^6INQ <>&L3:@F M2R985#6XB*WX7%G8MGLJ3VFL3;/=6)G-QMIS,T&T.K.)D?8HO&PJ72]4T];1 M1#%5'MPYOB!2836?I[$3*$IP:2DFVB<2A[Z2FRA4-3XH%DR+.5P5V\;6?)V0 M6FW1UYX:47A+ 3H:D2"5;UE7;>"*LB[[W!N,&('- 934%HH ->X>36ZC_(BC M6LFH.!_/5;)NB?9@%S6"HU%K[-L^#28]U:_:I@T,-&%;$#!S@ZX9M@R@4UV> MD<2Q]YSN_TTEFD WN:(U9&LXA)@*6RB-F4YT=GYLT;[T]G/D$'R> &F)6[@S MF^F:M=HT=!HH;M#2W;GBD5FYV4$QS?ZREN;7JE%^FA>/P @IS&N7TZFSK$6E M4G6PMU<T&FVUX9H!5 M,K8J*L=23*P'U#1X?B@T:^!!&[&@3HH5572=C7FE^98:'1V760)86"$W,LO& M>:F&WUSRJ/MS'X'58=S&=L:AT3>E2&1Y1<&XVGC M>36:(.'$MH/;OK$G?A>J3P>U5HP\FGJ0=?XSK7M]JJ5/)#5)5SV+^U$VF-;# M1Z*BIMDXC\XQ_%?)*FNL#O"[P&=-@%G"<&/A;.J7.E^\/*NK.ZVNHL;/)C11 M X?9X$@:DOOH97\5[(K="@[*@#>JIN+ 2:4G7-1TB!I^4FH--[\@SL3J>B)O1ZW"W+Q>:[N%W32TNXGM%/E2!6A:@DP+%S;T7);LI7NE=&JNY/H;@T MD0I-\L$.GHP-]"/Y/DX/R?AW %+:ZD1*Y$;SAS+E2W7]]%C)4BC"'I,1CHY3 M^R?^;51\'@">4BI*S^D"MF^)IQKMP:P,N])&J'S;SC0NCBUD_7KR)U*6*M#6 M:P1>XNG&US00!:,(6%%/$XQ(4QFC<9)C@(:W<1-,.W-&);WFTU]R$YO@%YXZ M#N>9E61M?(:GD[3<1'4#3X0@-X8;IA@(H+"1/>Q[>.(<43%VV(QR M_54C[+:1F-IVTC]=S^JNB@-D&!%F7CJW)*'[F%+UK"9".FSF+QF-J!P&Q7V4 MP=B-77>1&QZ^0L.R:) /"5Z#2.P(8)IWX4UZ0?K)0*9=,^(Z0QHH.QQP" >F M>GIH#A,:.@.FHJ'U*W.7&XH34XYX]G*F8<.N8=!"JVPBP]C8T]OA2:-=-;^= M)WCTW,'0)A338%F$Q-_BU9)3+S<&W58@BQ5%XGTXAAVLN1951:NQ]4I[+IC4 MIJA;N0#UH*6N:E*.[S1W9C14;+XIGC,Z7(A;U2A_)'.4'IHP=*7B@%8W9FKC M1(3E"^Y^(S#40;-EW508ADW#\92,5B/QJ%N5\DD.TY)E2-#25=JJWAV/S%.Z ML+83;/$DRG=D_:X;NJF"&;ZO'6 M73/CU):QMOO%]'G)^4^Z/72*_84??)?;."G5#G_F>_(>,OWVK$L&G0UTN\9I M%DG,;& ]X=+*8,S\9GB\2#WN!@_D)-)^*:O#6U? (_W9_(A3+P $"AQMV*;B MA]QD0[TS/(+ >S5H]==Z&;% 9%DP8^A[B.%OI^];,1VJE28".<6H:?'(LX* MV1/*)\?-3HC/F4YT!-OA%1GUFP-;RDB?@Q8^W*EME-K87^"A*N*R:=ZC2<*( M-Y X.J<1S^/S<7W4:MV>4:I.!R6GRPF< MZ YZ.$9$&+N+4?M5TU;-=%7=J)==FS@[@K[6S27-+$++/X,N9>T\4? QJBFM MWA=>2)DUN=-7(4,% =]/"DU U8+1;F^CK$+4G=PX'@S;'#I5*R'%C96VU-+6 M$'1 A$G;FII:*7SW/0U;57[I;!2[F49M])5V&Z.7#'WM^72C89^1K;;;M2!9 MMNSRI1X%/DQ"H)Z[6,F8*[>=T<>5!)>YW)X*7R'QD=?K5(AE#O*SHD=OT'0X M;E*:GQ1GCX Q46ZMJ'/X1E&@/@B**9%E"H(0SAO@H3+T-0W]5#W.3+,F)21- MQT$]&]2*,"#"$W-V_>DJ4>9)4?K0KG-.$S-Q\*99GAW=*'JM^ID-A:GU*BF>QKB& /%W[ MRT6>4>50WG=#H8!+19KZ &;RTFH.9H*[.AT"[&_*BU3R2KN5E)^)<%-(SZKI MF7H&9;5RH!D)4P.X[=[)F*T+U93LM,WJ'X<"T'G7ZPF[V1J/WN599RW5LK.B M[%KM^[K7F2O&'J'%,?^WYK@J+WI^L8^T+\:&6\TA6V./^_O2XSX'C_M",U$N MLI!_EBXU+F-#D7@+>6W<%<8&9_TPX>%^EF#&4VLS7LVI\=#S;#T,X*.B.:#% 9B,JB2;K:8@I/6;&?#1.2(U8 M.%C/T:@YW#& ZLO 8J*)UJKM,4I33"9'IPJ.LL:AJVZ<6C-XK1SJSU(@O@_V M#IROS7_CN(M^#R./IM[,,.HLQ#\7"6-M%_N-&Q5!=5LE!8?@HQR&0^ 9GC:. M%C=R>QQ4:=JIFW0:C-('RCF<^4)Y:HB;BW$8SS_G,Q7Z>W[O8"HLBPJ=JT#< MGJ*WJ'@06M2*M^7T&;X^02N"L%(TJ'$FQ6 MK\7^!4W?)"55Z\D\JV?"_$3M3V;0I 0J09RH<$XY/L'5#HB6FP0J-4C-J&!Q MH!T0F&+#;#*9\,B7$F\WEIP>L8C089[-A6F0%&(U%("7RJ&&T*7"O<71>I[SH=.OC%^Z91P6 MIJ4]Q1AT\+=JICVA>Z2:]5+(#H[>BH@ZB-6NB=M,H0MX]0\AZ+WD?F!I:J#G MY:<0Z&H\$=-V#-=)5)L!E?6IX:4VFB,L\@.K*1H(S2**IWQTBI8J+[W$+Z@R M@WQBG+S&(S1EQD?-551.Y?W_[+UIC]Q&EC;Z_07F/Q ]]L &J)K:M+7G&BA+ MMELSMJ66[#$N+BXNF)F16;289#:72J5__3UKQ DFLQ:I5)LYZ.E65662L9PX M<=;GZ07X#>TLD&E%D77"E6E'YQ*@Y*L'WY0RZ]:: MR_*B8Y^4DBGG4]AX]U!DG KVYQPG-3IL,R@4$NC'I7"6GUGX>9#@B>4[XO5-QK+?%IG1K PM8PH/'1$&L_!6VPL69PI@N,#4=BM MHQW+RWR)*9M0DDTAA/[^T:;SZ<=: KQ7&1D,Z8T;XK,+@AV])HH-2\$*MI'" MH*7@I@T6;._\>)GJ51B+_HCTL7QU:+7(0J$LN1-.WGSN6(%[!N@/>=.:2F5N M,P$KNZ"N<^H6QYH3*>.L3"PL? -EV$TV$I-NM3)76%NHKAJ1AS*S7\-WBU9) MLAW52TQB#XXI0-\:.3?@R%DPCI%=V*V"%02*O+SD8;XKI)RXA<>2V^ND@OPU M_7)EY*\-EV$H<=/:%MGI5,69Y8S/Z:2I"M>ZN)I'+U09N"0F0FD>TNYJZ,\K M9GJTOT=DG_5B18T:]6>; KMVLW+*8E_ %K2;'[I"ZDOF -.R4HP+^(')$\7GJ1*:7^-_* M;63I.5QZX11B3?=/5.@<3N=,.59YQ&2P&%F*Q-I:"( M(,58:*P."X+Z2LW[^ L2S/(7NST/:>+REK-_Z!MV2SH1W@9M1:?XR)IQ5CG( M=EL.P^^4H/%+Q'$^VZXB31)8NK2QS":]5>/$95CY]C2O9^P'.ZH4,04>!LU- MFS*HKJ.F1/%;QU8\5B&%D:%S#3H.?!5\G"F_L-8@:5^C74<^[I'7\B-X+5^& MEKQ>(XJM8_MFI%$=Q>TZQ.TGJ<8C55<5"4'];2MBX*7;W,WEXL#]F#X>S MAZ,&^,MH@#>^XR2;-$XBS+YBS.3U--DQWCVCY%VSY)$33/:.D;?0ES1*W"AQ MUR)QOY517[3Q*,7 B1)1H]B-8G M1HR*FRF]*+BGMQ'IAR!RS$XIT2I>Y.P]3W1C'7,3>8]_"2&]_%I(2\( M='HRCEX_PNCU)IX%X6%*DI]@F.*_JD1L2<,%9>-:8',AQ.%Y*&MWJVX+"UL] MBHU%,>!<@DU)V\)-WQ/?2^)@?I?%19M7N=_,"J'/VX2.+YNST2SJ/D4Q[4$4&STC*'W.;5]RDA6 ^OJHPF[>6%2%]DNG^R M:78;9:_D3WX;-=9.I^R]VX3!#8[-2)O!0^ [=>(\B DAM"D 4Q6Z$;$8H947 M];0DCJP(,J6.LL*A4 ZJH\80O_A8Y;DUQ+1?LX5/B.X95,"H@OZ%<,"<*I/B M3J\*EV@5U*%W91NXL%=2/H N*;F,3VB"H^(.9@6QQ3(Q7H@T^XEH( M8SJ? LU75&E#>)F,Q?+^:K]*D:="M_YFJRJ@Y88 M,/#H +>VY9A,M^8\8XSPUM#RV=CO2=744M7"L)5%%:2A],;BQYQL[=JP(96* M"1NCP9E/SA%@IF]9B145:0Q8#]->3U.V("P!Z<7WS6UB.$#5PZ&W^-&$OD 7 M5=I'2?$;X>6?:H6Q1DGN#!4#N5I"YS@1@[4J$P(\8O9K (O(3@4VQS$@J_$G M0G-Y!0]:-MHLD_G2O#I U$B;(!_N"*IJXELO^J@^N5)R5-;-H/I# : 2&<9J MAA1;(BJLZL7'Z-BTXI.LV=KERPF:\LL $Y7'*$:^^5O'TJN*A14- \&9UF1V MESL1GLZUNFF?ZG--[ZL8&IYJ8W()57%MAG9Z?RSMWZ4(T4JQ\>Q3Z5,/C@NI M3/R[+SM7X/:=E6SW O(9%H('Y[CNTR+]]4N%H@5R0DI)_5*]7L>!3D2LJH =^&6^!'(=\$L>;P0-Q" -L@Y,6^0V.[=P"9_:0;T%1' M1@6TOE)#@[%RX>:11BMK5Z0Q7#E=^FGPY4T#29I, M:G+^P1=HZWS2A=XW#94JG(HI>1:)WENHNK;7^MI(O6?CXT=0R-*0TCHO)4)M\) MV@Y-O&HFU#92MA^W-OB^)PHW;.',#NU5VNM $]0*Y][W7*NBXY$,]5TQ[8*& MEX@;2[<06<1BD E+4%!>4&)^-6?V[ADQKUDFYO"S')F\N>! B==KZF3RJ<+P MQWV/?(1\ZJ^K>ST0UT/L8\R>'8^+/W]+5I)5:;M;:*^TN*'K%3W)"(Q/FD*$ MCXKSJQL+FS<$YOYIH:D>7(/!7N]AEAI4Q3[8::#D^)[]XJCE23R]P"W0-5)T M[CRLP:XJA]UPH=PQP[XD@I."/[O,NZ7XLA$@J5NR50^^/?R-6+XB\%+J,Z<6 M_@2QP]@EHQ!:"!9;U'X[%'@!@5S%BMI<,1X(CM;4?8"-J1G .CB] >34NWW8 M_X27:J:Q0G3%9SD9Z]-JJ2S3 Y$!0N4EN0FHO!:OVS_(XL5-D2AM2E>D,A,H M>MA.U%=L#16H;L4 9!/ '@P%6;, $?ID/24*!B=L3%!\1F+0, )=P;%_3!4CD$T^%_. 1+Z,X&5>+UT--["*>\D_JK4C4HU\'LXKL6.P-< %#I&6ZG,C$3BW%_1P+GLME=SB MSX2[R1J'+."0MR'SMV:_Q7VLH33%(5>I>%:P8JW:KB@,!5Z'6'""H-(.\^W8 MU8O6[@*!=5H*#]9"CTOD42@ @G_*50U@13?VAH7Q($6/6NBKFI-[%'U'YT_> MONV:W6+<2@.NV+)/45'"KD77@%@->4*IKN *S2N$2D0NP,+-%BY @XIC+#B5 M?-H*[]H)[8SR1#$H?2U<@1Z<(8M<-XI$(:BZT(KW T/6W6$03!35B' SY"DVWBDBJA/-4D,=&AB",,0[DCLW"U>#F?JY\" M_#X>J0EZ WC)TM&H+K]6='*B&4Z++%]NZ<\XV!"@Z^(PN=:ZSG+"(2>> ,(* MP$=X6M]Y!09EDJTS(4+]1"K1SYTOZ3-8Q,DYQ-$J;[,CVRCB8; ;3ZLAD,!Q MD0>#O^WT:?DK95EUE 5%5]' Q?2+%&D[?7HM^%[JD%R-^4/6UC":*%6.^!94 MJ24AL5W(OGBK!()K<7<4B>T^9Q0.QXS"S6<4@J@'F$=0S5.*C M,08$7/R?] MB!^ .5EZB>H&W6R$O(D9/"+LRG,#0#%#C"66"M=\I!V0DIN2A QF 3\]6K)_ M-H@-XPD4(QHN-=0939L+ M7^C]&.>&3/W&.=B4B%:W)-2S2DS15<=!5\F_2X"AZ29_"!]C" .SH6CGZP&X MMDD;,>[*OA6ZT+5 ^6^,3I!=8+1:9=7-FC:8$5$VE .+4BFF86EXA:&+#H4^ MD:R"TME^*2+$XIAH(X SQ&M9/([>@A^(>HJ,0?X$_DSM##F)FQ M\JJCWXNP"T8T8?S1;'V(EVD MD@L*;%P074>?EOG&0Y*$Y:2S?'20_QCA7-8 M1)$14U+G^5$D4TD9FA#[11XPI-J@.(4_!!XC-P)>BXN6U=W@H\+W*A\\5!)< MW^)-R2V2$QJ-\J"HX)% 7T)HHNH]ON>8/X!NY#CPKJ50V#.3!0YY=H2T\([< M47@ 258@$=5K=9 ^.:*QV-+UV[SJKL8SK8$ON\^ZZOW1A/K$FXZ(ORJ]$O<\ M3>QUAVHHXSL0Z39&GX)NL0>%_YQ&EX&9JY>QP'MEPEO8OU,&(G0N2Q++QR=$ MO*$G2E#(5WN("[9,,O67@:_T;3<^I2SA\ "F)Q=-5V*$KN2*93XZ) JB%XD) M&^'S:(MU6XV.\E\!IRHO;-<2IL>#?4"G#>[*.B:WI4Q= +VSU$;6QM-SE0J4 M>G*9C$+M'CF$,7541Z&) CHF>\E)0PK5$/(Q?"W'$,A1; EX@"]!\R"4>_#K M2C"WZ>@.;(5&\56AX 1#]"(HD1"[8'3VJ+S@#MN%06OT_/\8EY3J)J8Q$;SP"*GP\A6@=R!B?AF2/\JD-RX"V2^J;B9U MZ>>N%Q8;2=J?5PXO=XZ L;?G8\PSO6P,\EUJN4XYA:UYZ8PHYSWB\Z"[R-IN M2K^F!/HR%[:D%JLU*5NUCEQ*&T_GEMXY]RA0@-?/4\B9=_PUNI!2G]DB"FRU M''Q73@1GRJ>7*VFY-8*9W*)73[%0']N889VP9C8U+3YV_+N&)_%2ML-EEVA; MSKH"*S_45"$S..V'OC#%W9QV[0Q6SCL2H(ZRZ7NV?#<35S^";4)VQ0)F1V6] M?,*<68W$U35VYJQ(N50=TI MNF+PS#EU4*P(F /.?"'4RK(,)(&5WE7=#2%:^,!K00?R;S*=;8NS#1 M14HO4()";BM?P1GIK:"AU%3>9G.-O)YL*N7( 1&:8ON(UCM((@J:<;:F\ @. ML)JW^(/H"[9._]69K!+(DL_3^0U9Y]SA0:30V[I!TD !>Q,) >=NT>&YH$8Z M54!BBHLE<;+^%3'ID6G0;/5-/Z(SK?5@3<]I@CK1S3.I+#S7*-Q:527+!F+K1> M08^FH?FI,LFT?X5+,SYU ;(^] !-<"R**F_]\/J'NJJW5 CM)T7TJ$$5Z:B7 M7.N3FF7J2PB_>%M.")*"PY^4G8+#YED5J-]'[6=U^ ?<('_")?(0<>;ZCRE5 MFS>-X8BZ+##2[[BP2]CY)@O$=5M3SK=ID5,5> M 8LQ8/HP):0E;=>B&3A\U&-V1>6>%8K<* H@ZNV@M\^Q#I,]KG@DC*4>DX/MD)NZZV;3C M>1)RM,.OZ.E)&UNW0>-@/- *14LBS:OS?E)X!I91E2JU*HZD[='*VNIGOO5\ M.(J+!U<56F:^2]=^W@>&IZ=5Q1\2^Z2?T=:IVHRV2H(Q<>B*8IY;/T^R>J/M MIW!$X1N)N6J;'PC&A=5Z_HG8#:Q:7@ 7&&,==:U M)]S5V"[QIU*M$64= MVYP9,RHDJ-I .DD:Q0AJI>ADH:!XC>[F1$)B9!G] B(CMZ3NFL*M^<3]KB^ M=*[>$>L1B=Y6M.@<6K)!.K*MU0TQ;5L7&>49\,-";D/';5%G2^88\SLIIB^< M?_JZV:T0/Y'\G[];4[D^Z)_Q_6HVSHA;S%ME9B6.[XX--E> 5=:V8YE*#-[G MG(_6%_K,6)2Z*A#P7"0P=G%\=D;(0,:*+S.N%62!G/ ML?=7IO 5?&@AJ_&OIVIA+ED*W$>J \STM4W1WP>7DA#OTN.UHY R%BC&MW+8 M1\2\D#,G'P&WAUMH7+_]DPCG86UBO<5Y5_:)305Q'//SH!M\_\ "GN:K)@UG MVZ0\>H!)QOJLW:*#KVM1AV\Z"?D3&%5.=VH0YW,$G3.Y<=6N])-)@7_0SL(G M&#)LNS9FA5Q)5%5 7FQP:B^E&ON1='/DI$TX--5+(Z=_ _(A:F('+,VXFIO. M&L^>_Y>"4 UG MZK?&H=/EGZJHJ+2K2\K%UU3!CA8,"P)_5L\[_X3A6355&+J\2H;S@4W;ZS8. MXA9"MSUKQ\B=/=%#,G@G;5G.DR)GI2^_6F*ZEYL.3@ET:7<#^E#$_:[E!#%% M3P-;5-6,O=:LX +)K.0F/0JODONKR"DXI3E)^33C%GTJ:P01YJ8A4_-H(ZAH M*"T(IHK]];"4N,X$-,"9!W+#PHCF# NK'Q86;-#P< 3P '$QZ%QY>FE&<^Q-5M 26V*]!V/1++C4KYE/RR7- M&2>-[O9SJ/WB&L]S6M6+K,S_],$Q4YU"A7,YQB9R1K? H7+#1Q6>+/%Y.T1: M9MP:*EM9R:/CH@3>XKCPSQ;VT_0O.HV7ZPC:>29OOD<6[5KNB>565;@D'F&# MMN^D,7ECZ6%)*B>*^#O#,=AY?.7$" M6.?X/)D2'$E_X&VV=Z_#]L=CV/[FP_8_"/8U0;X06G[MD2+B,GOXRR.K.&W< MS]M\%LAC)_HCKFEC;T42SNB3.;H7O*.TJ.L2.0$Y&0>\3O)OGGNV5V[NW7NW9S[N0PVV*-[W4Y/3I@/70@K6 MGKYN0L"ZP_3B@B0NEP4-7'!\$+.KEA^:VTL,0W3(%8$Y+CE!2GIY4*1>=33% MJ;;7>2O:(3FJT!U_DA'<$2SEZ?T@#<#C7@7F8ODJK MPGQ#C2=FP/\N= HISXOA#)8<+E8X'ZS? MJV;J-XA 9!NV3BM%J,8\&3(4]WNKAX*#GCEDJ_+?XW1B?I*ZO!-!9>%?Q4&* MK1)>N,X8;@&=W5E,91L6!9_$99B*/4AU^,&WWTX=",PZ+H6KZ2%1;#A4$0Z$ MD86?@-ZH,'@8GE#P,&=5'5=K1EPJFE#.20'BC"ZW#4$&J- 8LML6E?#1S:,D R* MO*HI6K=5CQA67@V&^UYD$6DU2=B;GC*^EZF(S]\?O>BDW@L"5V4 )"P^=& & MZ:.6>?^887K LEQ5VK(KQ2ZNC%'?B;5">G2C+JB(PJ+W12VC'1J5T4W1T*1) MO@]MI(I"D6C0^OS12QD7BLC])P7:*FI2AQDWF@WTSK 4J>;:)J?H#9T5&U40 MWKV@I5JB6&1=:-E\6&^2,+B%*C@*N.ND@&)48LJG\G?Z!0D?C7-M031OP[C[ M+E2<>$CJ0"50U<4,@?]Z.H@3N_'A["_=K&+$,?V*74E,IKR56T@.M5UGF_3C M,RE>;L-(1+/^-KPBZ!@P_@J['^AO'-FRV@HE^R)><-CYZ M_*4:6VW%23D9( +FV2Y)R;:&5G8MLMJ6%8IW]FX>J@#B\C'K$%)<,D#:RMM[ M]IXO@AUHHDA]\;<>>#C\6L];5%/:FOZ:)"=3]*$INY-^['71+\U@VBM3&S=7 M!C$?H_M[7SV,Y(8CN>'%Y(:O+$\$WH(Q#BBG!>:5(>/$-N:L5O(YE>"\ 4^% M,A*^#-SKC9$E=A36:Q%6'S=!H6,BJC@&R4[1*&^CO%V+O/U08 (S"_YYA>C# MI8 43C&/S%$;#JB-EJ!%15HUJIZJD@JO%BLR:N)JT5C]'!8OB%DK!E#Y14'2$Q^=_X!NS:NF# MSJB?9W6VS@J%O'/)][^E7+I4%LR"56(E)RWN_C??U0@&1S\!BQV#)P750?EZ7(&2RY1' M.]/:Q$]BP,4(]]NN:?+,GY^\/,L:J5/Z[3WB,DHGV[D'XK/7C_ZJG>VB'*CP MF!4!3Z <&KFO?N<"I]@ZHR(N;Y9)M:\6ZS/044&UP(P'RG564C^IU(H8#,N: M@ R(?"6F89\JU_H=0%3WQ6CT@@&5)J>*'Z@5\SW>$S$DN>[U=X=0BV7R?8=] MD)'E^*/#AK"-+ZMC6 NBG >;\T(Y*:ORT2]5W9ZJH)PL'3:0E1:7S%80I@84 M,32,^:'O:"BY>[6C+^(N8HRT,X2 I( :!:NQ!'A4FTM!^3P"UK186E(]&FI& M>[CB4?5?!GJA)5AA?*IPS!D,WM#M8<:!'Y7F BZ-6A%C(C>[7;)!Z8&0E9]@ M>\:BJ"8"1L0G8:O8'%8L4_3#L@,)K[K&>F*-\!_ZVN&(H9#PZD,7B&"Y"@B, M"@Z>/(;_E0,<) I)G5@P=:FFD*6'G^5+[D0/J'+Z& MF_<9A8]$%*1#8+43 GZWTV&\L($)8+'X&>)J][KC_8)MUWQ&N2H$"\L_&%YP M Y]!AID=!>Z*_3DU2IM4'C9OY:4IL):CH@6],.HY/)N@4V%9:=?6@C+MF$FT M85 IYKXA7 ($-EA(FRBY];U3!P=R]D>G\(."@.89J/"]G5JP? HKSUUA5D(J M@I7R.J@-K:G?3O Q HJ'*=(:?T%5,RTP%OR_'-K%F+Q\1A$S#$P(6P(S8JBN M2$1-"^FI;86[!4P 5H#?R0&A"'8.-(51?+./I9+Y MN9MABXU\H5V>OZ=Z>,GRAP($/L>H* MZLK Y?F)=DC/#/EJY]7CKWB2 ]NW(5(!MYK.<^:::9U/T)UR1;7^^KR.GZ$5 MO7O6K& K*)SZD/7:$YFX W481]$8O$*IE1HTP1B[YQ9AG7K&GAF=- 63/D L M7FPU\GTR'IE2BFHO9*5F%:G $%[:<*5\6Q63>#<*B+E]]\M-R^"N%VIE#<,V M,+H9$[ Q90'I?K+F7K'\4\L/LZ)T=;,%>:3L!,).L^$^B\SXPJ#NIOZ:94.5 M@*0+-3MAD/'<\R9@[0K1- ME7);$3PGL=H#S"%0E!;N[[,9O<<[.C)6,]S#6!'GZ2X7PYI MO]KCH/TI+9T!H2/@&.$WHKI)M%<=5O"B E2S"_\P<>T:^8XB#"\Q&.=1\TZ MD5MU-1(,!2 -.E;$ !TPWWIZ.E451FW0618&AIB2,)K0F QJ3P5[;=14-O=IF M!A,I^,/VWU<>E]_2@2YAGX@H6UIJB9F0 !:5[Q1T-2$[1'0"/:@'1EIH(]*< M( P2ZV =6,ED^?HJ7=L';Q,JQ=YT4__J2ZX[ Z)><=UCJ\M$]XR7%W0YX[10 M^ G]1M-(G",>O 4-XTB$W(L!-.<,^=&F+@K9=,M.0+I,N 6A5F!--^"OWD'S M=DBT(F9@6ZI!%RH?M&Q1.P9HIK]\EY7O<;(2X_84B8A%*!X#@C*P3D!$]7-@ M.@9:I0?A4(.G=7O@]I=;#6]J(KK)$$LU$9"U>3/?>" .HS_QI!#@#P(/BYL- M6C/G+O8F%];L..)L!N)4R,_MF"6-VTU?9^RBA,T*XJD"EGNSD_C"B$'*\C1 M@E :^KR^*#C,.N#'1@=NZXF>C8L05Q"=Q[#!<%0FDP=*WR/I^$Q!7OEYABJS M%$9@MR(,J E[20P!8]=1 ^5X UL71N7*!5Z-RJ? MREF.2&<\>#2M?87#UD&U1"Q!]8%QXQ95FU/: :\<>D8F5RCAR%RHVO*+0-]C MDO&[=B.@)^Z7J9$3X.4)88 !< 79"DP.=SRV(?O"EP63P=T!% M3*T(-"R .+>ATG\=DI1X!>3/ A>R&53X:?++WLD>0YS!(V;('X!X(UBM* P! M%!NDPX4+:A?>E(#94H4WS2UJ7TTD9L],RMFEP< \$3\4Z,9XT(/5 M6\K^:$D';ZE"BV+,6#5B5J)']*ZI%YET&B"K2>C'+K)G_O1-UTNM?!V_G%4^Q67*MM/Z'-YAL(W"@.0 M-+VOB8>/C4'5\2;[B)M,SUR4UE?=R+K8P%))OLPK2Y^@\14 U;I\:"!43\>B MM1&$ZB^N)DX*8D,/MEBH#<0B6[I3K46E%Z'8=+/1J1\%\5H$\6K;G$VN8_ MMYW,+=)NXHTEXL#"]:A2![[4!$F7,J(!2(!MTAD/\YU1\T;3;U89Y7Z4^^L! M#$0B1B9V,WA71.IG&&&])R'.;E^FO9;>ZL']"&:E4;9'V;Y>+II9WG!9-G?S MD0M,I*.6+GQ55R 65"6:4HUT'&;<](6^W$EGO>JXBGD$SAJ%^1I3_[Z-TU(% M+KV1S6%7$,BJ+%WAW3J2WA9-D;L 61613DLM.#?6%)MPXN*@=+A"%">*VA3@ MOL#O*5TI ;(4&N1OEAC7+[OE!),_\T!TMI<8^%+MU6!'0\C3HN8MBJ)A6:YA M6*RY;9PAG(N-@)'J/9G#!,^JXHSZY#A.'3]R&[&DP!=4)=5T4-]7>)DT6%^R M##WNQ@_]-]P)O,W+FWGRSZ1&NNZTEY$*4'*N)W_FN;/JFN3QKGWGBK 8W\WIR"LV CAA'SS+"/ .VUSHW:*\)DM?\'F'C;2 M2\(-;=1]B"P#W4H E;!JG;>89U/:L<>=W/06+&E'# WJR.->/HXC,[MI7IXR M. AB292;U.G#KT,F52AUOLPWO) M2YNYI#E*EV9>XK&7M0OR- N8\ T(9$L6<+*T%0(_L;D<_-L=78 T,1 M8BHH*&^:7=43![^2H=/ M))HK,G!HC \!?<4++%PV$_]/"@FI.-'70#%0,MG:Z^'".Q^N9=".D-VUP%6W MX)UY) H<\" 612A:\85[D3T\B]O@0@QC *QI4;R3]IPZZ( ^V%7Q9FPRRW6CHK$!;V MD\XW0R-"F/2KD-;14P$WG>*'*XR9@<;=>MPMUFE*P2/Y5 8=R.PYZ(7,1Z.;SR'F=M"X^!!3;J6S@PU8G/B)?HF4SI].I(HC@#10\6;[*&'"K@( M^)2(T\=1K*FBNPC I1.(H:G:W+*W.M(0J,-8B$_\B'=*<#W3'5)E"9*KZ;2K M@_YSO"8,]CDHBSD;_4OG6KD,Y#6D%.0Y0>+@:,X0YJ%T.$&L2*4E]YO3WUI4 M0 &=UHAWI4[*7O+[*8-IA7<3T-P9AQ.C"3%J"9^$^!K8/F.*;J>+L*YA7Y,9 MTG9$",SA?B8\$8UIZ.BD<#7 X8#C?,1 MC7.[2%M'=9]Q\IZ-)8>WC9-WT05V(H%R8XY)ZD%P\2=929%;& !HEII/FP"$ ML"FG87L.>[,VSL%JF-']5#.>+@;8Q* @A8EG6AI+Y"EI AJ\KM:$=QV!ZT5@ MH\BSX6:+4#7N@Z2WPB# =[)#53Z'(3<(^WRX?WA$BHQX+C"N_8$ W>!:_.)H M[SF?1GA>(?4T!*3I$371,@>5Q4C!A+^UZ\]D2)ZZ@E(\N$_*GS%S!.BF4/)- MA)!*']2_8,S6<\;HSH>5UPT&)4=Q>8LS:.#G,-=@8&]DBT7=:K!W695NXWE! M.@R:,N!0G2G*<"&J=(*@BV@DD%.5G,+I(0P6%"K!G)9$E9@_-!E7XP6T,HTS3"[MB! ^.-?.6O7U67:RS;IIV[>X? T M.#I76EKU &2C/*X3;P@RM!!DH5,G;*O9"^:Y@*.*Q?*V^8/EK,.+L:I):^@9 MC[)\\'R\JM&>C^#8$2MY.B5.'I(%TKZH/JI+*P,55"-Z_;V\7F!ZJ/<@GJ#U,=\",2WE,T]'"T(=QLMKNUG\8X78% MZ14C+1:?>,JT131ISD2A$D!+B[,A""+:!4//TC-PAUZY>(2 7TDU@7M+,^6T M9S9U[C?2 ,W;YJLA[D%R'$"B-GEU#O.#FY6"PR8KD# M:/TBG,6[AT'VJ@Q4QZZ88_Q.LH2P=#5X40*XK+_UB(2XQ1K'%^:O*0J!=]TM M,ENHQ!$2F:W:LP@Z2PLL=ZS@;5RQ@E".H.OB'3!9-#&8Q,LPM%JK@A EP>L, MJXQQ#L26A/^>ON>,> /C?T2I1/]-P; F,%L% "O%O/',-!CLJ^C-5)V-L6J2 MT<4"N3U@;Z=%EB_9@1#87,*'%71MP_HCC"'T^8;]'QRH 6QW >F/(P3S$+?A MKR$##>)>TE%E3+.FE>,<9AA6:04J.>^6MY-C]DBY\7):=A*.P!)!&V+N#ZU- M5X+5268"\:7 CH'52I-K3E$#S@AZ_W7TT/#"W*"I,_@H"3^ ]+],*5/N&'C/%&M> M0+N!P93#QYR0O$2$';7R>K"%M"9N(ADQ#]*#V$_S>@I;S*4@<.,2A+(6:?>9 MY%ASDR#:]Z%AA""6;K9-'L,.+LFVKQJ(>89"]2Q:<02]:JJ/> 'H[<&D]"$P M.PI!TFQ\%]F,F"VN?/%< MQ?&FOUV)%>4GT$RLIMX&QMZW:$S\_>-U_&>]*U]H?8S?=^YQUC0&FG\4>^$- M@,/GR\320$LL(6N8. *GPP^+K)2V!M&19.V$&CBN5*+2,[UTR)OIO>X\$I3; M;I^/ZL'(@_=V.I)AR9]"4B&4>E5T@J1^$'1(GN+RG=0%5^/5C"T2A=8MQ^9 M]?C<:!<]LI8A9K1O[%$"]5L[YA"QD-D<:1WD:E,KMEYN&_B#+L#@LM\F<+K= M_.WE2K76,B*3"QD/$^PGV]Q\*'#2)D@8[#,-G$6-?&V%IA;#<3=+D<)P!X5E MW*^293H%#M OJQD6B,3GSE?6FES7#CY8FX\^O^% 7->M_IKM MR -I-2N:5A8]3/!6+9^G7*.<-4U"[RHF16/.NVG(Y@126]9SLXH26_;5<7FN MKOS6":%=$RUB45Z\^=(JG7[9H_7-_\H9YT+4=R3Q43@-A M+?L\K#R+T^H(WF<,+#_QS$K[R&@\IOBOYK@*3:2\YF86@>>IU3BE$ M:5@N5S4N5A>BA(ER$>^#MZ<5Z*U734&A:T\NS$F%;"; NEC *IB$K9\24R2UG:H(A20VJ>E+NJ>[^^[):%Q@23+&67H.95/Q" M+OC291PW% WJ/H!W3C):ZO(JZ[% MRC^]XF-F3:)S)%86G+N&Q]F&\@XQ!5>&R6W/J\!(APTW+IW';$*@SD[#<$'& MP?N6*'!DC$<*( W!/=)DC0IVJZ5?W&?BZNB7PU6C_ 3S%1NP\=]=U?E9-H7C MY$#"-RMOS$=\ O A#6%KH,@H!%K)'V257U2<]GQ#_0M3.M&M,=3,->\I)76' M:&5A<*?Y).?.!'F8IXM%7JM@!U94=8)!8\-<>9K7LT32"C2LT%]F51^F>4A\ M&CBS7E?0D&(N5-\4$?K2,%D4GN-K>!3.C+6#KWB(U5%+M!&4(F EBY]9WCUW MYQT+"%LTQ_O'>M+>9?4D YE^]/I# >[B"5,?'^[O'P8V)+H- I:;[R3B0\,I M(M;+GH"YE @7YY5D!QA.KJX* N8;9)Y3SHU>+O:46"FY1D;\X,#UC")<,-^K M/-^?LZF;>03"2P]"R: ")MW9+P)OBMKI7\"34"POX) M=1N'XC0LP0_$YVL9NE9"APIH+0#T'=#LP:=&(H+=LG4 HGT2U4MA"*QH%(.? M2MV52:X_*<+ZH R@C-K5-88K8[(ZW=B;WR+3H,ULW?X87;LRV"KJLL16%,.@ M3'5'116#K,/# B$I,E03.=D^@]_E A'.KZKE.'-3YL:6JEMGHO91>' X .MC M)1A3=%L^E%XY^D'J/-^^?G@=(Z+EO"2@#-].WELL"6 ;N;4W=;+&O5B\2'R M&,NED9%;K+N'W4T]I)=V5NA"Y3R M%(P;UI34@6[.*ONI8+A8+J1_7D"6HU>M2X M^BQGJ">\GJ6V<8VK6I '*:%!F)4WF_H30%P9$]2(,UC#LO$[[E.3UY8;F\IZ MBE9KIAVN=Q9T-:.5SD2FC=LT"T>L48@%I]'/>&4<'2C-LN^VS H-!X+WU-N"5/H>"-$#6S_CX_*'Q^VF&X M=/?^ZH<7;TZ^YDCS;_^3?%?G$X00TQ!X TH=.P7755W,UG@##>V9 MN7$U&-YCQC!14HHOT.I33FW),1UJUL2K\_*1\V#^K;J:K$S<8@];10=$?PB[ M\=J&Y'Q=A.:Z!L+AS?"<2:>P:--UBP%\7_E+RZ5]&F?.5%K.S*3HV/N'8CL" M6E\E+ MUZRP-1.EF'+ &HXP+X/-6M39LKD01FLP AJ5P]C(I@!NM<+E30)2N^G[0HN2 M:C(R"HR H66Z#&!I;/O*(0\ .GCX%R1/Z]- RDX&K@SB[BG-WTIQV/^,>EX8 M.0 F3RDQUD6+G/&Z& 3/%I(T!"=(/BXL2B1TX69,O5PPO,2BWP1$^3.\>/#O MV.O%Q$@Z$LG%V=S?H+F,QN.B=$HDA2V[2'6_-4O[;#/+"7OCQ6VF$\#NPH2E M%NG7H9L)!VIO+51D<-B)'RCX@B'ZE'I7D&^2T-0D8:R6@\QA*6SHBKWJR+/4 M76 HGRGX9.+DI5L^BI9Y/F*_?.;CBGO)._TF&J+34V<0/X:V"A/+P?NF?V+D M?IDW#;L]:1@_?*".)M$/7&7D,[HV*K9?($D]ZH%X<6FNCS1]P1^F)$OH4+A7\"[O,A!,J30*T#HB=V+3:*6:/+VU_D(IP;FFV*[P,;PE0!4N- MM.& 3/"LE7MCRXW'2P2^N"6]NF]2DQ-"0 2B6I=FH]+MF@'^;I _?TI\"0X7 M$5$E"@JDAC"B2LQ>VDI*7 M.+PW02;>^FDF7_WX\LU;,,U8F;9LLXX9#\ M#)H&!OJ,,X'X HV#8M=," 2@05X4QG +$LWO!*'T\_RMY%__4N#PC5(9Z6A&?C 0US18Y^H8H>"_ 9( E+?,,1$_*9MZ(L/A2AX-G MNN/KK+%B_M]=Z>CO4O=.16$87?>N3)13YI3R?JKAIX;((-8LG:V4 #&-!$GF MG*)X(#G^2C$.=6,DC61745KL087_F!EZRL-H_"!!%!(W#1C+GY_0/$7XB*>6Y:T<:Y,KZ\ MXV)R=D=$ M XKN5'?\KIFE0>$;H:I>N+PR#T&0VVDA!5=90EX HBW2@//QT/ M@S7]ZG33R"DFDXI15RBEO/45*EM<4MDH(QN)_3I%$R#1< M!HGKOJ.JDW*"C.=[X[?Y:5XX:4;P][94?[0#VES,)@QH85( _@L/KS1'# &_&^[82%"E"'O>.K M0)KY7TXVJ)^_DGAOK-9)/M>GU=*?2;4/.2K!+KU0"WK[X^M^FL&1U6/-M\KHR6S/UJF4N)KS[/-%S3J1SVQ(M M>Y6'.:"R<;6Q2N6Q+&_Z2_^B;++9T6\#&ZT>D"R&36 OE/:B?M4=%H MOIC+@DQBA"N #'I* )W'N$.X@'")79N36Q00@>3648=O CI^9JJ09CDA-9QR M?S\A964,U3K MTQ_=;,%FP603@]CZ:E3UY\RKEHAAZTN^C)S&"W[7,5)^]%D2/+D4&S"3!'T" MXUR%%D*Q&.PGJA+^/=76B]PSD9-$+;H<*6!*UY@@5PC[^'Y)Q/.D:F7*Y]0, MV3CWB^RM3I]2E1+A(,_:?JYD#@C>L"BE2[//KL(U1EC,PQ"/49*NX8J^$I$Z M<-P^7@I2,-'/Z&QB_A:NT??]+Y@Z:;,/.GG!VJ"'4J\4HY-YX>+J=:*[(*?B M0OF-Q3?JNQ6CE[H_.22JN2Z_^F00A6]0N4Y!F,Z[3DM5F\,R)/@&;--7.U)X M2KER ["9X0C;?2)N%OXBR6=@GU33XX/'\)__[^@22$RM6TH8XKN]Y+<28R+% M&?=0S><4>*.UNIVS_4M5GN^*7<,J]A?M>&C1(HR1L&:'>[HNYW_CHEW N"5& MT/!6CV%W+WCP+:;!YQ5&<\CA8WH !(O" I#(UC,1?ZY_(W6,UMH:,U,62<%?51_ MQBB>0A&RV1(RLQR'JX]E3.CQ%VSQ&UPKHT)P7 *Y H_S[_O>L1#*]UJYWWOT M!<>'7_Z-(?O[?^]Q$_#,Y9W^2_R5\__]"0_NC?6)_I7H!2[%#9%<>DG)+8Y? MRZNJFWZPMX^N-->^_OL^_5^?^T$G,]"C>&D.\X$]=IPOU[DF D_VO20W>^3OLTY9__U!5+6RZ MUX=7F^>GK\MUK\6-"X+!(WL?/M)?7C$?&^ZNM($D&FBM] M7\6;XE1_^_;@Z''Z>'__,PSGXQ;A\GKW156#58]I-8/SP(C.+JNG7-$_PS:Y M:L5=#U%1/GAIF?J24C7^V:Z@@_WM.^CN2O_WQ?ODQ[H"3^]_\Z*@2HY7B I< MY3(\B]E\1]\C,5_ M]+DL_J/1XA\M_M'B'RW^>V'SO,Q=^ZSA"_;$QEUL7ZE$C7S*(DI73JJO;-/F! MRB(?CN@>/+ZGHOMN5,-7A%*#52I=:EH,;C?^_?GB@>G!?=7')-2CTB5Y?7>: MG28G1;9,DW<.%/"BJM/DYZS(-DW^8&R'PW3_R=-15A^LTOVQ \']\[3J0.^> MYN6#D=N#]/#QT3V6V]'(W1+5GS/L8L/T:YI\7RXP0?YPI'7_\&"4UK^$QGV' ME<*G6?[ %.[QX>-[+,"CBF45ZS[DTRIYD;<;,&7IAX#C9,*=OKVT8+H6%],=,N/L_"04__B%X>Q0,M^"+,ZA/9%7G,!48 MDG\)D?Z\TL<2M(1V)3,1Y=3RO:Y=47B8!\=D\XNJLCB!<0]8@$[S1-.6%IQ8 MR3W0&;:*-LXQ(#=!KM_OKMK#L:OVAF$T>RTDCZ_00G)T72TDS&S[!N$^'-8; MW8].$N%+PY96@F+0$B]&35N9V< ?"#2'X.M*+/ J#/(]%Z#("*P"\S9]?PHRAXC.LN ,-9IT9<#] MC_='H$;C;>+^/0O[;;I6>3%VT.X8+MIJ:/]NNN?LR144QO%U*8R?L1+T'8.7 MOS1H/_=!;?Q2]7AP!B884 5DC/?[5C\:;_6;O=4O5S=W\O;7Y-6KSU),+,^Z MGF)A7R%L-ZU?GMPK7[Z<$]UWB_D%3[\\KX\$=[6O!)]>00D^WALH^XR>?8T^ M^D>>7!K'A5KZ6G3YSUG]WK7>H7GK%CD2S9;ME73Y]8SE/_[]V>'!TV]NXGJ*Z&<$Q?BO#CU9@6W-T67_ MR-LP^/KG>_J?C;YFRHO!]((@#00[G]S\M/K7_?HWP??W ;(Z6E&"%]:" YVWM'S?0((=+RIM'&(EE'/ MA+/O9%7GA< :[#-CGV(USBK'Y&VUFQ/T?? MO2-=S+\+.G!V0\U =V2-3N!KV %%J_ &"81Y>*LLG\DO76W6B__YU1=?_[66 M:4N4^-_57'K*2)3X=VH+SOC'3"3L#=QK^B7](.+M%1O^^TG)$&*SY$V1E?*E M2M[S1E@]_EJ+_G,&YEJWO.@$\[]_/?/CH]K,J[) MN":7'>!8\//234G5)D-ZV/_QZ.#^J^ G3Y]=PX"^RK[^:O+U0SA6!P=[3Z^C M">7AK,BH?!^$\GT )K+0_ PJ9?W;0]#)XXD;UV1#N.7E/J?9 4!]#>GS@E7TD!>_B\DTI.'(M*'1T_NFT@_?7QS(GU[I!// M;)W6D[WD_WGKL*/0S?[?&RZJ?7Z%>K*GUU94ZXO/_V*E5UA!W E%+XCV29D5 MFR:GP_F#KZ]^$37IO W%V:]#C?Q]*#^^:#EB/-I9O#29+@T>_Z43+B A?PV] M!C&)1B -@A8\7[#?)$"I%RM29J MHX:_AY2)6,^7G.6P.69./+I A24GHR%.MQ53$O5A@W=MDZS6U9:X.56N,]#H MR RU<#1EH4VVCR,B]9C54VFJRDHYDF3!_)>L=/@KQ!6-6S.[9LF$Z%E9=L3< MA51&6/WW Y):1^([U*QXL/_H?U0C)N^0!$I$(::;EW8\_[:=*U@C.TS"Y##7 M.LA4!QE$V Y1R+F:E5#'$ 4-9HNE$P6!X!<;JIN-NAV)7(O76@CB<8&I8Q#- MBD=%5;T7MC;=.I)A);^J\^8]/P6K DCDN3?I!9QY9AJM' #M]-I!Z8I]L ]*I4UV3&E&G)DTC86CJN*F@0[R)"# MJYK;JB!A 5%K MJ+&XJA=9":O$!--MW=%P8#6(>Q<)S&NBKV+N3:2S=.64..Z"5HGX(>YS&]'Q MV$9TP\W!\/!S"47X%*3B,K(5-@MGA=H1?W?J4?+!0;)4HE.3@V*.$YX:D.S% M:4\1MNO*=_&?4UO]Y*\9#WS\Y7FQ7>$FN#B^0E?QD]W/.!A\QL";/VMDYI)[ ML!69>2/]P:_P!B+.3+H$OA*;Y,TKL42^3B35!1IUSIVZ!3$RSY)E5593D$\T MT*8@Y MTF9(BF[B"6$F8C0=9E1_IC^PX=*#]E\GK[W_V']M# GB"A'?"3V% M>;O.N E:KR)V N2V@&_RR_28@?2\SQ9D-R[ITD/@"NHEQJMABHC"2>G@[,#A MDP>0[;%IP/9 %M2&P2G@?Y'!6 WW\,$.NU!Q:,+NBC<6]MD^@GNK8=ID&A \ MJ\T6=.>\QW]7I6%9IF9W;.AJT(8"M3!!,T^Q-'05SUF8"VV^JH2-;[535AR; M);@?03_!7Z13G\>EK?IZC2MM=7.)H-2H;T9]<[&^^16A:E#4?J:H*&,ZJ+;Y ME7#2?U:5$Z785>]D">(@Q#9E[ZH,!B8;D>25D!*@3X:S3W]M,$"[U(>4#3H_ M1@6L)99@AS3!'7@0.G@V?3GF0\ZQ8A0?YUB M8'M:K7(.?=.X:D=3F/D6T":;L\YSB>Z_Q,%F7F4 MT!.Q33=T,80/2Y)?7OY[\_"Y-Y@5:5N ] MY(C!PPS4:Y=1 (.?:ZF3?!.J8JZ%-[R8E9 M*MU=5'NRJGZ2N@E&<]-"(7TUZ$&'',_EI,)UI=543;OG]RO6IN!0PZ.;-'@P M* Y!/5XQ*O]9&B=?E\E)MX!;,SFF!LA#:L-CIF[BA,? '@H^(UY0UZ3E",,] M\ QNCR8$ZF2P'+'N0W2\.GNY)20W,O2 #.>8WRYO WHUW;E:W&L8+H%/) MQ,&*$_:)3_VTISD(P7 ?XU[RUN'U"P?Q%[P8846U0S:L8ZK!F+R4>*1)W0S& M_,Z)WDG@!I=CC@V6>#S %<^+YMQ^T\_5B'MY#V1!C<7%QKLB&$)BZ!SKUQAG M'!49*##LQR4@2HS38FJNB$(('.LZ>/H-+@V[_AF:4((@T[6G50WS00T%3]' ME*3I8! 8>I,SH-'S"9SU&3-1#]T/E5B>^##94HDGYF>Z(K ;V&^]J*LUB)&/ M*K*G2CW7'(&8ZD=T511O!Z2P.E/%"WIK!59GCB;.9+.3F!*^! +'LX_,4'D_ MO,T<;UF)>8[?PT!H;9?!?<@; 5&#K= H*,8K7Y5Q)R\K$AP*_.L 88[.7-DY MOC6CE5+MO7#8B;,ZQ?%@[^\]B51"FGQQ_'SOJ/<[_/87QX][ZB,U>UIL#R1/U6A_.S-2J\%#$SG[>R57B%YV6'LC'P'91@E#WX#+H\'++O M'1^Z-#YH3%^>)[B!U;2C$[?SV( ]5-6D=LV!(MAXW157C@N3J^OZWPJK[IV/P)WJ9LG_#5:5.)5%MB46:#V&9<"2J5051FY^]J?R6IW2"=XBCH M$W<*#@^2/> 7X;ESFA94[)8,VG79'5\+M^$I,6_0RL0#EF'!^#X=,* M.P0UJ:N2G*4EJ&=&;24D0S8NBHR-7C0K=7U 12XY/3:+X].JH\DV0>L \W@X M--#N)Z"TP.!'CQ0!&TF[9PEEDGSA4D.+F"4E=0!3AJ6@\@7Z]52\5L1R99>, M[J;6>,HXHF"S>QE$\,PHNBU/C%Q&V:;LD'$!Z"SD+I\1]7Z);6 M4>7&A=['S5]V[W(]JA^OH\!Q@V^N'4LUF@)U[JC]WDNG,$97$X6WK+.U5Z*R M3_YX^ ( =0+VHJ('.BL>\E;\Y3 5I&,WC8:3:(GSK=W.M,Y>,Q4WGSF4KO!LL%V@M8IO'- M@XI_XEP)]P@*9.'T!MD(Q-84,SFIJ"Z\'$AK^J-[FO&E,9V")*/;:CP=SM_H M5^&BF+['@ *&YCAB%=S- %TK"%YT4YWEE"; 0_8(U;E_-AS4>;[H:F6/_]T9 M=P+4$U8)=),&*URXW*OA]9A5=)57!(&.1[@KZ0T\ WP>&F6JL'MU>7(KS?C" M(@LK6^4SOO-9#1BL7':=T"FPZ\1CRSQJ, \M];DEC&=2@7&^6M$-[V![O\KW MW%Y*4=2:@["@H6!SIRY#FX:$^VLQ8#1MW,C^9).LU7M]YA:U%#:)3W.*U4\+ MUWC_%G8$LWI!E>>(+!@2\22"7-WBK2_.1U93MK)DY]#K*V$!-K(L/ISO+?V< M@M>PV*>N6"7@5><4(PTFA!\=S,&5:(##:S"B0$BX>U@"-GRPUS(7%+HE7"DP M#!TG:,UI*QC1H+08@!2C& MC+UR"EBB<]&S0/P6=XW6N$HBVTR/O 5RQ!HT5Z8(I>?F@Z('TRR-52 M1-"930/;)X?; >V.5&^!8(#[Q\N4J$^B&Y!<%)6R(4!RE%]B89ANO$FE:?&U MXUAR%&A=GU:8\Q*K5I)@NBE@T,Y$A2XY\!HDB>-!&!5$D9?#:!7#+ M4"U#V5+@47"(F/%J"?+?',_(S MAXU)LI3S>MJ!G\+!EG@X8N@<88D9\54*Z^A%LU>H9 OY!.DA>SKPF: MB9QJ+J?=Q4"@3FZY7;@\Z)G>="SNXAZ)Z.]D"\\0PI6&^W?"HL6,^,ZB(Q^H MB[I%;C9L]^LG>;&130,'P6\B>(M%CC(LNE6M;66P(8T>6;_P0-AC$O5>5JYE MY%_4)VL6CZN6 K$LYQ$GSQK.DC?YZ?"0)J'PI.A?TJ!YL(&BNQ_L7*P/3R\U M&!0#'0S>%:%"DLN>0NC:FA0VY,3(OVL7QXR6*PP$_HD_S+(-UV>PD8M_YN_$ M44%]NQA4>NHQ"59S: [66FUS_Z$0'?3D(\O\ X7"-/KFRH52EBP=J.G9Y8*E M%WX MLR!^#_"_XU/BI\+JI.N\8NIO]9AH&[Z ZL(P!VJU084OXZ-2?6^RI6O+7ZXT+/$W6F-E/0@,3] MW!8,^'1JS'GB6D&+*6-/<87!/KIV74@,XSGZ]!U85+C^/)+^#DBB&"4OYQGU M;G;P9^9M:*9BJP=7PY;=PRYP;4"J<7ME;R%C"W16X?MF-QQUG;H5E]#]"TOY MX8-Z1]L@$K5WE9Z QAO+-%"Z17/4UICTB0X)>E"XYETSZ+)*EE_L3EIL;Z> ME5-O^KZ0F'4954T&.B]O0>(Z48?O)NC$*"%^P8# @$"D? ZCT\)BS9NI:E0C M:C[''@'> W4TG=\MLY7JI %D2^=WL>R?U)FDK5^->G+E*]SHF5-0N/^WME8 MN"<%>6@91O5[=^7B#G5V\!00G'J3AHN".I:]"J)+N%]K1@5[*5V%L?4M2;(0 M]OUH$V&+$TH2:K#H5"TH9J;H3JJ:XEJY,ZR;B7\MU7X43E-Z/+W#5>7Y>CF3 M],$CWG@5-;O8%@TA+S%$,5$DH:4P/)MP&GJM_)G,7SD@,U9PHD#8J<=63&Q- M,BE&LR*Z3N(W+AV%=3BHM1W(TBM$:^2P$N0D!"VC!8V,K%UWT:>&Q PG(G<7 MMFQO3/!&):)%7 ;N#,7N#A@776<;E]48-< X PIS39$PJGW2>AT9Y,;&(T.V MLK>:7K6#S"B#A$^!1B51-O\=WT"K'%[D(37J;]_NPF6XZA7]::/XP?@0U-4O*C7\_O"F MRW1BO VH:4,M1'CF]4KUF%(]H%L9T^>:\Q2TJRN1H')N.VU19QZ_PP*O%$U M2^B47J'-3?I]RS:\K^PH>*X^GA[E^/%GI"<9'WQ3#[Y=GI2OOF!+NNH:.'3- MUP/=5%=D!_>\"P?[-TZ\@ KS-JDFGMS&C \_F>CAUJ3OXY;^3G%]O.4KZX:D M[DY-_4083#+^GR]C:AG#/'.S:W1'5D>6XP69,;PD"'^B'"VYTK7\WV#1_+56 M9CPR-W)D1@Z?K<)U'HKG^^GS@\?CF> S\?0:I6%D&Y)ZKUNZ.JY=.HZ> MI\='U\$J]! 6X_#IWM-[ISBO?16.G^U]FNY\$*MP^"1]_&2\0V0Q#O>>?,X[ MQ&C@U8=+QHZN;5UW?.NJUXWXC)220X?Q0^PPVJ3#71O$=4OJN*+71\\SKN6X MEK>^EN.*7FI%/Y=W] "B;13:? CQMN/#]/'AIWD)#\BH.GZ?&SZZ#B'4_%7\]=.N+;=E9U6(=U6W?^549Q]\VHO\R:WKEY MW(U1C*MY!U9S7-.K.$[_-L36^]DQN7YQK2\[CG QCZB]Z0LP^/<>\U #DFJ" M%M^7 1+#UFB7YH%,?OFT]P &-0ZEW'O)"^G)P.IF_V7MP)I52\35F5)%=(GX M$C2PYP<]>%-"K?9#@E\]^Y(+J$/Q='B<'>239SW<4T36$+00ZA2T'][" MF^U-Z,@@21SN/?TR6AXSDGSG&[;0:_>2'Z+'#WVQ=O/"<6-BTI6AO05['T"^ M$_=!2LJI53P@Y7UQM+7!=L!9-M M44+:UOUX-K!S+%2#DF\F2D#]T7MIH0_Z)V&FB*\J+_Y[#+2JB+WGHB+J'[:^ MJP\]/MX[_!('_\764;3CC[L,#"+SUBC]X/K=D=Q*;+LD>X=[>WXQ%(@].D=[ MSWG4?0$]9]0I07=42^S.(IA4@SPF36H"C4_;=!X*/J,"^)V&H<(P>^-7C*:I MG2.UA1;H"V'#&+<.3S8$H^5[-_GKTB/R:UW]D94_"69^6#O#ZG+3Y^:M!??V M_=9#A^?9X1:B=I87JTI:#?]3\71,<>&^3#@1.S MS;ZQM7%IX +P@]PZ!(KTZG'LZ?K8>]I3%'.%BQ$YT2Z>TJU1*A7\M$==L V, MW(929^\5Q=E+>U&]O.KC+BHXP]ZN+%M#I)SH'[LHV=!JJW$ MG"OA U.^<5120^3!#;7GVD//>I<"BOOQ;G,HDNR=;Z*[\[ G17T%Q,3E02(1 M_2 ?!K!BEA)AN4+,);O+.Q7VSITVLF_1D?5MPOIRBCO=-89Q:\J Y?RYYAQI MCB38SQ@7/#XAT60,?T;CD66-1D^-\EU6,T1I$ U,$Q6@7^*UX.<&G?Y/A)Q, M6%X#KU>\2+;4FI M$&"$S_%LR00_8FLI.D?!4$V.]HYM(^2J0I(CV*0K#,J\["F8.7QHBFKMA@&.?8P7EC3EQ6T7/.#SN>XJ]JR> MWPZIQ: %PW8:HM'33>/09E/@4@'[89JWEE'KA7**5X=7<^G&D(2\S,C:^>-X/)0Y[0I 8LP-A(&Y.2< M*WY0:HX&Y[!%J+]J!T" ).'52A >5=R-'3&^L18JG1^O/^#+PC'8P)"-D?SCE2L 9V/ MED,7HXE7P_O7##)'SEY\K&2*Q S&E(RX#EN1:J_&FX0"FS!I$\!/S[.,^8'5 MG!?H,1R"F_>#7I,7+3,?]-*TRNV\8L M^H3C,W:67_P+PCTB[E@17SG!C9]OLZ1;9H*Q9?5,A-$T0'/[0U MP?TM]LPW84>C3X=);5VJO8L&1K* D\ (57S*BXI)6FHW=?"G64( @>PV9YOI MJ0/O^DU=M6)AOQ&ZNZ_P \HH_N:-GL]A30%S>7KNN"X$8%O7^#MXHF>H)M\(@:QLFD8%\/3-HM@.882[DHBI/#/V4"B:<-ER MY6(,!+V$;69>*%&T"R?TVSMF:_7S"1!."DM=(6#H,,OI83HHJR2G+#M](U!8 MDH=EO)L> MP4C,\P34Q7Z<^WNV]^3++8W2MRC);]]^8$^W]6^:V*CL'81LTB#X_'9T@<[C MFS=\7,TQ5GL@OP1[/(SPD?L ID8;4*-Y.8E'@Z3^$E#/[A&"IOI'H-33 ]0D M8=:4_D(?P$NQ/J/D@E]*N.>%>PF?M:J47I5U MV\F[%\G3XWTV5LJM+666,A2X#$'$2#>@7-8S8J"F\_WB-"\SUMO>1\*3Y$$X MH\AHT(3$Z:41&&9ED:#$64Z1J6R&.,Z"0]:<@CP*JS-*)\B[(!FJS1 B1&(T MZOF&>9(V1PJ$N7-JID32,^]Y"6;DI&R6?=/YI.KG$RV M1#[B7.(IW!(;L;/.%1N6DZ'S\O&G9,>B?^J"-XKV>KY$J\PJ;'3N)S;TM%\)>Y!1&W>' M<#SA %/&AI#)UGWX%?RJ9^^11IKC+NA0]I]N#^7KZ-I!KBYFSPG\E)1]CR+D M)@@^/!,^Y4B?4LVV9V(,VRTC]2OXU?%%\WBR?]$\MNU;HFP0L4UCY^&@/X2# MOD[;'@+L^L5#P*^!G^[IC\O&?=;=NW/6\T?AH5\7".GA#A#2@YL&(47.A4P& MDS=\10HM_0 AJ9XA"8B4RAO_.2O -BPH1P>6W'WH3P<8?0V>&?@.R:M7 M:?(*M_/I'ISF4B@L?)#W);RS:_A*0-;V,BLV34XC_,&C%K]0+&CZS"#TK%QM M.M&LA,%A2I9YETIDH5A>+*H'^X_^1Z5T8%7.7Y0Y<1OZTI!WW[_ %Y^ : M6 MU<&SU%:WW=.DS+,Q*7/KZ,OOI-["'Y<;UB_D*]/1PE2E5A@RMT6#^>.0"PUD MG5Q8@NV9J^;OO7(KL+-E2I:L&^T[86V>)>R("+1\\'ODY5ZA2!;_*_2'OE: M>W"?5D1$TH-#MT%[)"B,(J-]%.>F6Z+;_"'SP77WPY^B-OSF8:_OYVP2XO@-(NK@4.00;NG1KX]$?T M3\*('(\P@"-R/$*$7B,:Y.<(J?UE"#?NEES<&M7&W5J&6R-6N&/+\#A].B[# MM\_2Y_?/@KQ^U9 >/1\UPU<'Z?[1X2>-Z>N'L Z'AWN?)@P/PXP:5P'/Q/$G M0DE_?0>PI"__^;\H<<2XEN-:WI5!C&LYKN6XEN-:CFLYKN6XE@]C+3]7%/D! M5")\-#'9WSK&4@^.TF?[ M8V#]X"!]]G@\% <'8RQU7 4M6=K[M!S+7R6@?+\IM<;5'%?S+HWBLZ_F[7YR M'.W=&>UXKL;5'%?S#HSB)D*0]R?2^,*#]7PO>#S7%'9\$$I['.T]=RL/TN.C ML9[U>?IXC#?!*AP?WI%H_/TZP.-HS_ODG8\VC?LTCO:3+>S[7&@PKN6XEG=E M$*,-,8[V4C;$6 K5Y\1\1:#^8WAB'.U#"4\\3H^/1[_\.#U\_.0OOPJ'Z?%= M*92[7^=W'.UM6!;WR( @_LQ70M E68ZO4R1\&FV)<;0/Q9;XZO"3*ZT?!DY! M^G2LM 9I>'Q\1V3A?IW@<;1CKF,<[0,8[1A3'M=R7,N'O9;W2R.-HQUS'>>' M*B1(\1WS*,I/OR)7]QBI&$?[4"(51^GQP1VIP[M-;.YT_^C37/2'L J'Z<'3 M.](0?K_.[SC:,>MQ"5,"C(?D35V=Y4CZ/AH1XV@?BA'Q]/B.7!NWN 9/]L?6 MEF?/[\@:W*^3.XYV3'.,HWT HQW#R>-:CFOYL-?R?FFD<;1CFN/\V,0OKAV; M.<;1WFY$XCIA;@_3)T_^TGRK3]+CPWL7C[E6H./T\-D=R>;MS#.Z=^^?5-7LV[:)J\PI)#/809M7I7)?_TG?N];E.[A MT3[9,5@;H#B^ZF#?NC-7=BZ9U]4R:4]=\N95TKC%$AZ6Y.6T=EGC9LG!T=[Q ME_!S,L\;6/#D7N:U/* :IY\<;!_M'? (@!O*W!6TVJYRFIX1%M% M'WV^O_<\_B0\'=^_JO.J3C8NJ_>27^'G:5?7.!C\C1]1DC=)UK9U/NEH?_'I M^.4I3)5^B0^$U^#O2K7XSA.FK:NDI^SZ6E>.IC#:3X]A9=69_D, M_AK-YG#O<3S$.8RL[8T)1EE7?\"&_Y1-7 $/*+(6'K2236ZZU0I>K\_-BJ9* M%C6L?[R8T3K%RY#,.C^_ G;?X3(T($L%?'J"B\$3;>A+9>OJYMR5*W&+=3SK MK$F: GTZ&&0UGS>N32:;9.:F!2Q/HYO29 7\ .^1N18TU].LGJUAT#K9!A[; M= 6!EWAY H%]#P^%ET]I5V F_^K@(+0;_!KLW;))IEF'4@8OUC]E)>Y%D6>3 MG'[.FZ:#$:Q!4,&UG/'CJ]+Q^N8.MN&?73Y][W>!IH=?@.&YIL&3!BNV2>:P M/0E,>O=Z[R4G;;3++9R9%%_M/JP<;*E9/OBR7=BPH<=VUW)X%7P/EB]+YEU1 M\([ CY$L!AFAN4\K4&\;?"J<]=.PUOA7F;3?GHI:OE7D:.?2!*:'FPISQ8_P MSN!+X3SXCX*X\+]@9T!J8&:1T*@BJ#PF#7QQGK9?H8U%;[Q MZ=[3+]/S)'SG>UBI[!W'[Q'AT',6O^S@8._QEWO)2]>L\M;Q^I?3HFM$)7QQ ML/=D2_%LO3A2)"1L/;TA,X#WXN'.&J,=Y/ ,/A>'+F-=R\Z$T442="B#[GV1>:M80,%(ONY?;^##^ ME"9 ^LR(>A"S+#D%M0)B23N5GX$FR#_@'XH*#B7HP*II]*E>6:*:2?6+;9V= MP5G&5\(_9S#VTVI-A[!L8 ?P]^&&@K-19R5H"OD[2//NF_1V[OU?7=/R9OY' MMEQ]D_P,(^]J1PM]1R[_7VED/_L-P;S+BD_[T?.^***\1_9 EAP_@\,75.*N MR__PR< 9O,+E7_J!ZE/S1DXCS%/E$89SO'?X90)/!%WUN/_"\#"O6_F:"Y=8 M>"2M4)"VS('X8I!3KUR_8ET)\GQ6%=W2H1):HI3B0NG5G,)M!+>(7$;PAQ($ M%\1Z4LU 5^?UM,[F+1R!K#&O,P=L537M(Q"5F5OFT^B:@"_KD9GQ>_'_4=N3 M7T77-WQF561XL=.I(HL)5KA95>4,)VQ79>5OA@3QTL6H\): 3H@FL0;CZ5$T M!9C!F3-3 %4*%ENR[$!!-:P"Z*E!1NCVL*O!L]A+WGGCH^H6I^_@<_ ,AU<> M:D)O>Y JD@5AD2M . I\0]GD38MR1._ :7NY/7@./]?X8-87__9_AL\?'J:M MXY?8\_8,RZ6#A[K[,4/'^ K']ALZ\NSR3!WNP=^^/7RNHT>79Y:??85'+DY*H.,#75K"9B+G:^NM==NQ48M M2SX+Y-#4L6JN&F-EQY;F7O*ZJ[VFY">Q1YFC@9&UX:CRZ>H=U#5H1+)W.+3$K3+ MT99B1@2]9JZ8O>1W!Z8/F+YG: AOHL\UI_D*[U+62.(I#2@FFF^;O0=OJBH7 M3FZ:83/^*-P-_J8IHYM2+25O#+&QS]X,F&\'6_>4_G3P M#=F]*)&@=K&:B,ST>5YF)=YZ($SP"QX26;[H=8.XN/4INFJT$CG>P:NJ!BOU M5;0RX!W6,"MRQLSR6=-B?^_9UHK#2$K'-YFX*'@KGC3H[+[IZNDI[CN>R9_R M*=J.R0EXZ&R7T>?_ 0NW63L0FU?E="_Y2M8 =<$_?@\?EOE_/;QV!X=A\:H- MG(%-\GH""BW[;&MWCOU[^#FLR2L9;'1>9C.2'+:%LK,*5=\F.D'!@(!9P1%F MMY;-EU6V0@F/ RSJ%Z+]US?24/? \:!P1P*27\MSU'1K\R+_4U2GOE>B :A* M-0R@"H@\[ZXMJNH]G3FO$L0[3T$YU&<@4O06]M&-O:H3=GK@677#V,7_B09* M8KR$@TN"D)WE/$YPB;IBQE8<3MPL(ZR /&C;6@U##,O)"ZPCW//3N4)$X/G> M?GSX@BF-!FIR>+CW[,N>R_ZQ88&C\Z("X1LF,( OCY7];-NME9!1L/R'PHQU M-0$UFK1=#3QPUO &#;$7^(.&T%25 MK/VT]/3(*/.AFT)CP'!9N'Q%4X&/UV SX-;G4WP#!JE=W69\48 '-0T#][J$ MSB?,#S:$1%/=I[!$^%/_1@#?!78"7I)*&%0GGLV6>0D^24SC0V_R%885@'[HX$- M!^OHG 'M"IU<:W G^CM=HV#\(]$8;-K?04.X&CV!OWW[^@SO!'BNC_C<1N#G M'R![58VYLV*3DL6AL4Q=3C0[3T'*'L$I6B:%7WQRZR?.P6')FM-DX4J4#1^1 M]Y*"T?XSN-TEU#"IT/. /S0)+0:]$^2O*L[H^).^0%U%X7ZR^^)4DTLH14#& M4?1ANL7P6L=S#P\.EA?<"3+9=S^YKZ5PRG-X*CYTWID M)%W0>0GG"=<5@R7ON@F8:Y1VV/DIUO"QL<\>$VL=/>FBZ]6QFANS7M2>O>)- M%H#L5[$I>QY+ZG78I,N+6;*_ES?MF MAXG>HWRI4 # QL*5XH"4.0NPW=E)R99 ::O(U5XW#,N]KP2:$![ MTK=1Z9$[B%MT3H(-WWKJCX!=5WG2S1O/OUN[,O/7&8P:)X9W3FK$3XZ=3TZ( MB(+VYNOE+,L+6NFN).&6Y9QF(")XBL,9[)T\]H[]#=/A30?&3+ZB,XYRV?0. MYW'R%0<]:B<9UIF;@$6UA >H-1-UEF14J7MU@W"LX:RB"&$ MQXE>_O#;+P[[-C;:+7(0X._=:D&Y$A.]7;*^JS=6I6 8N#2^,]L M'H43C!+ M./D#G>4:Y/S9^GA& -'[3;#/I3J; M@$W& BGN1I!A7924LMVT\;5;H'U-+A&\32HHR%G'9\"ZSR1,$!TJ^WQC^KH: MW+MG M@GFM8%Q+^'K'L9L)6:@-J&40(5J@L(0DXA(F0&-SDM5B8^-1QP!N0S4D)Q'=@P\/Q. &-/B.M#K^E'QQGU\#]:.EF?,%G M*00.O\(3)O&^_E-\H)"&^5U6OJ?A+1V:(VGRR][)'IFTK,:B1_U$O]('<#1C M:Y"9C!"_=[G1*2 KKB%S"4!3YC M: @2NAFV/XWU@S:6X^F2J?_%X599(IF%C[?_!NEB9B2%4KRES@;'_;>[>7O*P*,,E@&<'P:CHR&O&K)K;&.PSN^O<= M>*MI\ET-OP#C[PV&4.'G%V ]SW)8R?"HY&56XD?^IP9GX!:.Q^^G>>%"[1\I M52X@S'H^>QP)O#!Q^N+U_[YZ^>C@N29--8D*:X(28BCJ,'Z M R,RA&16,! T1CG0@CZ?.MG@3:'YR E!21ZCK%,N [0\V--Y0SO(#F61BEN$ M!@$'3<_P6>CT@#/#=ZL9 U:I<"RH5V+1<[#-5\@]M7%),%Y;S)W7FGC9]5Y\ M65G!"D_)A)_=O#"\*B46TOA,P$?O5-4[,V0.<)%-,M50<=5 M+MBMA+W_ *SL608+W6(MKX\JQ[XQN5LH,JX^TR6'8YB)A_<:+EQ05^#:/U4+ M #=S4F7UC+QI\-ZFL*_@RW3DH4KH3.(^Z GC"\"0A(N#Y!&VH*3@C-;>-*Q* M3:0('R 1!8JNXW5^\]M[TB;_G94PJ@TKTJ.#5()7=!3)3=4%1#?V+"LH5$%Q MK2^.>M6PH! YT=$/@ZDBI32TE+@^[I?25F4O0!$'QOCVR78.F$1GAM=,DZ"+9+7P" :CZO]G[\V;&S>N?N&O@IK8]VJ>@C1<16G&<15' MTMC*HY$44;;?O/^X(*(E(08!!B"UY-/?/N?T!A!<\T6$3QDX,0'_U'#@7'')!R:' M8+2:2ATDFTFP'P3W?ZBWFFZE4M%V1AE?H*Y>@&2^L/I:^ :'] 9D8XK89\)Z M',N)U%CQ.M)'+X[:L O2<6^1,;Q;Z!\%Q EIL]& PNY])(3L'1&I/#_&$)), M,$65OZDK4N0X1Z!2AO^"JH'7Y3?I!<,>7,U5%3J8]R@/ ^.?A*X@ZH7>%O#P MB1AZ<.]X$*+O@JC\J!9(:QJ)94V!\@/TPZUB82ZFU8+UQ!\ CMP!1T@.8 IQ MH^Q&"ZW!KS5-*4/'(/8W# [IPJY1UC'XAKNTG%O3]EVX,F,^+)< M./T409_8\8;P"#A&X,.Y" MC(>^EX_@J+0?DS=&I'Z#\QP<\GMWL]T!RK= 2.#/02;@C[L+_#CO]48KW)_M M1ORH$B]..-53U0[FA*3;[7JN6M?SIEW/;=3G*>5Y^3/I!!!Z=W"!]JH8#"LR M0-&^\S%P'0:H8I4)-4Y('#B7<<['I/4QQ975.D?6L!GYAPF)#"*.6 XRHR"$ MA _$C.GGW%N275WHU;JCI%3Q/,P^QV0H2"/UHH@K P;UI_P(1IQ<+$#MK"0F M//-KY^N_G!NX 2;\WF-$6/C^QBY^#]QC,@ G A-CELOW-"9EZ%/Z)(4NNZ^. M 15,UQNYHS4^X% PAA_#2W*LT ^'X+82&9%(#>@M4#%+V([H 9=4/3BL_ BT M6#MH\C^HP.M(]K/GRB4AO[PSN^#9# &46<'[J4\=>CI^-O M@\*SQ = F[\?Z66"IX_R>?-L8$5N8'6N#<3D"M,7+G47'?D]$SE)LLI1Y1%0 MB8)&VPB>8R.TX(Z[RL,H>C! \N0/D&8&W_+$>^8@&Q(Y=#G]>*$V;4.JS1]Q M[96#>G.>'=E *DX/4#,*WE<2NA)#:62NL_+AG:;Z :,XVE<_DR1 M'::?.L]OI7^6ZG)[W@NFWTSD8T]EZ>1J$5Y )3UB>1/6WJC?"-=NX<\\K+7( M7D\O)/,.W[J!80"Y$I2P1!Y)KE#3P ^0'H54<&0[ :K;!YMY.!ABZ83V,&'N M3S_TT,?.(O*8P_K%-YQEI'<3(Q0^Y/&*4O%4$G2;K)P4TQXT-TP#>@(/,HW%%X ?BW!=E*%YED! MK H 47*4R_E[BMIVM1R^-UN&I'AC= #W8C^X#\;' MB@^<-H77QWIL9:J2D-.B-L*$?AX_/"&&->6+I8_*BTV@.=(U@#+!8S0(125. MM\M"S!,V_'OB10CKB//6YG^ @#JG:@Q%-8/0&_:%)A,1(^&D0O_'?8%$1P=* M2BF#]]XP',A@M2B*< %9@T,-53%=[>;[O2[ZD^+M%_B-X7N FDG48 X55R;H<)%^'Z% .#9&QL!,0ZXQF?^@O,#DXU&4BIU[ M0.P"A;8OSYUVO^-20M9E_.0YO_3N?D49H#_JM#L?"WU[IAL+(]X 82';^ &@ MA=2_SY3<:JZ:__8/X)H_O.0Y )UY\QC[S#E/0WX;X1OES&=D)=^]TL?3=@G] M^^-V*9]Y]N;&)$L/7LT:A[N^OL[%N#81ZKJ*^$Z^.H Q M3K ,6]SY)$XX'SP%"1>B[8 SU@W@FGOBI#.9Z= !E@(1T>YFDR5/VC=G'?A4 MY\UQ)86I-W$DLP9%;@*9$ :5/:6HE$$9<"M7!11DP4.)X)4^%*ZG+[]K$_- M '3R7@5[_2UD+X&P(MJD9F$E(V>:NTZ_C"[/,U[K'\.(.4WY4IL ;G+?U (Q MWPCS3WH(W\7V2\:K4?\GKD6%;!157JS(P88.I)<"@B/BK="R/C<%,EFE!N@AT./$!JBS@&0Z^0.M36^86JV46""=;P MP%SZYP/:I9%(FP5?*[?Y'Z6-A5$R?L$58G0Q)G7OC/R''XV&$SY\X&?]-@%= MKOI.J!YWF*9%$+/(H*VMND!X>:#F!.*%WZ"H;J.H!F2PT=X#K I9[9=F=CV= ML.UU*9J!PC GGAP)HJ8?B)/+$_K)M_UC(F5NJW^+D]YT#URULO^_!]+S=BE# MK;)S9V'I+W:%J!5T>AU7F6E&<*DCZ[A;%W9'5"G?7-6#<:\[R9G)V=&8M8/J M+VKQ6MQ=+N+/-XOSS"?HNV-WM#CYB\J'T8\F6MOI8BQ (R*"*#-?75W;Z$HN MQ#Z.KKY:9F.@.!&B1,4%"M]#]GL428S8H:AQ4)_Y=/A1CK:!$,E-F;Y]X_M4,UEF%R@7J2HV@P4+Z%'I,MTZ!>EAI)GJ^)S4#"%56P=5 M9\IO:J.T-)BVNM1LVD&]"F5!/+0?G;GI\D@;%163&S7G89$^QV2R-Z*16Y79 MK<8Q7>8-E/K,K*#15-\3P/"S5?2UPLXHJLNJ3IJ7NS'N+&9:L@I2YP2A$'^J MCQC?5BH24QT(S*4,7OO49<+LN$;!"DSLWPR!3U5U\++[_ "DMC/Z(A3R0;.: MEZ+C]A[Z$Z1#2!!MS,@ZH,XYPQP>M,9T,%46E-$ZB4'CS#SW - K>),"Y>8' M4&8\#,EKADG[9ID[B[AY'T<4&=%.0+.M$O76H9 0-H[Q?$S7,XN9C=Y%9EQ;05$QL]X=WH$:BJ:CQ35B;W3K>\Q,1.,7 M!;^N7S%;#NNM% TD#-%C-MQ0I3<8-.-@WQ//&T 4=5!TIUQ]D7XF\:O,/I - MLB@W$[I+8<\6\(-2P_1,.H$[O?"<'DDJ5#]4]\?0"\UN;6 J=GBHO R%#!;O M9+HU0UY$Z[!(W)DB1ZIN)/!J,WO]*+$':8;:,;_(PF=*O>[7;9MH:JHO"]*T[RH%A 2?5W9!L9[J?L>,C ME4"9.IWBC/-\[[P5N3M&EFQ*)0T[K6X'KYE()L& M>-^,?L&;\3)\H\@EKBE(:9-5<1MV%I)VHU&.-\GC4,,3*?JF"NTOM4L<).WY MN>N<#UC/:1UP(2$[Y:B,O5/^R&&:RF-N1U[XF@:H=Z8T?\MU3P47LQ>*/JA M?[/[-R3@*]B&2;O@\@LAUT$%$SIG)UCH F4U=&GU:#V>L8+6>2>BK2%LBNXY M"P77*I^"E-L)!HQ Q\&VHI1/V/TR >F,I8 M$%*G0,R85Q*0DKE8.MMDRVL$ZC8DL>F0!%;ZC% FNF<1$.GL,JSD,S#G0&4J MR5 9<0TF;]'B5?65P3US'=BW^>,VS!0A39O54.'?E+ M/W+VN('D;F _ZG6M&X5?8-_#?']KCQN,@WRP87*?:]G=NDW"_>:-PEVWB^0; M'VX ?9ZB3#*)09L>8[-W)C4,,G)\00-)\]Z7T\Q&'+T3RL?QZ&MY[V;QT2.F M,*NR<$.A19N74 $J=&3+(L#8U$( $X!LZ&%'BG1@A\I!."KJL8%4]%S9GV>B M9IEKG>N>F$'1F2D,]]#6AC!=/K%$-[EO&\EX:!&ZX[U9:I>]$8)KYLA'DE4U M[\B:1:+45) 4[,.Q:=&"_DTS MR](T 4SG;LCE>2A=".B*P,IJFD<"UB2)^H'$,#*7GSR5-%'&PWDLNB:HYPUH M+ .6A'OI9P7P*5\/F\M3VBH^YPLZ]?@O5&4"MV09)O)"%W=QC>Z +,L]U*_E MD#CY@?$*A@E!J?RR#8_G_WM()0XB31I*0V1VA?9!D_^5?P3=3U-.&*%_X%#[ MJ #++H.>ZB(+K,@2$)/\Y'08H MR7.]4 >9#F6Z9A2/(GLW3!JG4HN7KHA2RHQSZ>W"I&@Y>PM=D.DP 2IWJ04 M=&XBASJ<.@3!]IBG+\ACNF[B5P3ZSY)2OR%L 7=G Z=&F0"N0T34_D*YT@9^E1*QK M]Q! NKN?=1)YAI/(K(T3_1Y$-7#1H8/PHQI$K!.9:>J.CDS))OA8H)04)Y5Z M>O^$6Q1B-Z+3&HXDAD1VG:^02JI %T-L,> M:N#NI0N3F"^("I> 'SM=7$>ZAFBY74+1\6CH"5R&. M!%EMV.@->VFCB!3"#YIN_"$Y3@2*V9,7#F4'$./&H! 4Y>E\$HS4"(HMVB.^ M"!9A>SP*F8%X&W=7*H^%8:ZJ19:*\ 2]V0H]\Z%C\D)2 32>EG HW>8W;F0E MF0K9PFYZKIY1G#"!TOAJL9OU(-?N"Y-<$&X*IRE%[34QX$GX,4IJ8\110L.V M83:)!VKF+_[5(V12XG8:LA%BQG304C<\2PE*>X!17,24^DJ#_OI$$D9J0]%Q MCHQW4$(>U!1Y!G6[%_$H'2(W'RA1*&RO.@=7M%*2M"^%1Y$VT.]!N\M_:+#* M1B<(F#5I$]E#BA"S-&H<4>KL.IA2*"7-3)+S\]JW8UJ0IF""G6#9S\ (:KR< M.?@O+^$-#=F!_!DOX3QX8J!'9Z_=.1%M!@XKAR/C\Y!NI'M>6#RBY,%I;JP8894?DJ0E_HJ<@/AO5GAPDHF*_*54=BHHFU1??\"BH M.+JJG]M,X5LQ-0OEI<91J\,5C3;HU;O M\63< I,2O1#FEJ8T2 T=3.0[ )NY'TY9DXSC]H=)/Z9N.UQU8R!%P.$I"\+^ M8G)-4@9@.UL0D]Y4(=EC@P-3QYAB2$D-2/!.H*^NB4.T$5]\-F.>G(TO99-8 M^^AO$5-QP@!')=$.P=Z(:96I*\".R#_#5##3:"@6JB[U9)0OPN4F.H3TVQH_ MD_*NJXO,#+= UATPEU6W$=0U"A5@3V?R R90/ ?.3VDML(BOCC%TO>Y=WIQ] MQ)8_"-4C!KX7#PH"C(;>&6>5G/2.JAV;1S!Y2EAA[^_C-_Q-N&+C7(5N=C60 MU >/>R+L*IQ-T#,3K2FM,Q;9N^:]S?OEK%;^"EF*E!(+23?4:<1D#",QZT), M3%]$BTUXG)^9TL,,.! 5J>R335FEX-$ON*D4!,H3K1;MD()1QRAZ8M(0U/5[ MY.\36; J,1SL/8(4+*2GCH8J=16FO$)=O22'.X924GB]11+:T*P'$;_4+E1( MUD2<?QL.[ A.:6 )U(4U M(9(^E;VJST/X(_A?8"B()\]>N/ +MD&VQ]//B6E$AAPL 2$X$'N Q80ST[CM MJ/.M^F"&YD-6P1T,.4>NXT-#64I]&* MG14Q'PC==*)OE/?L)0+Z*V4G?ZER+?FSM!1 *0M!*[T$#2A5<"[?M=+LTP/I MCS*$"VU/TE3D'!":D.T@U7H$)5)RLT ;D2*_B$#HR<8#%52\P^ABFHUX;(PD) M%9\@%H6DJ2/>8 #^<8K]49L8,5%*1(;):6W( -\;>%A,+0M[4L1#JGI39L*D MC\!8U-+B-BL@'ID.1A.5N>:K*SZ5'<$2TR1V(L-Q3TC?8O0'8QTUYO^M@[?,+8>?:'(Z$+PQ>)=@$TL\D=EGH+ MG3) J)P3\)3"B(V(G7,]"EN)'.,S"B;2,$$A(VB$/6@?T4H42_^$[UT04X*2 M&'I_!?]%=8">*-EN%(^=A!(%&J4.)@)#I\4=9V@VD-( ?Z KWXP^00I HI?+ M"U__J]PUZG)1ERAKX(R(BKRV:+522)CEFI-'6^C@H$T21Q @ M>+24&0.M,Z46!9:&]Z<$HJD>)1%L^P)-]OOTBE"3=3#3$#IK7 M05*6T>%9^8 &WHML8*?R=S"2"W0*6KB-(HAO ;E4C5 S9>H\$3%$D%\$?V'8 M,KBOS6VUSL*-I@QWK#W9(3SWS3>>XZ% I7>$$HWHXQ]JL4\>*8-F;CY + MOU8CLBY7G:_\)L^@1X3P<344U"[[[E]A3 HC*T5!8/Z;+,.,TH?\5AB7EYU# M([6[D4TPJNCYMSX#Z*$CD[*&>T %;J@TS& -Z)(B'N9\;N3T";SV!!"X: 4Z MN8_ZZ* 'BN#7^'1;56ZB?'T%XDU4CM+.P?KN6,3NJ=DOZ ?E65&S9[C!A!JLAF6E6HC"QQQOQ%S8/D^ #:XZ:%^1MHAV:QAIY2JG.P IW:D4LB M(S?_"SW5>TX%3GH0"R*W+T7B!N#4Q[RS)$C]0/)!.X1I2P^/VA,<9[JXX'ES MBE"KR30[0A<6IONDID_,RX2@8$T]CD"&E%H% 1$6NJ+A@Q&SIV.FD '7H_J) M\'8JNQ0\!3UT.L?H$%+MPD>F;D[*G,DR+8J#3)HOOVL<#LU#S1U'FD\N>A:. M+,13"O&[(C]-;IGR3Q2E*\GV1>6#1ZKQZ$GZ,N MWNQ)P$_R,<:^$@:]C<8J2)!!7.*HTJ0DG>KA%_&?PL6YPO*6413RP*$7 VH+ M=-D!Q:O!E*2PL^Z=P(V6AT!B9B-6 -:K_(:$MY@(0,:#R?V80@+6J9$1%)@& M(;254Q/T@B<=<9]K'S222Z R+9FH?A MH\KU[K$;UYW,]>M1SU#]0.6SR?9;A\J+!XR$0ELPI5J@#*5@1\04(&>20! M<)?CY"^M8 $'8^;@7QQ#0UC:"$A+TQ_QA"%?A*8U@J/",V5X@/*O7;SY9CX] M>H#5:F4%58"D F^J MK#XUV4-ZCE*0"L*%,Z.(0;QI>+B40B8!24$>#X8!H)-BW3@GLT<,_5. 6 !X M!0G)O('P%LNB *@6(V>*^0DJYL@P5V2G+_37J W 2T'A8H2'SS#@4@A9"IOT< _$9W4V3.YQ>433+C[J\S)-SJ\R8E@1:M# MCYZL12,/OP-@),SO%+P'WS_A5E330&13>9A+!1 W :N]FY':JJPD58G!X$'6 MH>8'S1)0W!OBO!$$)SHC!QXOI\0D9@%8-TBZPUZ*J4:ZG!'ZK4)O)C&71:@E M*9#P%H9BBA/3+TJ5<<8C,+"D*#]$&>YB=+A+\7.9]P+V+^R7D7\I0%,/G#6@ M=X@@P1(P*5;U2^5;XHFL!0KF$I..9EX1H>(FD;^1PJ' A&H].2Q10.@ZC@I^ M@.SZ#YQOPG\BRDW4>4IO4*JJLFFMPO"E++.>UTUB31[&&&"^<5QE)*\"RJ*[ M*),*"B?RA)5:9A&BD7.YQ\7&HW*[BYC2OQ$S?G3-DS,63=$*K RD)^<.&/E% MUSFJO=#EF>#%(&DIK$K^XL:193>!:$/LW>H/"XUND-#_@<8"12LR&CK*9*N\ M* 2@/.[WHIE6.@8MYU:+2K*(I, Y-\L:W6SFR,@S*3O%?&::,:+0*L?,'4@& M,"&A0J', *?DN1B-QA!QR]O(/XMDW#O6]0!A!P/I=P/A::Q3K=]X_NAF:5 K MW5^Z8X>6UWJI!B/D>DP^,Y55)MA*+EUG_1JGF#LSK/L7@SLYG_C,UR"<8JTZ M05!ZOU"3"%6@)\CE>G]J5)GF=R)W4*IO:N;TMCE:<6BC%>N/5F326H7CLH=9 MU88]F*^ODQ9PWI25;=W=PM:99,3F^IUF.E@KH]>,1AANPX0,PO-Q?H@0O<9;("3., !1V<'^WZ$H![C5T$8LM?OX8Z3;KLLP7 MG+8;0NNI*1U8\ZP1OYB5:KCH^%M*YRY(S\O8L/+T[R##S/#XS#P" G##_",Y M5E\;H5U6J3Z"<38MY+0*G##JZC++R\G4DY4O9K:(:7&*R6[*,#2T-* QD K[ MV$15^HNEV:H]J9R#(5D6BF:TET_BL)$E4GP]5PJ?7ZNRHG(V(H3\P7R:P=28 MA/]S+3W$RL"CHV+YP@8"1])I/E22LY "H\C1BS2JP$B2@6:$Y#*&E^0">X8X M5'M(XHBO#M\8?%C\CA((*TY7\#K[1.-1L*L:H(Y*!PE0BQC4*%87SB/)C'HXC%I:93*IF1%RX:(X:F2[4!X8J\,,X#QY[8!LF.:SZO!38?M?D>1. MC"X_RDUF?JC"7K@3_%'[1*O0ECL)D&2H(3QA=#"#R*FH\LH>(&\.7?4J%TPX MRKEJY!QBN+)D:VWR15+7!*/\9$1AZ.6@C:B!\^1%9JJ\NV&,$DL@:E4$*=K@ M]R G%W\KKM>O0V@V5[+7+=H[3EMQ-Z \0A#%,Z]4(1TS[DP6E92RG'7O#%\+ M))RKKPR3^B'VPC0+7-@]U>W(JA],]%?WAD[C7&:8<1ESV3(I$^]+G0I%(6A* MRP B0,Q4L"$40HZ&O3O*.$P?T6B1,5SH5&*D"@!5B-PMF3D[H"1PC19\;8;% MIEL@9WRIGK9F[C)_%?;DD0M<[9?<%1%>,KX1B[UCG&D5Q<81A!.DV3-Y[W+W MGG(Q;C"78I%,,$!&T>D?%!R0Y"4I3L&I(K(2SRWHUY%+'4 MCM*"ME8V0?0P M \11+ M@<*(Y4E'%C9*H9@_[I1XXT)VGMRP1(Y(0O6S@293-PR,NDR+J22.8MA:"N.L MN;44=IMD(O\2TZY4+UO5@&G^?I$L3!EE!D@?)0F#E;>HY^B 6]!QMU%M\G_^ MK%:*%&[F0* O.V&"5OM =:>?_)MI.OR?&1<;)^M_&HY*Z/8>8A4<9XH[Z'SV MG93;39#^E1O%-WD9&^JE?X5)TE X^&J0@=#04,ZG\L,1Z(E,-3&)'I2'X'>J M L#Z/RE+=):6 ?S5G)%$^W3O0^BR"6I%E=R*!8C*-=5W >>PBA2YPG$GNNI% M5!S*+K!OGE==6S8V_*9V^TQN(A#-ANC@%N5HU!7]C\4!BQ&%V,% '+TY0Y[& MY4*#Q$>1T4[5#=W,'42T%K[Z"DVE9M[$1"*^#&,:^$JXU]#;-=&^9*Z$N=LF,#D M)>=;XLEF-K\P4/S4O$TD3<8B2C2!T)'$A5-E9,->BV6IP3K9_4M$L;CJK?C; M0>? \?'U-7B0J0EF,'G2L3QZZ$[V"AV)2ED$TE<5OYAA.NQA/B>5 MZF7/3KX2@CC=!S57P^49;5 IU8YN"3@7MPR^3A@WO5-X"J3>8K4'@#9(KC2Z M$8 I 4T!;]7[L&RK#^/@MMDEW[(N^?6[Y#.ZV(';.[F^L@ MY!GS"F,]B%:V7\Q@:G#2B]@$2!.(P+U(D[MXGIAT?DWR?6T@?5^'*BE@0Z<, M#228K-G/A#-C+CA1.YL8(JMS"M02%Y;9F&A>C$MUJ47V;+K(%_Y=3$35CY#" M67IU>YR^!D#<8]1MD6H4!K.*8A=I6V^0Q\BSJ$NS?E@L$!E3C*($SY'8#*%< MO%3MEWH<3N?=@ZL_&AW!-(5F\0G1*KJ7LK<1C\L[P(O)XAG(@9-W" MQIV9R'LC*/UI,RK?60A-6:J8(R?V?%#4JVPT<8-\IM4:J7+'2[.OU[=D @@_RX.CY') MUW#%N&DR!/[UR]QA^$"9F=Y MNWXVOGZ+V?O:QC'X M]<#HP9'3_%GZ(LVC^ M%;#0_RC$2#A,L9D;G"&IK"=2"7=L\ QMD:H'AUS=8"^,@SK_4Z;-<8;-(*L1 M\2YF9(F>.B)IV>BK0>]!+@%@:/&CC+U<; _C@4$PI7'0:OVH1,=LMQH[?Q%N M>'C0JOY(B23"EI<_*FJ?@+E6''G!7F '^X#B4J20C0:-8AWT"0I%^J-PZ182 MV7WFQ7.4.OXE5$>'*?I7IDNNW:=5G<.G=72P'(^6HUT/':T#8",[4.:/?P>I M? H=0K;!B76;5VV%1KB>PBS$#HRS@$&.(L3="P8Z;U=T0>-_4"45ANM31JC M9-'A:\0D^KBJS3WOXU[UX]IIJC8'31TOBZ9.M(\/*.DT2)7O+VEG3'T'259RO],ETH%LN&97*\=^F M.$GUN-Z@@18"[.[!#T0MDWFQ+FBZE>!77#5]S]4$.2,Q@0OM36U'9@]ZS*.& M1'KAY#HP2$:T X=TZE>=HN8SG8)I3DK)UN0* $!UBV*KB,+T+0,SLUQ7'KUA%&1*T\735)J$V7]$)RD'U#E5B#>FQ!^]O/S*Q>@YF!Y#N4;JB)!SJ#^, M[V)*BZBKH/09L]=5*D:<4= #$F1$MDX !>[_)K&>B@HCM5+9?1#:S6+2"%#5 M()L]9;0FH_-(!_NB4PJYB&%W'H,^]H&74^7&O"YTKS1SCYE2U^Y,&BQ[S8@6 M(X\TE5=@R:UL(#:##D.?%V2C*B4X?M*H+'01FDZ5RCTS[Z\(._E)9S):R1'U M487'4NJ>.=)')61EAPEM]Y3O(QM26D)(::5(N:")P @T.Y?4>V)2KV:[&T6] MI8#1U(JU#XDNK"RCKL*C@F;6VD M'*-@6&'A5,/U!]>^9M6!2L[4< R+?&<]$ED6T<=\"6J$SP90N=$+4KU'T- J MC5VSUYN<<,,R5G#6JH.T&'.VZ,B81-']'0?E"E5)[74P"LK7*[G&T()F38A1 MV"SB17K8(C;Q"O!,L2,(Y*H'<8*YX>L^M>^9^FUHALMDX8>Y>X5V,6;NSWR@ M9!Z/B02?0_;U7\14F<)QUQ1M%/U^U*G0T"L:)!R4%1,.SPOK??C@ ;$CI$OU M&!3E.7NU2K7^49:QI4-M=9S@4.H!'50'I&B,T8VKY,&+1*V0LO-O80H$U\'T M*YJ!*MMUG%QUKK*F;=KE*#:;B:R4CE'N/&FW9T!P?N!369XHN%=1"N.0T@FG M-'#:*;^&(_DN)*')TAD(H>A>(@HC(:/9X.U*)_ MJ(UF%4"D-K,TA84SSS)GI,R2A2"?F3H_5&LCL=Z1AXIFY^Q%=L0)5%(I5HI) MUQ2W7B$@<7^OCECUVQ/64.[,L86>:.LE]UEUEQ"=O6+AUM>3+MY&4C.0DW)* MX%AR<+B) JA9-6ND3P&-,M6&2T0/#5,HQ_BD+T>MV=@PA298M=F2_0E4Y\YI MHSR+T06:"U3 M$ N<;D"H@ V0DB&F424&C6Y;H70'C7D:-PL8+PN='-^%9/% M=:L?:E-,WXIQY[/OIVC.(LLEY71; WN1/2V&8^!AZC6:8$#2^4G.64(!49J& M1G.#"]&6V559H XX58D[1*6E=(E@8)AJS83$56WN-6$HKB)0R;$&M*RA.L%7 M680#.VRV8YMM3EG,F2%BJGVTF7"4'Y&ZRPDQ8J'P=8IAS?*^ M= -1TJR1>&S@!4K*5MW>%:FGS#&/3&PA;$4&*YS M?7!RX%)JI,^@G0,Y,A] NX-"IDXHF7JW(.FA^U34N0>RY2>MR:@\5CE,(.." M:.5AUJF^#R/*G5=):=E\'+>H&-"QB><8Q::U-:>/D?*5X$QS;N,=Z2VE&RKF+CN6Z?7/KG)^?K[KK;EY>'R2(2G#[)$[ZZ'1U?@'E2RA^&T0%YC 7Y2G(Y"),!"7$ M*=]1HDZX)E&5]:*F":,W-" (,HM?M5$L4A\@F8&*%^%R1-0B2O9=] T!9ZE1 M/*B\AJ*DBVZ0<8YQ! >&AZBDJ=8JCL^96C2C-Y*H:.(XPC%T(NW!!\*3I=LFJ/VS=CGYAMI)^=8 MJLZA\][:'S(1_;-T23V4>H0]!/4..1 M= R:,6+(.4JHW-38_LR^8_JWG*1;G/6HDQWK9K+CVHV"HWFXL[:L=B)B(UZ= MJ^>(BR:1_B2%[U=,CZ+,)/P>#_%[MO?RC7 _=:![#FD/?@ED@J66R1=L]?$6 M0CJ>AY#JRR(D23(W1B8=!Q&2.&[SWFV)[KB9)_UT[Q6\;9A@:O,T,JHVED4P M.OU15^(XWYC([>Q N4!W?<4:D:X M- \XP'L,[@)1 %I0&>ITNAQ,#D.VVI5/EU]435E8O/IY@W+H/H:L?PR2Q-VA M'M^D8E<"1_ MH;]_J'S O_=A,(+XNWC6UZN;T[.;_9.KBXOV=>?LL_S#9.K,[ZX6"U_NH&0F M^5P1Z_Q<46R+0NNG0?*S^(.?E0G'S1_!?3[P1[Y_8@EVAA&,2&\NGRE_1#^9 M_&?^KX0^4)+.D(H!SEOY[#W%@>_,_/ZH(698KSXEM:B9KA_]%1?.0#9__U#[ MX. ON+PFV21O2&<@2:1Z4 &UAFEBSM\J^+\O8YXY!29<\]U2'#K?>^@#T)2P MM$.H5F8^!8//G"QG.5-3\&$G096:LF9??CB?C/2<1PY>_O[A;X,7:7Y WT\J MI.(2YMP(PM_H(/PU!>&-FNMO0=+[Z9.'$O/MM#568HTCF+??0M(P*ODH[B.IG65N?8VDJT(?T7QBG.QB&A)<;6DV)A(BB>9 M'J*6,#5AMBQAKI8PFY,)4V<&=@HZVIYA1UM+J4"I1Y925TNIAY,I%:8,?8,I M0Y8<@1R/+3FNEAQ;F&G(L" E0Y=%GLC=HJUJ987$99S+*)&(V $X,C\4;:;Y MO?9L-3ZLSF$W RES>IW-C5TK=&,K3_OG!7UE\WH*5W:E%27%HN3HP\\JFG)^ M+O37[YD)4SA=YAYG\PEO72J2/E*6/+&%E9ZS6Y*IOEP4!I%2C'^LMVXT#$6Z M92JH MMXBT10[*@AZZ5QFI,H#-8Y[V955<(>AF&VUMY(N@(R4*E<1NF])WH7 MC31'U55N,! @&%SD];W$(N>//+9^+%2G(IA9^W&% M*G36F..7(EY8-'OB:&[F_5D0UUR9,U7X:(8 )@[E#;W7STAB^T!2;USM)0[7 M7$2U+C,6.@N:/IP,I@\S6+JV<2Q=2(8F*-FK'50_+G_3"<9+]/8X&/0_?_KT M_/Q\D++NP4/\]*F==!^A*>(GYC]XR2=N#7J?CJJ-PT^5JL]>:M6#QT%/# 5VKH?\)C \QIAD0&:E@',908PJQ(>^HC0_ M&+4T-+M7E8-B["' OFK+S*MVL38?*NU[,8#*RW.N3SJN,-$[X$V/#5D*DY(9V]T\!)]#H@=H ^$'$R2$N2%KFAY MOK?N@]RW*3$5[1' M^3I1(ZR,04:TB%DHN2QE4CER]K[Q-W8NXX/5O D_O_UJG3\ITPS4\N7J]:*:V6JK0J1\='C>HGWV?WU88W(X#$ M!K'[WYGO2G+@UM62#:"#Z"=X!-SKD-L_:J9LMV''/?@Q6G+81^GNA]' MOB9>5=@LKH9J39>6QN\B WB+29M&>_V,)@4'OH%H[&F.+7=ZHB/)3!SY/WD7 MB(J<;6FY9-662Q:72^YV'*8Q,0Y3R<1AEEYX9",QY8K$V'C,6[#)_#;&6NWH M9K56JQ\=>Z^E'CJ,FYKM4X:AUES -$_YRE/(GZ^?$7H_X\!RQ$8NNR$B0E;Q#A(Q\M M&^&_7QYKE)S'&ER1U;AFJS:JQX>DV(C#O@G',-2#]VA, OK3M'8#FO%EQT^: M"R.[.2Z%Z4!5E2<,*F8*D[JZXN^\J"Z?5UU93B).:I:;DPY;E:-ZO?+)KU6/ M#JO'R$JU+"M!SD 2=%7G/8.7'A(/!Y_HY-FVB'^*U&U,-E@-M5_&T?Y9KQ_& MKTR--E&]W@1$S+24Y)J/K[=7""YK4E/FY\$L-SR4X<9_#,,%D>-Y9-_>TMH][&EGNF4I[ MH%/ -!IR'?*J"B!6Q&D-RVF6TPHY[6C[.*VY *>-16_EX=-%+<"FQ9/O@$^/ MMX]/#]]@V\W!-XH1#JV2L\Q3G-A3V3[N:2U3RZV*]Q;562W+JI95BUEU_B2\ MC;/J499587/V:7[X"-_]%G&#;(F&W9%E),M(Q8Q4\HR1(D8ZSC+2-4MP_@0< M\,HYZ=ARDN6D8DXJ>19(JUZI-RNM3WZC43^JULT0=3N%86BJ#IZJR#DK%-7$ M=UA_\(;\JR-9%I]+P%)Y*"XEHL!WO\81>WUF82@G?,.MO5!<49B1-8X[3X9) M0HW85\^;1_O_JU+I:9POUETN:^,*IE'RUWE+(+TQ1]6]+0-1_%[RC)2CZE'M MJ'+XR6\>MXX;E:*4%$-S[M]-0J+/7N*;"2MO9[WIENH8-OK',%JLX(.H_&@< M [WUOE9?SLL_)<]#*>*?:7DH.;2Y-P ;CSB+/PWR_C[.E^QAF<9*CRN&(6)7E@Q&W@<,>9ER;!;<&_267)-K.6P7.:SDV7''E5JKTFI]\@^/&O5Z*YN*D,T#**K>?6.6 MZ[R5N&N+;+Z]=-BQY;MUQE?/AT1%GP\-:K4(9 M08TQ?(ARN#A-;F4YYX4^F+'Q3\H2ZXRH'BM5C8)]& MJU(I;JLTE7VR V(F]%7-T_O4#DIY'?#=6XQ^J>4JIU^CY:H#[5,M/<]'S^5. M&*M5:@U.SEP='+>:1TW3KUX(PDX2YF>R7+YCK%/ZCRX-V<:;HW*7N2^F^/WP8I@M60\EML3F:\[!< MN7/,8!ILY;#.54CMN'5\9*:8%;*5.ABOB\OJ,S?FO. KQ%J2AT.GGT^J"&:DVJ/!QP!%=OR'$;-X^QSYSS-,3. MMRQB"3=^+KSGE*O;-.7;@.*%7WS!O)3)(=C1@'^O))(60[B$X 77\"T(H==E M"273G"F%;P@&6BFS(U*FW'DQ1?"]-6MG[;?5)AT)>IJAI.O4>PI\^E7GP.GT M@*CGBGGL CRW+E+-5.7.=JE5J]5&[:C^R6\>-@Z%ZI;)9D&2#B@^@9S$"7:B M2?S=X\][0]/Z6G6,YN,F\6*]N O,Z+G5Z%@[>L,M\;/%T&^?RE5UK;JK1)[]6/^0?+VN@2C%<&)M34K*F3F^: MEE*9"S!8'T4QPY1U^"]GELI1M0:-TNJ-2IV2N>HBS'!QSO4\-_6YG1$0JRC; MQD3OIZR[N!.PNEP /]8_OV, OF;]"F_@QOD3+-?&C768"\>YL7;8.JI/R0VK MU1R9'RF2(%4O-DH1TVEA4<2,G+#\K2;DA.63M\9$E18?N7=,]&S5RUL(>OZ4 MQW41=*W:/&S4/OF[QY<8,>?BXH3FLW8N3YU?N04!'J@306N%WE^?ZX,0>\,@!\PU?YP'7J_* MX7KE3>;'?/(8L'LN^5EWB";U%3F1PX=+[GS(I;N M7[V$[-5I=Y'.:A6.&BV!%!#(ZAT_)H'4)A+(MR#RHF[ D; MY5>O-"I6?^G$?L&)_271[7#FT=+L8W:Y5L-7>(M@L MW;YGNMT#]^_Y96=5Y/K_?;VYX.8YM_;!;CV-NT.P\M'4KGV! PKD=[[XCO^! MOV<4#QROWX?.#4&$)XE^::^+\O?4&WB0M\B<.];UABF_S2!U\%D#[X$35,(< M"('ZOK"TU3V 6NA"^3Q+ 9P".B>_KHH"S#V_]5[B*.Z]S;FV9R>?=O0VP,J!NIABV[Z+WC MCY7U#CHA&GZR+_;]Z,"H=R@N?ZCQ3W()TOV77':T2(.O_I@IC("7QI1\\>#E MI-RK/'NS[B"?Y)\K IB-B/)D(0=L?"DX, ?_R#>3W7-R^A_SE,UO)AVY<21. M]@2<99:.T IE!E1*(;Q Q_4>O2[=?=RK?:3>R@\2\DP-\77V__= AOAN=7B'4W$8.O?#) K21\[Y?1$!@J_2 M8??12;,+IJC?L!_#VOXS9.G@P%&Y\S_E*GO>#=F5G^Z^>Q%_:[12NU""[X$[ M(>%_%BU(X^35Z4,O1?ZAER10K@\73SC*RK96=0K[@INA8.N>_ M7+9O?[LYZSCC2:):&[,:O&$0^?QFP*UO6AUF1RE/'H@[D')!@LR @E%X]Z0? M$/BEVMSS/RJW'96L@A@]>^E2WPOANZL>UQNNN.E#D Y@$C@7^ZG#Y>NK@]X@ MGW1"0OD;? EW7'SRK>)?<(D+KJ([]NB%]Y!4 3="/R)=@'=.V##BO\(;\K-] MC!.^#_Y!?EN-+:I-PQV5'+\JL;[I K_"DKZ<\&[*BKQYBORJDXK\YKOCA!O5 ME[ZT1B-7?[CT"L390'OA$I<205C);;6]4U^\3'*JJ/GP<[MS>W-U>?5[VW7. M+T\.YB^/G.MI>S=*QGS,ZO#YC480$I.L1OQ^U&QWOU_7/EH-4<*<"=^>D"!@L=G],&%X<\W9[]G!$3:M '@!#= +WW;$P M?I9X[SX.^=^@Y*3/<5\E3S/+E6P&! M]W<,$^O+AXF-A>!=;=(MJT<_KE !FLTEBD7W#-T9QLB&16'.W-TV!;LTO;7KQ4[M"$"[+%)>K$W'&M#RJ@7 ;%[+&0RD:0&+MSKT/@F( MI_#=TF#BXL;94H@QCXA6.85Z(6^TZ5D$%@=_J(FL]N6'Y MBDUR>O>LDB+I!'XH."[#B*GKZC(E*YC%M)B"3-Q,*[4=J#%%N,]T*GKD% MSZFXLOW[^:D2.]!Z6'S^_?SVU]*('>R.[,C&R.]$Z/S.I84S(GE&*GG;(7ISK ^=[ 7_&QSBPN%2,X/G'^*KWYKGU^6!I%\ M#P;=1Q:&N,"A%T16:EBI8:7&FJ7&O\25OU]=7IXIF7&FK9B37R_:9]?7YZ61 M&_]ZBJ.(X1*[CZ''^OW 2@XK.:SD6+/DN)%XX^37]DW& 2+]KNV;_[]]T2Z- MX+@!VR1!)\@?7O)?+_2LW-@BN6&D!13D^)8BP==(WOV_LIV]$\41^[\__Q2\ M?'YD'N==^F/@\P/%/_+O+X?8&\R)O!Y_WC#=?_"\_N>K/H.B\N@!QZ=O5/V/H//XON:_=>>G<0)P^?Q)(^01^PO[6[W63(?+F@ M@*5B23]]RKS.QM[N<-+;U9;V=I^RYZA:H:4__Q0&T5^?4RPCYDMP7O#O@]<^ M?_\TZ/5#]D%\1GT3O# >[,/.5ZKUZL%+Z@,]T4U"42,V]VW^["?LX*47RDN2 M&+6@;JOW$^/JU2J7^";[^U#>JTR[T@^4MO*0[NS"Y7W_GM&^6S^WDWRE=UK^]GFT+O;MYM M"J$&]?WL$->)\^Y05Q>W;]$^?@5/\N^Y A E?@@P K3HJL76UK(!OSM]D5B'BSEA6\J+?3ER^AC;\ZN MKVYNG:MOSOGEZ=GU&?_7Y:US<_;+>>?V[.;LU+G^[>O%^8G3/CFY^NWR]OSR M%^?;^>>8$)-E+!?A:E=X[;T/5L$515=KCIP![YP3$Q]N5K#+8$ MC+90TV#X7U:P'W/0UWJV(]_D=A4T<#3[2^.? 68GW,R<_VW&W"\8<&G1G7QY MOO>3HYH_S;^,JSX'%- AB_)W=:19(>&TB.66N>F'92.T/QC53GM#']N-P\9X MW2[5-T-,GJ-\]'Y0-V)NT$-!=?K(&&5HYPEU#VX ?9YJE2]&@^5:] MIJYDQJC4D=WU/!5*Q0[QF9D%I/JD^*V@4W*/N5B(RR4'6"Q/3'^*N>(I)'&G MAF01_9X=1G,/X'%=+WUT[L/X.75@4 SSNH\R(?R5>4DJ\\ '')&P??BH<)!, M]I5&WR2*!R*#'+/1%?FIEU+UXD[(K2XJ8L?"]6ISS\.Z]3UN*(<,VRJ$KU0. M*3:[X':IW/D#?C9./$R U!'FB7/O!0D\@:_ "T-.LIRJX%+^=9\_ M/\W?HB\,QUP#Y+G//!V&XFSA/V2_0J8^9N/SCR8<%9Y.]L!F.25^*2 MD /VY_9T2DJ?\E2@A/^!IJ]"<6BWR_KB?. QOT7(.RA&4J,/^6KD]GC=K9@Y M3&/)T72$_(42'UE7-2"'_FL^UZ^JT.)Z>,?%L6Z+CDD0>B>NGK!8]G$@U/)> MYJTY:5Z?M*^^?G0+>ZL' 1#Y1N8 S2>8%P'T#'67W23 M G2@8;R?-E<(.%I;%ASG5$90_*SP GHL!=@^A1;]$L)P6_M#3*,_.BA ..$Q\^2_Y]?SN[O2139X]W, M\5H\^"8\^-5+ U(C$AF^-_3'K:YT#!" 7II")0.)!N0ZSJEW)=][JD.*%#J9 M7P78 $<(&E/,""B>OUWABI1T "2#VBT]<+C*@Y5Z3I^TEZ&Z[X.D)PKZ6&*. MWD!%11-%$E5SZ(N&$1 %ZC,,!=$O!.+)30TITJK0&]>Y9S[.:$]UV6+H/6O8 MY_7[?)U8W)=@9R#X(E&]B(K*'N$*5?IHR %Y2WR?=6.-S=DK,&)FV 5IJPEA M=I!#>W7[&*?FMX((2.T],^KF _O+$21 0SHZ>A0GA/@.5* #Z* -I'>?D!)0Z!I.5E[BJGOX0X;LDR1<5/%_[A.^$N(S M]?;=< @85RR7D&O 3*\$!X%(.G [TRC(N5J_#7CA11?Q6+O"]YPQ@0-T=B&W784^0<=[%FEU^ MAO \/*0>\#\Q#:>>;ABGXIYC7RNSE8B=]0*>O'"((31E&8\:!L-4C#>"HF-L MQ,VWD:\TZ*$]T/-\!KI?RTCL?OT,>7G\O[E' '("B\N,$TTZ$Q2!=RP,V),@ M7X,K^)["+O&=,TCU3JD]PR2T+J:E0(H3$-E=J&J W"^>_#S]^=5 F]N5VX% MTB((&]R*+M=?PXAJYD5Y/HA"^;7'10(J[R0FH=L54[F$*4\WF\ /4H0G+/NH M.,EK^LS70KO3[;L*H9.*]0:?G;WJ1S)7R)N#,I6D0>K@O'(M:G %XJ5(P(J[ M%RL"_HB]FKAY$#W%X9-0;0@\ O0X<.4?ABQZ0%&8#N_^+0POT84.2A7^/?0? MA$3 [5=O)P3(F//0;==#_G?4H]#8D%LM[8%W)Q:1R-6-N ((M,L7UZ '%?*%! M%R'"JW#/31& Q U';P@<&'>8EYUDFE#Q^J;&W;8\%O)MOSJ3 ,UHGM&<)&=, M4I)#64GP?G1+G94DHJ;8$<,124D.9"4YE*_D) ]W>]5FW77DOSY^^?!IW-%S MB[UV!#_.+/3@L%6P5O%Q)N?.P9BF,0KD;X.XRV4M*G68^@'Y.)S::;[%9D/$ M:PW)[09T^)U@( GK!ES%:&&X6:B1F/4EF'-DQ(=D _4,W95AKC4EM^CRL5DY40=UP_5UD&5 MI#1_]5 XZ63\:%+\X2#33U@H+%ARG%!C(W,QJ&+OAAP@@2W'UWS'7VRP,O1> M.N,?076!+4:;Q3)[]>RE"AH):Q4= J,F&EP]Y(9D C;] #T[/B>%A"Q/PCU> MD#A@IU%X!TN=^5UPMBQPIRLL1@5MABG?+980M@#,\ACTP4LNF1I_AI13/Z@< M9BB'*&*&=<(;<6 9S7?A/R")]4J^^738ZXMX M&WHQ[H<##IBD24^]M._U5@.65N2(!K=>1"CF5W,:'L0)PC28)@S03&"O&#UZ M<''*S&>/;H"Y,.KS&CO**T/FK+0(N$;O>A@[E;%$9P%G8 #;0 M+QR\-C0Y^HV07\K/\BV&3:3\0>_$^&-OWP3,LV8>0O*.,H6*7$AZ/=IZ0$:"\ M0A36C:CA,#D$Y3W0L!%NEAD,''GL!0XJ5\RDCL$IECI[@3#CR#](QR_:#(.K M$1]^;SB"E,,;[YV25Z9 L$%'NM3#5_G"GR(?DW,=_6?($8N< Y?JL'C R9&; M4%P: #4G?).B![X /^N4PAO+.X.C#6X[NE0=K!^]L;[&?!^?\U,(^TRK?%(X MIQ?[+!0WW N>BE]JHAQ 43WQ[ICZ8-RR8.^+[HK]_>C.IE,T?W??S"&5&2,J2)T0KA>$VI"O.J5P D#CY!593J 8IEYH=8E#UJ>5#:N!/,H;-9\N8AEQU'C M,HN G$7K?Z:&7T?JQ"+*>9JO6F48"9\W,, J$QE+=\KYZ/?W4;]V.^+B0NI2 MG(&;!WM! M[E:!3)<+7YWX&11#.KQ+ S_@.P&?0V0T'D!R&^5_4)F B$SRNXHZ3:_?3^(7 MS#3F-ZHV?\0+CW]TC9 OU'&J.'!!46U1):I*HQ8#C7T5BYJ>T? ^&+ 1^"9 M0M^:;L"B+NPZIY0,)?*]5-\'#/,&9BDZ4&*"GH+Z> MP#6Z>6ITEYE=@3.X!"ORK2J.W@G1LV["NRV(I(@C3.D,"])4S'!FQOEH='=S MJ+W;_#3)CM?895'!&FSLGHIB;E6 MAG1:=)(9<2M2A99I.[+N;32=[V RJCI=)V MIJV!\'7GD>DM;,0HXU.FE@JB%Z1?<>')"= %@2)3:MC+0,@Q4L60L)!2<9T( MGYM:&FZ"Z+$X$Y R&O0409T3+PS'68 I&HWQF')*ZZVT%;M+BPF,+[YUD(9% MZ6U(R:K2]0"U[*H] M _A1F$!DXI+G&E9D[D"VYX"1[8[^'DH$-A/?\WG'$8-D:W 07WH=HTF1=D:JGB^PUJ>LB*$22 M=6I_T5T5)AXSN=,SCT&S"U9/*?-:O +)@&=J,-,9O^$TI4\*F^9T6= ?C):C MY=X7EWW'R+G.7S:.PD(SD$.1QS@Q(^:&_X!VV$@LS&PH5I[49]E4S3LB/H#[ ME,B0 ,4)Q-X-([DDW U5PNDZF,*1F$<^-G!!%( ;1M5V%,O3"E_F@$RJ\WH7 M)NI7G1M#K:,@DL2//M2:R)U#8OPKGAO\,P=ENI 49 MS8%UM24&[%3G2Y\]B/Y<6$<<9&UW)2+C##:#!Z/[.@"P,*VKR*[0E"VVLL56 MMMC*%EOMP%E]VV]8C]I8CYI\4#0,PR_FU#SJ,:]%3-^J4&W7=R=MEQMS4-CGFIFBGS3=>=HW% MFJ1BY_;FZO+J][;KG%_F(8*9"+RF@KIQ+H_=W/V3J\O.U<7Y:?OV[-3YVKYH M7YZ<.9U?S\YN._8DUIW*.YH$:\]@K6>P=QY!U'68>I'/S<"S%W#.4/&E<^H- MO(^SG8>YCMKZI+OYQ"6@/7HOF$>+VKS+PK#O^>#-^?N'R@?\N[@]_CT#B/ Q M(@)&/V4?RK_I+[*;$/11H^;E&U^ M[><0VE'CQR^%\Z_E:_&7R@WP=>C LS^;Y<^KN?6X(>&S8'BT*48'=SLXN7MD MR\8LUA$$I1GAH#F"^J?0ZK2AR M+@1WO)@QV>&6RWB0-C,5OTDMO.G6[^IV[WP'5R?C9I%>1:)J!\326@3-R6\W M-]"I:)S L:*F;+=[YSM8(&I&A0?*#B?+]Q-D$#I91L#4W[I=QN[OMT\"U;=+ M L$(7$C%P3^<_6<8/'DAQ5K>((RR[X\+RR]4^R#&^J#HA:/F]WJ*7C: M."=7D:MKU-%25!+Z'O?LA[5NE&E082P.7BAX^1S%T;=$E")'7H\_=YCN/WA> M_S-0?SORX3\&#[0')UZ20"T9S--@'S EB-_Z!D*8U^WT*JI4_ZQ7_P2?Q@=G M& 7T#=0<__E;Y_2#X[-NP%D__?N'?7X!](?@S^1_P@;X@[]_"%X&GZ-A;]^/ M,248KOWP<]T];AS^]"F[WM5OVK:1U$P,^!YY;0.2:=NV:.?%46UYXJCIUEI6 M'"W,=:M"S+, X]G%'$6A,C!Z0>0[#GT;SYP=W8YN_'K)8M[;C7#^J&M13A&\ M@4S\)XB)NDY$XWN@"U,BN@%*";7:U4R60FWHKP.)RM_BY#0>W@WNAZ%@HSQ^R0;KE?2UJML\/K+ T]K!V\-H=HM*)(N6"#FJ+;=::UA9 M5#8CV(:--A0V.H^@/C=. F8#118=OS>-)*G_E2NB-:'A9M6M6PUDT? V,9;= MH@W*GB6BWWK#/:P<6]E3-O1K0>YJ0>Y9KQ_&KXPY-VP@N@Z=) PZW6E3U*)? MBW[?B0;RPGCP^2SI:N)/5P-^[X,7YN__ER4Q[ C.]QI5/EMXKA:"6?B^19+! M;M'FA."\;>+>NZPVA^FMHMAK E(D^BU+1EO8*VV*+H)+3Q@:@ M%MJ7#LYL_9Z55#M)YY+@#<$:[68XG+.*?M>N,M6&)F7VV(2AJSS:TR9F]QJKNU6ZW= M^JY1XB8LU-:QVSJL64!H3=3MX2R[19L4/DLT1@_K;JMEBZ-L5,=&=614!R:I M#F!"5.B)V7/0.J,/ \.PPM["8@N+WYEFDDR!+-&.?,40ZZM;J#;H1=!$_,U]Q 7ISU >-:U:W5K?O8 N,M8C6[1:621LN$QL=N MK5*QTJALT-CZDS>$F7^)8_\Y"$,+CRT\?F<*29+^^CS$ATWK(;9 >(N8RF[1 MAN3.,B%OS:TV[6"#TD%>BVQ7BVQ/V3U+$N8[M]Z+R!BVCF"+=-^CQI&LUQI615DH>_V<)G=HM((HJ4.^6H>V\R(TF%AZ_[=$$B^@27" M'*[?4D8@V<)C"X_?F5:ZZK/$&_!7O&!>RI EKNXY0R _K*W*SO9VFBEA<);Q&UVBTHGD):*AP^/;5_Q9>)A ]C:?HCOIO6>[8=8 MCB6NI1_B#@5TJEMEQMY>W;8OG':GCV45QNC1;)'3^=1#EYNB+"FT4\4]Q17.KMBNS_3SNSCT)POP]5FZ%^?M MK^<7Y[?G9QVG?7GJ='YMWYS]>G5Q>G;3P6FZK2_.V3]_.[_]UZ@=O )K>#O5 MY&04VHU#_HCH[Q\XCGF?^[,JP\7NQN[NAN4:2R>;R1&S7O<-89&3WVYNSBYO M'0.36.?[$ISO[W=[K BUNV&]Z279&+L;=C=V?3:HT]OTXZZ_7# M^)6Q&Q9Z ^9?!-Y=$ :#@*UYS'S-;36M>K+P>(N8S6Y1V>31$N%RW6U6[=BR MTL%EBXK7T@9'8..S%X#&S#;$L;CXO>DAP0(;P\-UMUZQ[F*+A[>(R>P6E44. M+1$'-]QJM6[E4-EPL'4;;ZIC.GN*PR=^J7/!/X#6Z2<)\P/;-]U"Y/>FFH ! MTJM[HO_UHN-JTSVVF+__7Y;$L#5'M6KMRZC\ MV<(#MIQ0.G!O,?R*R_5(3CC7<8(BA8/XBSAZV+]E2<\Y97<6S)=/9FS]GI5= MD7(& /H'\E]WYD?50GD+Y;>)O>P6;5X"+7?DD95 Y8/!UL>]87PL@TZOPMZ] MB5^]Z\]N.QT:'MK6&S\KO22R%0D3M!Y MBL0@@C\$>W#N6!-B;M1L\J+%RUO$=':+RBN7EHFBZ]:.+QV&M@[G#8'K\Z@; M]YASZ[TPVYK.PN?WIJ9RM3[$#<@,ZW4OMXX.K5*R8'E[6,QN45FDT#([;UB3 MO7S0V"+@U2+@4W;/.)/YS@U[8I%U'EOT^^[TCF0!P0'KSJPX.K+M-BSXW2(. MLUM4"B&T3*?PH>TXMTSD:T#8=SG?F[^UD\8AQ_JEG2.]G"5NTW3O]WDH-F0S MU6!M;I7!>AL/O-#)9T4%ME>DM5S?'6C<7)/(EMLXMF:K-5NWB+WL%FU< BW3 M9*VX%9O*M)WQFMDE6_G&;BYC/GPA1[=/C5*M*Y= MZ]I];XX5HRG991QUUYN45',K#=MKP>+B+6(QNT6ED$)+'1Q?;3:L$"H;LK8 MNDP >K0UH@71%D2_<_55W*[L<867UM\_KL3XC_0OR%SZA=N2O M'3XWCJU[R,+G+>(TNT4E$T;+[,)X?&R%4=G0L_55;P6LMLT<+:1^YUHLUT=M M[5CZL&53%BV6WB(6LUM4%BFT.(B^#UZ8O_]?EL2P/S@><%0(;>$I6W8HG25@ M 7\I 3\WWFTOO%(+EJW?LRU1N6I\B,$.EVQME9.'+0O_+?S?'D:S6U0N6;1$ M3WK53E5;*GXV@+#MZOYN&HC;KN[E6&+YN[IOL]F[93W@KV[;%^/Z75I[U]J[ M[P!C&I!R7546#??(=@6RYNTV\97=HLV)GF4FA=7=XX:=SFNC05O8[7U]L/@D M[O6"08_O5>IXD>^<\/OQ'[*HRSG5V>LPYES& T9$4JM]M*C9]HHO(<+9MMV8 MK"P-IFQ'?H8EY\?M+VGP.0I"+A>3(>-/'E6(]D@L!+><:W>C+'*LV BP/[=^K^W"^AW?FW?G/UZ=7%Z=M/!?,_6%^?LG[^=W_[+0GH+Z:TJM+NQ1;MA MF<:2B=V-=[H;6^N87K"R8!S,-9XY.XP :KKWD*ND,O 'S?_?"(;MF2>?12]B\SKL_^RSY4_Q2 MQ\#.+[^I(%AE2A!LU:LN,M7?ONIJ4<9 L;F_6MIR^)XXN!FNTQX.'N.$7^P[ M&RQA%;"[$4$ >]JW7#V'S$=Y84E&5\U+.KR4NT MQ>XVOP6;5Z(VHXA5HB6WA6WN9BR]=&MPOZ%1! NN#;HH*,5;)5W M[HU+7HUKKG)0*9J;LEO.N>G/GOGD-NBIJ];! S;&"[8^I]<7X=\HY<&LV!%6 MY)=T#UN'[E&SJ'WZ^@[%"2('7FX]SX3"@NT\_:5[I=WFX:';J!0U_%R%:S%S MVC7K8BR=);#U>U9RZ]C@^17Z%T?KGNNVI:]US6T19]DMVK#P66+E<[-FA\F5 MSJ6UZ]40BS;!;?M^ !3JA9FW*23.>4GFV@M\OB4"ZIYX_6#@A1;^6OC[;C20 MYB[@A?-(\("AF-8UXZ+J5NMV9)S%Q%O$;G:+2B>1EHF2C]W#XYJ52&4#RN^V MGGB[QDC@/G)$X'2RDH?&M:C5R;D5BSQH2JNEMOU-Q*O=2\8.O M-=S:T4JR&VTJE;5V2X "UHPM]^;@]W5F4]4YG]>M>3N5C#Y:^[8\#&:W:/,R M:,GC)%K6H%U*.=J\,@2;L#V^@E[9/SDGYAS$:>IZT1LX,3W MSL![L0#; NSWIMP,'D$6R7 (#08&-KED@ZO[6^]E>>@[Y8ODGTU1@36.PFUF ML47AV\2%=HM*+JCF@^BS":JJVVI80;54J&Y@;CO(_-W,S+:#S,NQQ+4,,M]U M>WD;YY7;J2W6/GY'L',RZD2?[V,<UQ1_.FJX]<.6!90VO7)[ MV,MNT<8ET!*C3T=5MU*UQ4K+3*>T%NU[-)ZL15N.):[%HGVWH>%M-'4OSMM? MSR_.;\_/.D[[\M2:OM;T7_5!RS'D1>'=!& P"!D.T-V8#5^O';JUBC6!K M!&^1A;=M6[3+LFB)UG"UVG"/FS8AW)K#RS.'Z]RL\>/A7_51"5[AF#C&_WT1 MU,))Z@LQ7;52^?'#I^P*C"T[.((T<+TDAW/IP6%+?T;+TA_C;Y\%3=YQY0U: MQW,>$]#+?^,:G=OC0'.0AGT"RIP?[D^?O)_';HOY;[G $;\+JF&EGQQ=53GB M-,D>2+8G*&[(T4$SR!P>N#R^9-P?WG 0RT\2>E/X:)%*=6.K1REJLEO$6*)# M[U.$'\11X$F,)LUW;F^N+J]^;[O.^>6)Y#&3)@.?WR>(&M4F_^=/@%"C+W=8 MSI<[N;KL7%VSR]N.<_4-7O;J^UG!ZV[/VWV+$Y2<__"BH9>\DH"K5[?Z_?;.(^?V,1ZF7N2GKG/VTF7]@7/-$@51-]VO5?_PP M@XM 0#'Z32W[DUG^O#6W744PX&AZ=IN$NH*:-*L=-#.H9&;,//E&H[?CBI)3 M;O3W#S5%M@)DBCM4#RJ<"D7LY6\5_-^7XGT?T:1SF9:3S=+IHL%HA#&O_VM- MN[^S^UZS^[Z1?:^N<-_+%AWE^_;FGD_5Z3V?YL4TQ<;V#7MBT9#-[1&8XH\R MW8K"JSCF1C^\X=>+]'_#U_V6Q#TPWN"B/X+!X\DPY;=C"4=IX1 (KIVFC/_C MCQ;G5&I_5LA?>QNO)([4J+G-VMQQI,F;/*]/ZCV?:]4XUZ7ZY%MNH[ 9DSW7 MM9QKQ3C7ZC+/]="MU.NK.]<-E;-LE1:#7G_@D-NX-GOS+189HI4.KN[%FZ]9 M61TWW'IK[JDEI9-I93VU%:FB5MUM->RIK>K45J1H6@WWL+5>/3-/S/MMA+#$ MH.D8Q52F+.*U+7%Y;%GBE]R")=IS*,<2K=]H68C[ER1.4^^#P;N"V_CB M]-YK!MN-([?:/+2P;25GMB*HW>!0NWYLSVPE9[8BH-VHNO7#%3KJK$-G-H=. MBGW\SU[Z+$I9^GG96F;5W&6O+_WUNX@ 9Y@6LQP6[;"0?_& 3/K=2_YB _ZW M=P4%Q0ZT(U^]OY!6:T:&M8;;L,AP/4>X(J!8J[O5UO9'?;?B"%>$&_D1UBLK M=*MO,6YU2;NR^/ M%6L+'N**E-.AVVJN,/)D#W$=ZNG0K556B!&M+?46;SJ+6.*%J+7:?B^(@G20 M>(/@Z7VELHAMX-R2W83-J*YJU6W,/U7-BKV%SW%%VNO8;5KMM<9C7)'^.G8; MM?5ZY6WZRRZ%^VW:A3T'>PX[X4YJK@N77_49J+SH084AWQ4>5Z\OWW[=&2\U MMU6UT&V5)[PVX[Q MM>4!:@!.4S/?)_S6$T/7#,";;J-A4=QJCVY5F>=NS::$K?CH5I5(Y#9L0X$- MZQV8VBQTCK,G3+&/-@?=7F]ST$N4-W$.OJ;+YEYYG;8UM+_L/\ SWF.+8M!H7KR]+S@LC9 X/@ MH\.)XUN<\"LBYV28)"SJOCJWB1>E=#*[%B>P8[]A7;_*^D MG6+*G\P_FV8/MQI6ZFWH;!=79+.=;>W( I%%7!U+.-H5*;OF\186X+\+DPN5 M(*>DLQ?PD0V#]!%*&J#YXBF[&S@XB;3ZQ;F^OG8N8B_:,3TX)6&6[TT*;,/2 MJRB[05?WL#VK-='N@Q?F[_^7)3&\/3^'VI<1)EK]]NZ4A%SX1%?FU6\<6J]^ MX4$*BE\)@5OK:+IB "X!Q7 :I/TX]4)0"="6>;!KMM!TB0%;<15U.$=?W5\G M<9_?^?4Z]*(!3 '%$D"K"$IWK%/,H+>=ZZHMH,/C)6N%G;& ME$MO M# D.L MKA.Q]]6< 5_[,H[B;)K!IDI<;6_"193!8H>X8C>NLCR-7-DYDO1V$;.[] M+N4:VYQO>P[V'#;NMUFVH"P8!;DL)+-&)#HCB)EUFM:8/7S+6,N/L\ZG''_ M;SFJ)9_4JCI5NJW9\KY69B*4B1T6AX$SLD-SIK2%53.#18X[KBDM8K'G8,]A MX\@1!#)_M[S[%]^K5FFX3JU^Q/_5;'[\LCW%-**,Y@YSB611S:WW,DNE'!P!"$IB;+@MLZ'7[+*NNXWJW+EA*S_C[:$=2ZCKFK+*#=FY M4XXMH5I"7?>\JYI;;\).Q5O#$KQU^3'KNV!RXJ-?@Y"+?25Q:Q]4^2;#76Q.]S MGM+V4<#ND=RJBDXKZS\N%_E=U]S+X '?P M54I!,[N]Q3OT*I9:++6LE%IL8&5Y9OTE&\S;%W,+ BD_E-3CQW=[8XTX:^[A MX=R)P=:9O"M4M;*YCHU:*3R_EJHV056K*F%P:T>E"'RMU.K>E)]IE4]X&[2L MG6N6."=Q MK\=Q7.?12YAH6O#52X/N+L;I5P.;EQ.\.O.2*(@>4GXF>!9X"(N:^W_V6?(G MWL8$TS6%I2M3L'3EH#YW8P\;-]UUJIOF#G@[U1W9!!%+=7.Z"]Y.==6YV[C: M@/W6!NPW"==+_BZEH)H=W^-=>A=++Y9>;-A^APS_TR <#IAOH_JKCY3E(;#8 M^MTW^$N@'RR=C:6S-9CX:S*V+)V5FM?Z.\#:,6XX';H@:)[H= MWDB--4N-EAKGHL:)SHDW4F.ULJ8:A85@E8VM+ BDT-T5/#'G[/Z>=0VH M2_P]$>'J@%*U7K-4N!T/VS@5K@X@'9:""&W49JU>Q@WV.2G_ZY2*AG9_NW?L M=4IRPI9ZMO)U;+RF9&Z&-\1KEIO;:2,V2_!*C@/@&XG9M$KCE[1>\BVAQU5& M;>IU6PIJZ7$^>EQIW.:P- 7Q!KQ:-G%F88>&+(1A"'F94$E_"=^-#G,T >8J MF&DUZRW#JE>4MY5[SNA*WG*^*T.6[VW#++]NT7IWB?#LAEE.W=WU[A+AV0W; M7DXE ,__[?&]&;O)U=KH)N=6,^I4S*=F&:98E\&^>Y4?OSP*;L"@WH/CNK\@7I) MSF>G>G#8TI_1LO3'^-MGP0MW<>@#\7O.8P)V]=\&2!YIN-"6Y> M?B\+-EO^:^[=-7]4<-3FU[0G1P?-($,5X+3_DG'@>\-!+#])Z&7AH^S=9A* M;W#Y&RMTZ&V*)(TX##R+$5G3[MS>7%U>_=YVG?/+$\FWXM]PI\#GMPFB1K7) M__FS\:'HW0[+^6XG5Y>=JXOST_;MV:G3N>7_^7YV>=MQKKXY)U??KV_.?CV[ M[)S_?@9O?O7];/3=M^=5O\4)2N97YB6IPR*?"^9_>-'02UY)B-:KV_QZ>^>1 M<_L8#U,O\M./8]_$D/DUK6'&*IRL@@'=CX*IR\*P[_G@-\2RB!4)(%K<8/J005@%D7[_U;!_WTIWN\1-9ECV9 -^(?[ M@BV(%AVAYUX*(.U\[ [1R@R/+VG+5G"?G=KTFMWT]6]Z=66;O@(AB#IK!'C_ MK=ME[/Y^LGCD>[8 .MYTX[,9CX76/%8T%\3Z1*AOS'U^6/S'.S,O;,&MFU'J M3+M\F\]J_5.X[%EMSVRKMY_5BA3+[NB/*VZ+8[_,?L(>&=^0)R8;:>X!,7QT MG8AAS>? >^&WY6:MD[!NZ*5I<,_?&8G)4U4UZ>>EJJ'5,J.]O*R7[QP>K*^+ MG[_%"?\HY-U&TJXC(#3JD[L MEMPLW"NZ23ORC9W3&\R?/"9\H7PSZ9HRV9]3$'U@@?R<>W 9N=) M8'%,.QL)5#FX'9.P^:Z)H$PTL"*LW*I6+%+>D&8]>?2B!^8$D?.[%PXQ*GS* MDN#)@]XH*?\S<"_F&7BI<^*EC\ZW,'YV?F7^PZ9\,^7B,M@3V!+Y:]5&\$PF[Q+-?CLO( MGOWZ(-82#W]QO3H;MJJ-*\U: K*R1NVBJGQ*T]:V0[9%&_PC&\Z MFZ1QO-QX\FXD$JSP0%>?&U(_7&XR[6XI.=%69'I65Y:];K+Z+6,5B1;O_ M[WG_M]7GOS9(7@3&WT/-8(%>7QWLGE)!6&W9"L*5GMR*Z@F;;N5P9;Y3>W(K MK2X\7F><>1>1]!L&I6_1 LN,Y>P)V!-8]PF@;/M)]''9''U]X/SH0F ME>.VWWQL;7W2QWSBO"^:!3G&>P'8F:>!IFAS"8\A22^@%WW2Q33: :J=+PZI M# ?[9"Y&G\<&MN,W#;U^RC^5?U)?9;:A:*/'#?DUO_:SFLYI-'_\\J%P^ ]] M7_MQ[,B?S,]F^;.]M;WUV#__-&9,M62F"6Y[YP@8:-3[+T9SSCK@>ES;PHGR M:\2NVL"S5,_)PP_3GIOM1>E452?*C TYM?/D1#&^VK:4N%/=TG6<"T<6S?O:JZ]P.=R1.PX/.+$ MZP<#_KB)-+\OXOT'1,_X1'<$)',1M;CG.H*M[O9H7KNE)\GC.)\<(%$4 M88, !P E<7[]S[)HECXUOA-])^)ETRK1B[& MMML(K1\\??/AV-6QZ@RBMW41CL))VJ!GGX@N$4UE+NJQ?G4R-C>J6>'7GS_:M*CVPL2H]LV.VSMGT^JZ_L(1.+X=Y=(^3OU65< MY$%A0'&NVS[GOB$=O3FC0UZMJ<.P:\40V/;NR6U>7AFT-VQXRVRYH?+(JW\K YQ;5Y.6ZHK3; M]MG%(:K,'PS[5@PC!\2^6GAZ5H.Z4L(E1KWM39RO+FRX:[F[[?-1 M8_9L,X^C0)WAI8HAQ/!2;5%G>*EB"-FW/: -F'@,9P2]2!4B34A7A,B2N!W3 MO)][!J9$#"=Y8-&SUV=W+/)"]Y[UPZ> 5ERJAU>%@FY-^[(YHYWN(5.C$0\5 M0XBY:FN+.L-+%4.(X:7:HL[P4DT04G;*,DXI)>4CA9DAXH,X3;UM+V,Z[2[. M8TJ_:A<-^C(:^^&4,8LSG?7EE45]+RZK-37AH&IR:Z5$/PGPFSB>,/?S)((3 M<:G-J\%TZ2X)S5W.@U:!^K!S^^SR$#/GC'97+X14E,7_[?@3MF<.?X-R9QC; M,/9!G:8RC%VAX%?C$+-D#9O7"R'&75];U!E>JAA"#O3*W$&YF'Y1#KQ7YI[\ MET6A8N[B/;D+/!\5[1IA4C&$F(NYMJ@SO%0QA!SFQ;Q)4_3L*$Q14S)V $'" M>Q8GD=?'B9/$.U;WQ8GM V1YTVBG:AC9.\\;5Z6Y/X\#(8=\?U:F[V2S>8@9=N;>K!I&]L[KYMXT M]^9Q(.2 [TUS :Y_ =:[>'#-4-ZL<.)<:&\=.]PWRF-VXN*X=N*A]=E[!DP$ MKOA,-G7=[F;F\[+FQI6[BX&=*1"$>T;WS[JL^\>817_02CH3MY8.XS1.&V5! MG!W S(*=6Q2#,I'5JHF^O=^.1M,TFN9Q(,3P4FU19WBI8@@QO%1;U!E>JAA" M]NX!4::29CZAM;1<<* 2P^0.,3W.A 6JAI&],[*Y%,VE>!P(,;Q46]097JH8 M0NJM8!HU<6?!,U,N5Z%RN>\LL?A04%,55TW.V[O8-2J,46&. R&&EVJ+.L-+ M%4.(X:7:HL[P4L40LN^2:# 2N(WP;>EBC@K$:YIVZ_(X&M<8[JTR0LQ-6%O4 M&5ZJ&$(,+]46=8:7*H:0^FF51C=<'>7U+G$RL9P5D'^;#%G$*0!MJH@-&>#X MF?&/3)2G7HQK])[#0)WAI8HAQ/!2;5%G>*EB"#&\5%O4&5ZJ&$(,+]46=8:7 M*H80PTNU19WAI8HA9-]^8G)K91Q:J=OX.TMN!X_.ZY(=FOO]R6CB.PES9RVZ MASR%B\;547BB#9=7&2$'P^6&,3<0(DK?VQR_+@KRB+-EHCCR+J%D0O@( # WJTX]#V70E<-V\+_?9@5T=$!LT109$=O-Y TD#20-) T MD#20-)"L,21-N71IBDVS5BDVGQS?"?K,^I<33)QHRO';;MH66AXFMZ8N%D^E M+%\^0/1VDL2)$[APHIR9VXUO@TJ-"FTV[+-6QVY<'4<&I>'>O2+D[]5E7.3! M8>B#UA!SKML^YZ[OS>JT#G&H@V'7BB'D<-AUI_,\Y[/NI=TX.PY?M.%>P[T; MX=X*%*!W&G;CLF/8UK#M(;/M,H//5N#;RDP!;;?MSN7E 7*OZ?A=-8P<$/ON M+<5J2:8^R*I?P]%5P\C!Z-$;S*8ZL\\OVP?(?:;F_HAK[BEX<_+)B9EKX>T% M%YV#=&UB@75A5E,WNS.Q9YH7O/^N%30"O.*O!H:@4> MK0H%YIKVV=5QF#1&/%09(>:JK2WJ#"]5#"&&EVJ+.L-+%4.(X:7:HL[P4L40 M8DS U 0T%MSN@E(FW%2A<-.7T=@/IXQ9G)VL+Z\LZGLQBTV\J2Y\6"FA3J+Y M)HXGS/T\B>!$7![SDC1=;DM"&EBB'D,$VY35IB%T=AB9G"K:.)I-VS.(F\?L)*EB"-EW5@<8"=Q&^+:T M/[H"H\;.[;.6R$EPTN&EVJ'.L-+%4-(_;1*HQN:\BT3RYF) M?!HNR2D@,V*2?X1<9F(\=6%;H_4*FVJ#.\5#&$&%ZJ+>H,+U4,(7M/_B>O5L:?E7J-O[/D=O#HO"Y98][O M3T83WTF8.VO1?5;.->WV^=D!^J1-[5S5,'(T+&^X=,,%/NF+F^/71<$?<;A, M=$>^95DIH//XLM_E7\U%DGIAY (\" *P=RL.?<^ED%;#MO!_'V9%>G3 +!$N MV=';#20-) TD#20-) TD#21K#$E31EV:>M.L5>K-)\=W@CZS_N4$$R>:+$"5PX4<[D[<:W0;7:(#?LSOFY?=8X M1/O8.+$JAI"_5Y=QD0>'H0]:0\RY;ON: M/(VJ8>2 V+?RN5<79X=H!AN>KAI&#D:3WIP^?-FT&\WC,&---?[15.-3^.;D MDQ,SU\+["ZXZ!^G:1 /KPJRFIN0P4&=XJ6((,;Q46]097JH80O9M-73=/R=Q M@J9Z_!C."(V1*D2:D*X(D;UQ.\8?XWL&!D<,)WE@T;/79WS RSWKAT\!K3BK MW*.EE7NT*Q2::]JMJ\91F#1&/%09(>:JK2WJ#"]5#"&&EVJ+.L-+%4.(X:7: MHL[P4L408DS U 0T%MSN@E(FW%2A<-.7T=@/IXQ9G)VL+Z\LZGLQ,SV?:\.' ME1+J,V8N\Z(T76Y+0G.7<]'MOTRMU;&;K?912';#XE5&2$59G,:J[YG#UU?; MCB./R#!VE1%RH(Q=H>A:Q]S?ALT/ZS3&AVEXR?"2X:7:H<[P4L408GBIMJ@S MO%0QA!RF*;=)2ZQS%):8*=PZFDC:/8N3R.LGS+6(PZSNBQ.YL?5O^)RYMA6P MQ,34ZL*W=1#F/*:6DAT]1D3W2S1G-';5XFJ7';O=.L3&&$9GJQ="*LKFI+-5 M@,O75_8,Y-PTL'>&^:"W"C,W)-[5S=(G[?66+Q'L0F ML%=-SMN[<#:*CE%TC@,AAI=JBSK#2Q5#B.&EVJ+.\%+%$++OK XP$KB-\&UI M?W0%9HVU[/.#-,4-]]8+(>8FK"WJ#"]5#"&&EVJ+.L-+%4-(_;1*HQN:ZBT3 MRYF)?)HNR2D@,V.2?X1<9F(\=6%;H_4*FVJ#.\5#&$&%ZJ+>H,+U4,(7M/_B>O5L:?E7J-O[/D=O#HO"Y9 M8][O3T83WTF8.VO1O=:;'^3,'5,Y5S6,' W#&Q[=:'%/^N+F^'51X$<<+A/9 MD6]95@;H'+[L=_E7'3!+A$IV M]'8#20-) TD#20-) TD#R1I#TI10EZ;=-&N5=O/)\9V@SZQ_.<'$B:8$?+WZC(N\N P]$%KB#G7;9]SUT^#[K0/L*(>1PV+4ZY?FW@H4I7>N[.;%</FB>WBA+;TX?OCRSV^<7!\A]1Y12U1Z_ M6FXXZ?EL+W'9#;W>P-+ TL#2P-+ TL#2P/) 8,EU+OC7@66SK];2DIJM8EI2 M(ZLT-M/?15)1+IM(U[G[8*VRZ-W/#XQ9W\,$'DM""RQ?ZSH,*(,,36'KJQY; M"4KT/W.(7)YVO SV,/?N8R8/SYDDH?PDXD?%CV:^S.)O6S-9L*E3X]QLP8^9 M_$0D_U43 P7F"'&;3R-WWZ__7?7MFZ^7TM)4/(O;L]S ?*O9\T. M_.^/\W<[0,;Y42'C^O;[P^VWF\_=QR^?K8='^,^O7[X_/EBW7ZWK[L,_K:_? M;G]_F(\B@Y+-HN1K&-$E.F5.%%L,3N?FQ$[CQAZ5@ MK[^SM3MQK[_Q;8Z\]%]4-NF&[S/?'SLN9NE2GBS^+E:GWS/Z#KV%7ZP65W[Y M)_U)%,'QZ([_:/$;VD*EY2V9]T*[AD5]9QS#I_(G]:<,%,K@/,-=J?W5S:H5 MU@4Y)DG]+OMS^X>97EO]6PM_K,VR9((4P2@1FE>G\XJ\K@1GJT)RX)_E"A>D MF7+4::?@_U[LO=[VJV:\$ @62#3X/^]:[Q:]7%"T?'=SG)15ZQ3-E56$R:JR M8S4Q7EXOLA/P[_-5QX;CEL'QP>.XN7\N9I[[RS;&7QAA6*)'\'4'"YI MGCKQT/KJAR^Q-8C"D74[9I&3P%>M;C_QGKW$8_%/;Z#!M]S9;UKY>%8ST#/0 M6VNUHF OBFJ2U-9\QWW.R[^$P+8T$V_5%!LSR6%#4[F7UR,T&[8J^5#SV;9F M*5Y_W\TY5L_FNXO"@9=4:ZQ.G1&]GOU40?8SC+=OQFMJC-?:8#6H?=:Z,HQG M&,\PW@S&:VB,U]PN'3OVV_95\_P(W!QU MY4[#EQ7GRRWY_8$OKX[!_6CX\F@.LUN^W%)8H&-?7;:/@"]-6.!XK1^=O;#, M^3/K)=9-'$]H&L9U&">QL8%JQ,N5DNDZ<=T.1*N$X(FH:M=)33,:?AXN\FO$ MDH89*\J,6S)XSHRU8YCQ@ ZS&V;/32@EIHB@B*)V>=FRX-.W6K''UAXOY&O&CX<3*<>*6K):F?79U M#.Y@PXE';MD^5FH9U?F2Q/PZ '=!AST]70RC#&1'6,";ROT)CX\HKEVQ,O M'N+])/.]C$%1(VXU8O80$%?V(! M&WC)!V-HU(B?JZ4?20KC! ;TQ>)NX,)_K^%#;QOE),OY6IMVNVWTI HSJ6'/ MG13OKL>=6S)>6DV3,6DX\H .L\,+<_V4K64O3!JL=&C<6;PP35CEX,V>ZZ$3 M/,'"7B!2LZA_V#?/Z7D^=<>UK8!1F,4;P9KTD]/_SP3,(J1ZTSNW&KQK]EV' M?5>0X(\%]&;?AM2/!/1FWX<<$*B4KGM5*UVWV^\#R$'%O6=]YCT[/=^,M:NP M/5IQ[\1-T >ACOKA(\Z<^>V'?LM^Z+1.@(&W9]?WU@O:ULOM\F019KI8E%B7O.C]64T M]L,I8_"W!"")+,<#9,;.J2=[5D)>.WZ8_$0T)^E+D1>GKFU:.5-P@,7&6O5@J-\$SP"F, M/&8:/=6)"ZNAU\QV%&ETM>O 2M/N7!Y%RF==.=/P9&5Y'.-K,L&3% M$+)OEMP"1VX[CG)FM\Z.(=!IXB@UM$Y4%MB=,Z4X"@U,[_>C"7.M+Z_8$-K8 M+;5BPZKK2)+B!,'A1%A.;EJ9S?YB*"U3_%UEUC5,N]>DE'5X=FL&3Z-S#-DI MAE./YC![OUZW;0EU#M ,VEF=N G?["E\(QM@,64D&7NHNORX;X&]AKQ&Z:QU M]1!$MO-JF0O39*?"3&K8VBF9;=.#.1'L.IAW28O5RD6YME>'9Y M#(X)$^ZIH35#&=+&?*D1FU5*H:0@^?/+1DO5Q<'Z -<)D2C&2'C MUP4V2(Y]L2MO2G&K\WY>CUVP E\@"[2LV?):8K; 9[TP<@%L]! \M%.+G.M][_%S/U@]::6TD6L+J@!SY0W8AQ'U55R*J[Q JDAI4E"^S1% M0@.U5U)92F3[\ARU["N3^UME=C6,N@,/[]OY=&N>H_;5 7J.#'?6"1_UY\YM M!;T[=N?L&-C3>(Z.S#XVS@J##(.,'7J.#MM!U*R5@XB<0U_]\"6V!E$XLK"; M0IQS"IFA=Q555[-N0^I& WNR[ZFGN1QH?;==/_;US +># M,+*Z<1*%UJ].?PA_!058C7U60Z'[^#S-@XZ8>U1J<=W=>M4*EGZ:Q+!J'%^' MHYX7.-3$/B11$]$OCY$3Q ,6 94U=UTF?&$WS%2]*C.J8='-!&*V?;RC:6=O M&.EH#F,8J8:FB+$XJF-Q=%V73(H8'L*LS#$@8VI;=[X3)-2:]0L8%^,1P-*8 M%S7BW&J9%W?.%"DH?@R[W%:5A$9DU@U<160[-BY:K2MC65271PUWUH,[MY:! M>7%E$J0-?Q[28?;"GUO*P6S9G:%W3HWO7 KS*^&4^O!J=MN6FU\ M1X91#^TP>V'4;8_H,4XDXT0Z3%/9^"T,,@PR3"&O*>0-1]97+W""OBGDK:*N M8O9=AWU7D."/!?1FWX;4CP3T9M]5SYX_TE!IO=+J]4;'@!Q7:,%?1F,_G#)F M/21A_R_K=DPN.\SC,G'3"COS]NWD79 ?*$CL*U#831Q/P,YBMX.'H1.Q^#?@ MU^@&/@C Z,+9[/3Q)R=F[G4X&K,@IOI>HD!XS)^X ! B3DZ;6XBTSO4&7W8. MSQ5\\#K00>'C*+EY2PG\YP) M^D/@P!BX!K@S;[#)/Y/)9BRV&C%V96\%(BR2\3LVM0YQ\*)1SNJ$CWJQX99L MI$/,4C5L6"=\U(L-MV7<'(/CT42DC-G#B_>PO:SH*X!]9!^=5WCG/?.=!/Z8 MA-:_68P_W<-_(J^//Q)G&I.G1MQ>K4H$V<5"$-EC"#3WNY<,AZ&/?JVO853N M_MIU1ZCSYN%=!*9JJ&((.3)>W9+IU+X\0-O)\&K%$')DO+JM>9W-H[A73?SH M* RI]_=L+/CNPX^?PB@*7^"[,FATSYY#_QEK7:XCYGJ)]166]KUD:LRGZO+R MOL7\\CZRE/9N!]_@5? ?3F>[GLS1L:\:)HA47?XTG+D9SMSV\8YFGH!AI*,Y MS#J6S%ONN&VW*3FW.X=XU^W,@C$QHAJ8-EI$Z%(F>$NL^.;8PS^ZS5.CP;PP1AC.VQG.V1YIH9JZ-& M_%P)&3^_)PT2&M(9DMF.HR[GA^DY,II7G?!17Z[9AH,!IIMES1QCV]2(3XTC^! 05R-V.@I\[#T;7\_ MOTV&+-JG*=*R.Q>FUM_PY"$=9E<\N;6"?OOB$.T04Q%C+!0]&.,%?6_L^+); M6FP!5QIKI2[<7".!_BMSOI[F,R>Q[ZM8O[#=/8:#:MB"#D\AMR2S7/1 M,>QHV/&0#K,;=MR2N=.VKSJ7Q\"0)NQR^$:-,F4&/*M,!C:MZS!.3&99A?FU MXO(ZK4Y$NI)D152U8WNF?8#3RHSV5#&$[)L;32S4Q$*/ !]UO-:V%74Y#B>= M";DKR[;ZEME%_C/IS!/@PC%13Q!E&.N3#O,V. MD$K.=3@:A0$-U]MU+?W5Q7&:$II-,'Y=H/GG6!:5_Y3*5N?WO!JX8 6^0!9H M6?7_M43]A\]Z8>0"V.@A.*05AS[82M%3[WW#MO!_'V89!"M)M,KL;P,HJ<]A MJ[X_@XP*[4\'J GMKN$\Z=3*>:*F_-Y%(6H8KO4>Y_U^L'I3ZZL7. $N8W7A MMG_V$H^96&^%=9E]*[/S=5F@-"0T26>?IDAG-X$BLI3&=IW)>FE?=(YAFGM= MF=2PYRYLS;?SY_J)KDB'V0NC;GOV5<=NGAUIV-GXB@[: M(C;N"8,,@XP=^HJ.- .G62LGTI?!@/5I"N#7,(+]!M:7U_[0"9Z8=>\DS+JF MGZD2FGQ-3N#R'[[\9^(]@VX1F"*"*BL^^U:(Y^O#G/IN!Y+FD.1N Z0O_'^- MQ.Y9G$1>/V$N_J$;N-D/M"=W[8%JGAV>MFRLVCKA8^]6[0ZY>-M^JE;C +W) MQDM5,808?M[9*/>627PRSJS#,]F-_\0@PR##)#X=I<\*$Y]N@CY@-&;6^\^, M__3!\HR/JI;Z3,75X3A3-7A]2R5_%W;SZ@#O<],^ MQ!B"ZJTSK3W;^L3@4 $6P(0#ZW^9$QD#L$9,?3C71$[J=^/;8!L=I#MVZQ"' MYAA]KD[X.%A&W>PHG;-#[%=J.+5.^#A83FULL&>*W3H[!D8UN0-'%B$UX6J# M#(,,DSM@7$99E]$7^-0XBRJOP/S]Z)3:38[*L*_.C)^HNIQJ>+2F/&I\N89' MZX6/X^-1X\8UWJ&5;T6'RC8[7>?0P M&8]]AFW]'=^Z";B& /?^3T?E+ZJ1]F+V7<%]5Y#@CP7T9M^&U(\$]&;?54^Q M/VS-MEZ#./D<"0=0^'D28=9\,F06+W%!1YA1<"O*FF;?%=QW!0G^6$!O]FU( M_4A ;_9==07W2'VZ%[72?&\">)S%R5%IN#6+2EO?,+_&_ M:AY!!D)=.=#P7B5X;_U6.O,3:<]:AO<,[QG>F\=[6VIMW'R&@WC9%1728T M[%<5]MN2G=&RS\R$*<. A@$7,N"6C(VSHZB738V-)4(3A; &I=:W&F>VU6I? MPC^=SH=J&1'U2L;Y'@8GE)#S&#E!S&DN?E,*SI(86ZFZ:KW%S;)FV1TONUG9 MO([TFRO!A20JK63*ESOM5NM8YZ@'?+1M8K'H[,OX^2QR]*UY9Y**L$S*P0R8 M=#H$CBK>Z_4J'[MG?=^)8V_0IZHQ= W>!,\ NC#RX'U):-U%X1@P,[6M.]\) M$FI4A,7M8ZPYVY7_/ES< M&MXVO'U,'MO:67;A4P#?M[P@<8(G#_O-@![,N D7A5/'3Z;6V)DZU(F&^4[" M7+3X_AD&;/K"?-_JTN-WDZ@_Q+FV^+UO7I\%\'/W*6*L"B;@*NZ193PA)9Q1 M#>F^DX-F_&9S*:[DZW.NB(,"G';56/RN60C+C.CBX'L[=.<;OX8L5H7 M/-9:K IR.@-R&CNN*S:=6&?P_PW^_TM"=U4E?7EIG!6M"S!0"I\-H$48!$9$ M&1%5/SP:$75\(NKPJ;K<1P'_H-X[JXUKLU5\9R-[LF;Z^XP:%XV.0(D&O+W[ M^8$QZWN8\+@J=C.Z#@.:%426]UFW" ]),@ MF?SC1Z<,N/2O]8_-P;4$NQFA1?"X/.UX&4) [YD\+?>D.9,DE)]$_*3XT;R^ MRC,<=/F2XL MXP5GS0[\[X^+=V5G.Z_FV;[?/GYYL!YOK>O;[P^WWVX^=Q^_?+:^WGSO?K^^ MZ7ZS'A[A@U^_?']\*!Z[/AC\EQ-,G&C*I6.["9=1H]6F?ULV^3LQ4K^N.A<7#1; M%Y?ON @H0TK91?=6K*Q,9W A6DVAESQ,1K";*1/$$R4!H3='$9WR5B#U-?-H';0S_^-OIPZGUP/J3R$L\\=B7U_[0 M"9Y0WQJ-O#A&7^E[I+A6X^/#EVOZJ?GQ ]]8Q/#]>$#8@!<@5:"3TDNF8&4D M0_Z")Q:PR/']*1Z$C?%1)Z71<>3!H<>X2_D:^M8OW>Z=?-FI=3N) #[H"K6F MS(DL!F\' .7 M=Y,E':J"5>:+LU0_!9!MDU]F:MQU9IB[E RXKI;"\J>,^$*VZ>NF0"G;P&+^ MQ&5$Y8+8:.%NG$3A]_#9 24DZ)\2,7CPIWC2BSW79[(]A-R@SI(=:C*8!*&/$VKBHSS^.I>5WWSTFH]0\Z4WWEX>P$A_&?B 6(!= %8T/@-)(*1\Q>("OE>?I'&\60TYH(D M&3J)Y0P&H)DBO< V5U$,)C'^[*6S3?AZ'MYV3AP&8 V#%'MV/)_L8M@.* T. MO@D>@2TQ4 BP X;0$$9@[%NQIEVF^^9)$+A"Q)X9J-5(^#*.^I%+7M\/7V#K M\#3LA^;X)(.)KZ3H1]@H3R^>6L^./W'X5SW>A"/!HM&/Z1]P3WX8/)WXWC-S M>7I&;! M$ZQ1^V"O8V!M!@O85N3%?_$CQW!*H419 .(@' 'WPW]=3UP]=!>!2A1S,VQ4 M/ !")HXYY0C4CJ.P1_L;3)();":<)/T4\S'N#AF0((R7*=(5*DJXQWXB%$GM M;,O[Q(O,B,JI$^$KA.C#10'5(1$SD#CPPB *1_3Y&UV_)27> M#0SE,@#Q*:DAP,, -7\*H.TG$\ $,K$!S ""?N@27H#5"+%YL)80_&::B0? MD)@;BVCTR17%^\PYX3_-?8/>#;/8]V*M+@I&K=S&_5AR0?Y$' M*')(-T63C4S_4F*BM)8<"?TJOL35R965QI^O&GDZ!C-J"N(DLLCF0H&&*J_G MLH@K/CWX *'/TDV ;IV\25 (BX^#+.N)DBZHEFW]?4ZV#X+EG\QW;X*O<+G! MU?;)"?X2_HZWC?'NJ&2=\T4%+*?%[H/\,,!,/FX8S[*54RSL;;+**8I]W#*G ML%%8XFT!%S9*T!<']&38-*I- [YMN$R#OY1"L)[(E#5*6_52':24U*J[LLXI MO:X1&9N[4>1U#UH=W'D@?%#9<>'BYMKH,V@H3R@$X@2E0L 25#I][[^D9J > MQ]-BI7$N36S; D4)OB!TEPFJ5'R*20A+#IGCKFL]SRA7,W2RLG=F3EWK3S-C M&JON2KZ&KV1;8_4R)E^6HT:B-7[]]$'YGO"\;)>![08&$[>F/VN_H2$$BN\S M7%)*@X^3R$&?^PGN I5[]-P^HV=PF&IS+MA)#&T7-#Z4#BT,CO<^D?4(5^;F MF4P=6(L\?Z,W??,&;"G*_.,;O/U&>_FO;-1CT23&M\Q\R:?IXW3,NJ]>_,>O M7N"-)B/^M3A*[M'_BW_)R/^3F/5__=PL:@-PX]?DO,[KRN=M%<]+ M[N2/5F_B^6BY<#O,!RN;#4-_C^3P26P(N5AFS 9UY<0+& MU=F1*=8"SI8&Z*PZ_;MRJ_^7*4<[1JC 8HY<=#5S]Y"6]?$@C++8N@Y=%>A2 MT?7N0QK$/V^<6^)CN1/R9&*N7$2.;5K\>A(#M($6]47PRRI +W[@UC\/T5)N M@ CJ4N@5WXM_QI=Z,0\Q64# M0";LS1K -P'A;(Q'Z*-54GI(GHTA8D-_3MPG);73\ #"W>/V24EX1:ZO^^8] M9 !O0+&@?A9_"D1VYBD01"1/D(C"GN\]":>^>*]5\N0&)EV (AD:F$T*!Z@HX.6+5\ME:*[%$[(2,\.6+@CY\]0.GPQ M!J,$02P"0Y0((0,DL<,Y#J0-P+&?(+6XDSZZU^[3+XY -YY$%$C+83&+N!$00,[('HI#)1"'DE'B"H!.OL0'&'ORN=D>Y/TF&J";TH3#D";$B>$612L$Q M+D?6"Q-(@E5F8;LW3>6"XH#0)P]YFO8&>T8*G(E&1$D!B9:.M4N72 M*U]85N3,4 B'G*+RQ:J@)?X M0B?3,BY :,1QFK(EWW_/DDDD4B[DIU8?;E%,(D3EU L&$4\94!FR>)U%+K]H M'?@-SR4T(G&/GUH/#F8^4L8+?4\$2US\&O\4A('/%54XL\@A\T7*D50'A"Y M:AH&W416+V8F\Q4I%!S?!]I17^B)I]Y'!U-M7I MP=*2>NXLG3)&-8.GTN!W@7PPSUAFTY#N4[!6E!)&D*?$9 NX*I.*(^%P:MU@ ME-_E68TB.9U],QYJ(!X;@,@UU1&O>-G9'(8Y.R M303NA;U,!T36\&=:9?@8![EFPV@*OWA31FYS.0VD#=( 9#OPM[+4)V-)M-@0!*>L[7G MXW/H^@#Q'SY%SAB@:W$;6NQ%751CJGC ]$)A;/6=P(JX$8?2R;$&<"3*ZJ%[ M%W\#L9L,8T[M@B!H6WFI6G)B)! D;RXQ.:92$:M)SRF/ZLXWZ&,[:ZFFZZM4 M?4D)^Y16#T"A8^DH 0/9]7/7,3F>2$NQG$&"ZH,T53'FG&H^0Z= YJDF5,Y\ M@XD_\'R?NY/2-P)0.: !V_-@2^FZ&.D.7+$37$3FI;H>+JN"YW 3"B>@D(2E MYQXP5%U ##WEG752,Y)\'V?<8]SOQ:/YJ;33171?W KJ6TL(CC3SE2!<03GR M.V;%3-7EGK)2(D "JF6<7LMBJ[:F_W*_)3XZ=CR94X,U+ ''^2"].D$IWV(3WUFR M8,%/($&'>%?SF$PVG0[4!J;GTZ4=O$Y:BUIXG19;>/W PX3;A6WK\&%[=EJ< MPO:#+C\DW_#8+!B[(!%*"YZU-%,]NS'C6\T*M@Q#89X^UZEX 0[E8UR*$=GPG!-L-=_++R(^FLSX4ER%M6NBZNN:9^I.S MD66Y(R5HT+%!590]VHO::5[R!+G%Z-)"4>>%9,VEBB=:[BB-7T*.CE,*;U%] M &K$$F5\Q3ASFBSP51H7*ATJ:4L]?9K&J\8@YH0160"U9J?RXAR V"3@6IJ6 M%8DUJ2(& L(7U^,Q%CQ>_O9RF;AT]FF*_\ZT>T.B513$>*)F!\DJ#1_012]S M/E7IC#@C7J<*AUD7;C;TB^7-"\*)>& 4\9LC+3KB9D"Y)%7;: M]@@7<'Z$.RZQ\;J0V:GU@M'BWP4(>$[]9AJA@]O]S? 6P XC.:2KT5W6K MTB?R864.IF6",AJ="P]FOL=+\]63Y))% ,"[I1S53CS-QIGCU!XN+8+CP6:] MW@SK,'FY6EK_!F*):^XD"T3D7U:JB84 &H+?=_Q1N2H*\<5WS?'%?I2Q//9 M2B^65N.HH#W=3%[,JSC#7/JP>KT&\HQS6&R<.ZI5R<]@$(/4(KM*%7SSHN*, M^2-NLML +4LGIMJ+U-:29H-3D-E83RE-0P190;B32Y+#@2Q^[CM <))TYN)7 M/U[6>DBU"6QX4C2R;,K8<#DF 98SO$9 *7T@3-[)09B'&MHT5Y*Z6/7P?T8- M2_,IG(3(O%1)*!Z,0XS?@27:0JHC<**=#9=46=F3-K%&E'NW06X]HOCU1 PP M3Z-Y*F:;#>"5?+))]:V?%@='N[4*_C=6>5LYU4+?I^OLON+ M.<%OO=\618:S31A%F#O?3TI\7!+^_EB(IF\R(#Z+>4J:$=:K1][*!'"Q"@%< MKA/*;Z\<.W^KE9>F(%+89])35>VHUL'50G\1 R^D70\73$3W%%S+KA=A AC7 ME]#90*8^:27JXA,Z2^JB]@9Z[M@0NZ,$;. )'9(T*ZDJ]EA6$PFX'\9Z?R]; M-%'GL[:=SU;5\F:E,JQ?C*C2!'H3T46=@SYPS\MX[$^%J[CH L<$Q-I,PAVB TAF'@J@HC@+I7<3K/64+HW.(5_VBG!3Q&.XQ(#L[ESY 5I2/O9J L3P7]X09LA-.P.0QC&7\7E<_ MQ>E"L@(E3"-XW0M?06KS\!1%2#!*Q]^M9V1F]T(H!+2I3AV^-R"IK+51P3K_ M/'YGZC7S\_0Q'Q/E_D9:1!Q3ZKTLEK0*'V_J(KZFM".> MPRZL#6Y.4Y834F"F=8Y.]R6MK)0]319?MI<-""[,E&">[_Y=L746002V3U\AQQGZ2>$*!>I.;,&?XC^"G#51 MH(@TS-L7[W/&E9RTUUF:%ZF2WF1+K"DJ%=R'AEZDR9AT-*EH\O07#1FFOU#UK;)1GF#'"I%J@07AMM"HE1B&3\H@PEU5FN<0%##>23*:ZNVD MRF!"=1C4\G0@VI%)(,I/UD =Z29E.RV$-F6;->RRD-8(%3>R+'',:)DWB;-= MZ,J+IO*"/I86&.X@O0LYGX&-^D3IH6G-5>I<%GXT6WJ(R3<>#ZT!W#_P%1 ) MG,4C_EJRJO27\80\406%'?J\A8WEZ+Y2($O;S/'+7.L/V /:8,]:P9KPU\-N M49?@?EGN(40^)VZ8!#(,@%N=!&-4'?HTUP%N#9Z6C%W-"DW.D&]RCN]LB[// MO%$+J<2\H(CPPHT:&W4&7()[N347-D\P4]20]NV3A* 1A_"&PPH8;P_Y3.: M$B@C)]H&A;Z4V:;E#FW"A#@Y#'8X1QERZ)M&8] MH99(<*(H&T$7.Z&E,%V76%8C#HTJLOER> "M'1L:X9JMFM;WR?H Y X#EQZW<#]#'+/#\EN^L(W M7',5V[MR1NQ+ @G\0ZQJ@@5R9Q"B)T0XC7OX3NL*<2/:\%XY)5 9> MA<>,@6H4,!9I"T67MFA&E4ZLHO>7YR2'&2E#V0=8EF*G5@W: M.;ZP9_I3F?D^ $5.1,KEGTXMN5/YR0G .Y1]Z#75*G/?RSX*DGR!A:EQ->C% MOL/KYS9^7Z.E=<("5SDV1 %YI#H>I"7_LK @37K(EM&A6@W6FV@[H/5^HP(Q M-@0NYW7JU-/X/9;T?4#)0-V@L2,4BV)I#Z/-D:0)G#*"KXDI#51")9#-#BG) M#7-ELH=!NXRW\'93!5D*"YE)@!5GW/6LYU02&O06V%:8=LM4!%$.I&(R"R5U MZ,0'._N%88;%U 8Q'Z ;B??)A8NOZI4Y<+522X!&U5('8$>K['].3X-]CL1;-4V@VM'\YDJM M&)JK%\X+/MYB+3QWDTX"%8,%T2X=$N5-M\V:'0H1Z%UXY%6D;CPJEX=OS6A7O5B?_<7Q@F^PR">2,H_.ZRP-MJEIL*T_ MQ()R8)5>6 *+4P=(7@,W3>M4-M?\NG':*124+-W">X,PR>9D[QLF[04PP8I7 M/F@+MRY+:=KY1N'D"5Q,>4^B]F7[4&YH4&[N'OF'GQRYY3(RT6TW:(?A."'X6!V!6 MYGW+S^T2JBI- Z&8) 4?>.C58R\BF=)3J*+D28:5&NBDX<$6?OOR(6R9?"5, M ^SSPB49P7&BB'I>IF5,HN,&;09CE.B'X0U L2"$AT9E4%LE4:F_BK8;>NI1 MD"F#(H5=]6<0-4LJABP"K-0B01843=*^+3QO0'9^H1-3 A)1J\S24LT,_N1] MH3)OU%Z%4$VS#3/0H =11)I_QJXA7^?9Z7VM'"H3 _.IAUD5TQ+:M(P((7A M5/%CL7)@S.O9;@2P45>]E[ MZ!>1M] -W!N5B\.AF?_=A#F7'&>D4IK*+J&;0L:3/B98Y2JE/7:RF>\B.S0, M,'(%ML MY8;=O->SA#)?^5 %\]8YWVLO83QA'75X4L4B&C-%/C79/0D M,Q>'![ :]E:@^Q4'6U]=%[E-RVJ37*;QE@-^;N6 M41]6UQE4D!I_F*D^P!4-* >D.!$Y-?0-D=>LI-GQHC?COK;4.[_G-",DAC?Y?4%JXC[/J@6TJ$IV*U,2*#]< M;>;4^IIN+-,^6M,<)(V5G1C@Y/A3H+$U]8:\X/WR*NQM*:RKJC^LO?%]ZQ%K M;[PF^D11W.Y!GY!_6E^/6)@@TF[,CH,2GZ=46E\G%IR?,'$^* M74:+AI/\3B"J/?0T3JHO5$LHC4+KBJMG'7N.J%E53]YJZ&15&,/^1:6Z@VJ^)]LPH*P!\GIF_JG5 MS7^.90J!WH66/?'.G=3N2FV?GL7Z UH'L[KI]BI^$0&.5UT$-Z"69Z1GG'&; MW$G2U6G,(>--87D:YQ/>9+ZU82J,GI#+XUEZRR4F_2\N+GB8>KRR2N4E)N'#?O PO5IZ@3,^6 M :<2H>[_!Z2()Y3[M%(-GY+=7Y=)O\Z5DI0P7.K>0GTRR_^H4_(>N[2@5E@B M ^="ML Z,_:;#JSM1V%*L:H#D9WVGN+%1E2:ETVSMDFV8QY\RL,ZY-X#BH>J MND\TVN.>O0^V+@2U U".*;9/9$^B@5-65A(+BX1MDK0%LR*]5(1#<1X0N)P5 M<-P^XJ1?$C>$HWJ*.XIEO5#JELR^ D-HLK<0#:!FU..*-!?T0,.WGGB!VXQ# M$QY$,U;Q6+H5Y =N,(((I7]HI$PQ/Q"^_+3R[^+#7 %NJ5DV"EWFZ^TC:5Q6 MNC.U8ZWHJ0BAM&Q*#NTB;QWOVZ3N@_2M&G_QG>>.D\5/#AM8AS?I@>KG3[FK MQTUKN63#:Y61C7DVH?],UY&XV>1=;&?G?6F>_A&5SFBE7=D18&FL-U^5)G-3 M02XX8]1/^2= Z5A_PU\(%LU?'!KTA*UW?%#U:[+[./68/:2DS_;.DC[1[EDR MQ0P>72_IL[G22)YFNUYIG\V5)L\TSRJ7][E2-Z_FG'9>=0LU(#_F=I=H:5V[+%$_I/DSS^-K*MZV[:DZM3^F;O%A;PM8M M!3=DL0A14/7X\CI\%MYQ.4QB02*BIT.FDT.F=7<0SM1B,=M8 2;COH\JF0WV"/843#Y#>2&'14(XXYV HID'J7%(J[TV.S>B!?GK54 M[S>^H&SWID\DAJ?41&+YM53S=LC:9"P[E'=&@9RP/WJ.3QN)ATRTQD,+GN_5 M3DO6>#8/,%=:ZI7.ZN6F+SD>,2\(='^YY_O;WU*/E$KYH]EM%UR'U+' M)!0>LD6+<$QE1=>(]P\77Q8]JE+7C=[QEA[16VC0H#;IR5%-T:AV+9/)D^M# M,553"?@?V"N+^CBQS2Y$[N@>TI=R$K%3[!&'XE).VO+BW)<\8;/1SZ,Q4)Z7 M2+>'/,G ^BL(7X*// ?VQ8M%TP2]LV$OC")>24Q+I=E-TL"D[1"HL_-"X=ZI+%O\Q-9YSQA^YO[,?$.^6@L.=C@:1925M1<,)R MO;&*[F=Q#]0EJ"I/*A@Q1_^3WA9#IP*-RL;^)"9*R%'0"+.,Q7(^B4<:N0AF M+]D,TOVDD$C=%CAY!]B/)$TKD)O)])A4/0A$6)ESKBTR''(KI* (>,M".<0; MYUV0TTUZ/B1QR5Y]TK$7"@.<"MEIH$ *"PYPM*A5C;E@<4EQ'M[4(#,[LV0 MXXL M2J9.>#B12'6]B]&/X :5YG%J[I13;1#SR/8+JR_(_ MA:*9.41Q^WN:2QZ)9)N7D+H6DEXHK\74%2H*/#X&AG]T:GWCI.&C1: B M-5G*GG$;_"ZP12+("?1PQIB4,TNU8N+E"J*7*XVRXLY"/GB$4N=Y+I+2CX6V M(%1?IT:/\&$ZZ@0;P(" .L46DAF1(PKUQ&%YF"P/);A7LI^D M/36R,VWPID"O/Y+0"754U2Z*$KFE-\80"35<$+NH'5#\ %5Q^;9PV48<2H:5 MG8["OV5+930J6T=*5@IZ1:!QW9!&9:0>4)*?R@N\< VYM;)V(YFMB<$'+'MV MY5NVL\I4D>3GX#LMQMD/^]ZD(Q< 64WI#Y025QY6^G>1&]3?9M4O)GB[S0R M5681\/F_"%4G,U2*2@<2B>NT]UEV-&+94"LE6?A+4TRL5$I"K/#HO.ZB!4N[ MT3HRTY&#UWK$+A@% Q*O2ZXC2;6IM($FT9+63>/4^DUTWT37!WW#3@=HH'-L M3LL4O7Y!:V.I^7>P/U_RPL2]G89Z4W\)%]:D",#+A.C6$U^+;Q:IN+DV,2B8 M,"]YFKKTN-N&O"$]IC4A40JEOE'9]ZLO"OLPO!2A2H'VC0Z10J\F8,CM-'/C MT6_!B4)$(RZIRQRO@IPMK[MZ/V$':X/CI!2S)5FWW!.V\4.A:^V$N]9.T+5V M BJ&.!UA*D:R5,-D(EW!+-LX(58E&G,KD=3BTD&%-G5#EETO4]"0HTV.<47V M**7^A*>]4\@ YPT)K=V%'6."CG5/F3&?;565C5_N\Y;4Y#.$SU^ M5'GF#X.QE@^-+QVWAD?7#(VO-+"G>;'/T/@2@"O9\"K'NZQ<;'RE?E7-7,,J MJQK!\47#D\K"256/9Z_4:ZO56#V>W=IZ/%MYWK@J!;N*!U.0\+O5XL1E=BIO MS,S89NTZ!(AM?&,N.]&N+5L:TAF?FLVG -'X1TIF#!R?=]7.3AF@I[R1"O"( MXD=QU9;J-;K.8BFE1:#+RE].^K78U F ST,K48RL!MV>^BO?;'#*W?T/SJ/\ MF-LC_[!DIZN^]C:P?L7^L_SB;UV(# 7N7YCFBCJEB"U"V9]"BL5I$639ZN MVT"\''TZ_">^ O]935M2^T\!=>=,^T/6_PL'G"?"M0L_/D7.2#IPE>ZJ.12U MJL 8)P43'V+6KW!%L]'8#Z>,HEI1Z'.O*.5CD,].^AAQZX!.87&\1HG]\"O7Q!_5G%C,>3*,9L"CP4!P-LB@<4F:N[2_C6%W2(^L-L;X!/=P.^!^_\EC/E"9" M2Z2F.!4H_09@U%> M62"J[P27OJ?2-TH@=X(/<$L[.*67\4IJ$4:9(W72(-1@@H%!!W!5\-4F< 3XZ"$AS^_# M"/UH:OY35PONY>3"PZ=NFG6$7(Z]3G!K1(K]M*0PQSK$H* O1FQ1K[$LY$'D M8'8"^YHNEZ>G\S^:'5E%KWX^Q*M%D@@(UJ#OC:DCAB\KYQ '2GB0;$"=1$0\ ME1:/F0T,$WXRT%B9>/.2U^XCGZHJ&3:*RV.M5H9(W(<6NI#IP$/0N@(=?B(A5NG=TEJ)[ M2X3F>5C2>24GA A7\9OH0=P\S6;C_+WW03*B4ONS@Z8G#R.TND&QQ@B*.0,$)-L,S&*C\Y,4*?)1*Q8YK_23-+XFP $@Q1[G8_I"=EJE-EI CA3X[/D3.==QX=MZM+'%[R2_08A*!Q\42@=%O_DS M< ^0NGB,(NT)T(Y,B:->C6#]]7D*"?[%24-"A;_Q1/*Y!]0&9"0110ZFXLL\ MDDM)&TOTD$R6[0W3A3.["%-@6F%^@S'[1; MZD=MYVV<=NW%9E-(?>6GC M_LX\M[W.&W%\UK+/6\7>L/EFVC,9EB<+\ J+)),F)HO'Q:'I,BN7+&)Q+F!Z MK.^(M POX@O2##[511(S*4\DK-=+N<$&4?_&-.?;P5<9'4QUS;=TRCNJVXOZ M;!$<];X7A20;$9[EYL&,[)0D4S(5\'#O)(IX#8&[G501]0I!0SR/9M4(]V4K MC7"70X2/0U-^<#Y+%X/=(F\4V\^Q.#.Z,Q;E&-C/A[.8UD25\M+131%3+;;L M2X.M0QR/E\5A6?F ?044]\B?9IKBRW0C4=J.<_X\M"RH10DW%/48 M.SIWZ)9,,P %(+29VFA88&2#G0"&T4LRA/^@/WLJTJE ,*2]Y4;%L::%G/=L M49W>Q49Q+H<5&XV'#O)0IE(^[.$,-J$ENFO:6+ZP20$I.'"9XC>)T<)\SG^JE< MOUGQW_-\]&A6*D8N]>+__7_^P1.:^L!\8^2 X(GN6?Q=B!_Z7;SRT^W]YR_W M)]>WW[YU[QZ^_"1_F)^%D0=.C]CVIX8>:N=[4=%Y+;' HZ8Q/SG/H>>*Q]QL MI+CS0WJLQ"U]I/W#1^KV#HJ$B"8#F K!95P&A-GY['6:9>O,>?M2+YV34%,> M K3>X$C77F_1^RV\1$Y$ H2\;;%*$;MP-8F%6Q__?UB-N5R&BUN% CD*3O3:@^)ZQ?T((=O,E/A)4,FF;PL>_ZU$%5;L@B.)PTBP!5!RPODF"%5O+#&Y2I0JRJ_!'BBE MB"<;E/?)*.63I5EDZVKH-::#4)<\_"%UAZ2I4+)RF,L]]>'8F:I/*!:#KA$6 MQ"+D*B8:,MR)*LS6 MY5KN6.=D+ M^>6 FY5)E"W_+<'J6\ONG:4<;3BY=[C&Z@6\+06X'LC'E>EJBA>.$7)>MBFK.\[WH@WVY;=S#2O?\7;&M+PU\'S1AYS7_&GM728)67E3EH@26;VT=NC!02."E5@)M:O(XXW4 M;M0+N7_7B[D2ALU.7YC,R:/V;$#%2.P\MQ =,(!U(O"O] .#M.=.U9$HV5% MKHXD'(RTSLW,8A-SB7M'':6G3(&97),A.C53[-<]54)@K#4QO$:XVN;XGS M:!B*: QU!S2]L0#Q'HI?*G/])'?+9JU#_BVHR0P6^ *,3+DEGY )1 MAP;1\T#$,I]0.J;-Q+0Z_LA)J/V5B@P^BW$%,C=*'RA1YL%(MZ-U?4:H$3Y$*SRM_+2.U6USG].7#%: M)! =.%6:513VM($P(Y#^6@:6&E;P%(*PR+84IT XW"R11_-;>*]$M;;3'V+; M4;W3G+YM.7V"UCVUOF8G:0@BX/T?B@#AQ0N%K#4JB64[/E:1E;BO9JN(Q,# M40=L*9:X]ND-W)M5.^7CRWXT;6%V7U!DO9! M4%U4")Q:ECMOPB^;Y$JVR*=6#W*C OF4#=D3$*/VLJU*HL/!)JXG2(D3E[)S M7V:'R,E'..U.K2>K6&@"P.E2"MAVO*2F]:CV:C3'I_ MBDD?BBW1%TN%2NLX/3_#9\_4+LWT 5Y56TAA9ZG$/4O+W"L8T&&_[V#Z('$$ M<5FZ@IXWA"U>P)Q3@Z'$F!TU&"<)!9-G[%]Q0T=>_!>VB/$P"\4OFKP#'XAZ MXJ@&*K(!#&]5A+T&7X4XX V8N-=?E&J(-NN?9^P[8KK^ L<0D=;R.(J@,OWXC*YK%Z)0T A2C3,M/ER":I9GZEJRZ<3:\JJ%8*KNG,W3IB_LS4 M&DUB[7RTB^(W[/PL'47]O$TU?@-EK),;Q4.?VUKQM/B QM?1SQR-/!$8Q;92 M)15WB"9/X9Z:T,ZAC"6 [Q3/7B 4V?>ME$OX8&/NR^+KR2Z#)*.(;?"CB,%5 M&/,O(U7]^![7_B -&[WQ);JHY,Q$299P,U$\F%HEEOGJ"!UP%M)\TY116PBI M=!517(%:MVSOS>F;>[PD?667L1S1*T!M[#T[?3JE4C214GLC!:%P3*2YLT(% M**XJ\RS%%[51QD7)')+G[T0T$>_Q$8OBU;=NOES%91D8_1TXR]V$A.(*$+BM-FFMA< M(%,I/38BP4LFUP%0=.96*U+VL4M3'E>.V5@88!^5IS0XH'".@34 M=M.\XNM)\WQYTK9*,@&L&:D %L\%^/@N'_T5_TEC\3Q.:V',_:,E$ZPP%F_Q M8+ 5/?7>-SM L/*?#Q_?_3@S&MYLG[8N-<+B&^>![_S>Q<=O#HCO/"H]\RJ0 M70BNTSG4:0G-EILDXWRU(E;6(^1E..YC)A# \S8WRH."(H@@JL*QV&K#:I&N MU035JHOSR&4/SB(GKW=5U>GF[H*>%UJ_HO,5]/$]7].W@=6=/*&)>"8KGU]8 M.C,^N]=OWZ[3$4KZ7V2+$+06K!L?#AIZL?"PP6LF.#H4N)D\[MC-@I0 ##", MN?&9=A#SG1[S^3,L0JO;Z?7H!^#E9S8-(]'%G\%O/EB.UH!A>Y38YC$$.5L\ M.T\97[L@?EHBA:[U)1Y%H1T I9F719=_-,ZD+%(__]&5O;U^!P.$H"6 !09G M%YTV.B/HS2GD5K2_;[9#1?/BM#FS1<7^JKZ<]+R4/\![>5.-H9OI7@8T]@4> M3::6LAGO)A$81C&S%-0M5WIS /E9$L\VOBI\4_6[Z?&\9F<4XN0Z(+%?'KY_ MMOX)LA4I]3J,QJ'LF".[KL$#*2_PIE1D*TEG#.Y%9QQ.S)F/3O$PZJS4T:FP M16+2L?AX4E"!;@?_#I$;)23Y4T#E97D!NR-N.!O3J;NEB/ND MM8BZ&XT".8)RE$&+A"SY.]Z4HDF2,Z!H!ESIU1L!Z/"J)UUA_RJ'X6R[&.9HP9@*A&YCRU M?AOGDBO$FS,NS2QK8R,*G% /YPDQ>A2^(&%AJ9?G>DZ4"NWOX;-C8QN?_=R1 MH(\(UQML4KEMJ=@F/6<9A!&Z 7O!@)74Z]+3V?D+*=>G5"V($'\ \M*N6-H$ MV%3.7]8]4,^W'])+\AB2](L9M(;3LXH MP$$6Z#T:LXBGG#(NK&'94L%L\TX)\$WTB-KKR.EO93B@M&CG;%N]O*'GEDP$6D!*DY68C%$ M:K:H*_.QRYS9Z?@R5Z39:W 0R64%+38K@ FH/LW79*ZZX#'/G*H3>?J"^E7( M"WG'%'K_\!3E?"HFS]7,# )/T^EPEB?=6SB"$3Y*L\\2UA\&WG\F<\9 +^S7 MH_KS..E4+8U4TDQ+:LX;\X(+K8Q &UV>YDMJ?6;T0E@M'TU/?T-@R%2R#$7H M*5$$=;A418^D-(NM-.#'*T7(/4+?4+V9678LLDC&RT8:\Q0A\V.+!;P4TL^- M+%T"^TA2:5O16)M-+S@HUUI(CZZ*T'.B1B8(N]J38S:==+0M0[M](D*RWHAI M$_OACPDE*\RI40>.0E3.6KVNFL7EDV(_5(3AOI;/.9]>F+I5F: M_$X)=BX2'9K#?*(Y82#'AT((\X2,3",D"0.TV',T5Q.44W4HM6KA5.*XM$JM+*M% MLC^)9D:.J-(:I-/M3WAEQ]\U.W_DVR"\.3=AHXT#^ Y7.$YKN;8!VTF4D"\*)KY?%J!_T["W"E?_ M<\"O@*7V@DR.A_Z0N1.?W0[NE7)QHRP$NK)4> DNH6^I-B6J5PG2&\SYVX+\ MW'H&QVXD*G79I/Z9I)\3A<>B6:',!YZOATH].>LPT'4Y>;FFQ7/E1B1O:KN, MHBVS:XONC)\6Y5'H$&L5D;V5IFJ\'1HV"/&=<0QOEC^]J<^7$/#GER#?1<,U M_0#T"Q<1XL]9JL@W9-/6U_ZMMRLJZ54;KIC>4=-;%7Y&PR M*[TC)3)F=S?5B%/0YHR%_OZ&;^MV!ED2'Y6*O[R3JZCLHY*TA+J/<(,_?$F; M:ZX4,,X[GMK*\=1>X'BZ*J8_O@D%.A:WQ4L+6(:ZU:[>;[9(XK/X3.>>Y1FO MG&&ZLEGJO>J@NC_^>?,2>V8BGA+$GTSAN2M6:MOMJV+[JLIST[HW4ZW8["9X MAN7#:&J8:TWF4A#<$3=U[(MF,5.K\MQT2$QS)Y(+;0L[P/&13E]DI8IAI#49 M24*58"IT/H+HCACKS&Z5Y#M7GK&.XYK22 DK>F0^&2(7&8Q/A1\!+E9F^2D7;,+RW[HEU#?CF*JTHY+N[D M@!;0#DFP6L(.MS3Z.3!V>[]SIX;VAYTQW]GEV6:9[\,"[M/8:/RZ@%D6XG<] MPIKQK=73W43 F>?EC%\MRKZCC*.&;>'_/LSBK%R[G#IM\5#4D?:NI"A/M56% MA51DNTU9N3"X)VA"@J9UVADGEAM.**7:AWOMX^(PRP9>LC-[06HTI;+W.]N5 M4=Z\L)NMK;N[TOEQ^0*YA6-_BD. UIH!M" )<-\Y@.U5<@#/WLW.J"T;3'"> M3\RWLIGY*XL4D7>E"3;Y23;-^;&TJF-.N1H6)J6I:MC[8SSVI[)\122,4S&5 MTQ]BZ927F:2GUREY6J-_O08L/U\1ZX0RXQ?Y!'8Q6Y&W((\H!UEK>.[H4UC; MF?=JK?67GEE_*FO@_C\VS52F>;F).?/!J<;'6.^;0N-).U].8C:8^' ;#-0W MD\@!<@!A]B/]A&<630,F,6 1%&K5O]=ZWQ(K4I5*.'7\9$H5;+C8'",0#TSG MO1WDG2$: &C*[=Q1+W_DG[[G>[B'+>A%$_G''J=CMDQSDYOO7Y=O;](XO2B* MS!]LZWW[0PH[)TDBGH2Y3S!=B^UTY6[V K#FY6E)0Q@ V-F';#WDOL#T66QB M/]"Y*H,.<>+[CF [;SB0602C^R41+7E52QPOQL+0FIB*:$_CG M7$TE6"Z1_"M6 [)OWG/1GZD,R!C[3-P.2G2A#::2[V&"SP&EDA>K*^6MZ^G. M_Y+;.7#5Z(?T;8*V6^$J*(XM7;$N:CJ_%YKX@*"C)G>NI6JK[FX"Q]GZR&;-[ MWL:,S50NY\[Q5KXC:!A2Q+YZ 3OHW*U_?@H M_6_[DKU;Y+*M"^ 4CMW I5^^(R3W+H+/6D8 5U, ;YIB*B"" M9GQI*PD!;Y*Z*QF1=3O&3G"ZL\41#0C-O!I MS#RESU!3^BGN30R!"_;4#.:[SI+BMR\ TW>BB)(6 MM>[G.KQ*._K?B9/)C.%^=JK9W8T:B18SZE2_5!9/V=RQ*/R*-'Z3-L0V.3H[ MRM&1+<]S65QJT 1O=HMB(DWF=)?OI"S[VHO>X?F)>_DFWQ_@83"(GX:RX;(E M>RT36^)@,,HIVDY^3X43=];OZ[ARXL[EZHD[Y_7.LMG=K-W2]HT;S56H0&[/ M=D&(PF ;@#M,3U_58HWW_(XY9%]?IM(\,^J!CC[/O;<_@V.%\JR6W9G5CI^0V&-%%-YHOH]!&#T5P:$X7E M37Y($\S0#3A!GX>P M$/X(W&1$_HW,R,H7+B;)&&FG6&0YQPIC+.Q_30 $SG M#O*9;MR]&(1@J.#,YOFFVPK0XF[8*3JDT)45YF?ZGBYA'EXNV_AWPV2XH:;S M*T"KV.AY%GC,U*&- S\WK.ARP;"BU)&VJXE%L\K>TYVL5C]^MDK]>*?R@XM6 MFL-T_FXFZJH\MVCC0#M?!6@7,X7D=@#U<^[@V;/.EX9E[1DLWI_!TA^G#@UR MBUI#AISU0!^MTZ2A#&:;E='9C8**M_511_2S,F7>))^U];P$4-(O/O[/, M%^;[O+%D=K#]-Z^/DP/3V?;+7)XK;[C\^MV05GV^E;OW-K#^-<'($W6;:'!W MOLW#4M_#9\>Z"?JG%O$*10M -7."I2#,X^PI5F@A&7+"0__S]_1A%8#"];E: MBN\A$19[S\S&N,.8)1/'MS$FYKLG.#H:;&;^5OA:.O:=I6]5$;6!CSR+)MI? M- H]P3B_C*-_"AF&U"XN+RS'B_J1,\"V&:G-K/^+H9;\[J56SE>4'2S&SI2/ M4X7-I6!0C4- W8CC="BX"K#$CL_22*W8*IS?&6/C!ZJ7'F-T%MN*X!1[^:@ MA2OCF!2O%%#SDBD/'^K=-6(<>SQ--Z0&9>IS8:=D>< +X9&(@DDB<(G&BWP1 M/A*#9,9'<'JMW)DT5OBVJ<< '1,'M_OLQ/6>/ J+9D1P6<^E5:EZY+DG/'N( MOT2T^ %HH-@'=8J@EL$ AT\!LRI0YO#3Q'+RV=/$@1,E#/Z$,TI'DU$IXGL" M>*+W"[XKX7'AM-D)AHH%9'M3C532;9CL,D8#1-'5T/@ NH( M?WIP;4'2A.AT\HL\#'97&'E\#'"73,GYZ13B^W?BQ)\G[";X#@\_P@&>V:_P MS:%PIW2_W3X6G]ZP+Z71L!LE?: 1^K#=,WOWX/A?0,CC2[@[&+3FPZ"S)QA\ M#2?1[H"P%RR#1LIVB.=VNQ3/LQ!_3D(8?KBPZ:?]4 %:YMWCO=DPW8RW?]$3O51[ M,^F)M[0&0+$MNYLA25/N$^_@BZEE7!D!+5(;0,H]^*=9QZ4V=;%^L)SK^3/4 M-R-9*I[T,/"GA6&WL*[PX7,]/4OXHLT@_Y), M579&8910QJ-*S"QIL)?N@VNN,Y10*^R!Y>.HI&+9;*EP.#U[\X5%3#C\\0R) MU#:I/V&FS],LU?=T06A@/LZLU!V+-@!@;4_$4]P(=PJY"!N'#R:>L;\, *PE MVZ$M4:BJUXJ:W,I=Y58NU/G]TO?S+60F1_),^[QU/ M08-L.[2UB(+B=G,R/LMR,_9)/!+(H$R@/IWUE?ZZG@N4R0M_N1]Y"5[+U.+HRCW6FLU(FS-;Z9V7$L[3F7MARK'!4LG^B^3E3'VIW>5X4H M0L%5-1MF)NZUJBMQEI_>G? PA!Q9@LD@>F:.?"X6SF*>A#,>^\!QZ%O+C#JQ M1@RIQ\M%@'@RF#!D>#/X\86*F8S=P MOX>!^.6S.@SI!G,U@D57=V?I3AI@TQ1COJ*'!CIHX;#YHG1;)/H@>):+C']Y M'6.ZU9*>]\T=K5@KI(Z61FPPZB3\I*KMQG113,;P[:S7=L%F1E!C&8S*V$HG M@%'"'B+C&:"LPG@*&R+U2S1.4+E?4*)SAH MY3] L+!KI%Y.L2\TM0RQ/#.;HY1YBZD<*=<9+GG7"D#&2F-C_)B1 M')>[D1Q5U,*^APFSVI2SW/HHL&O=:VW!EB[YJG3.^6Z@6]#FBQOY'=LQ16 ? M*0;/9&$C0[_WQ)"TH1.Y+YCHK!0%VZ+<8NPD#]^FG^.*EP\ M9EA?":+H]LNO_$\H^.-I#%(%\[[#B =/0=HX>A*3?(0K@E[4"^'F2->>Q.G5 MHR>_4]& (*] 5N 6[+0.%!\:H7Q'B253XFT AJ=F/XHT$I"$DQ&? M"39!953U%L)#4,ZZ#8#I,1^.DCA/,2I:?^'/82 A$'F]'J9RX?+I^ICC+C:" MK?M80*V[8,,,(##FXS!QB)WW++XBLLXM1^9NQV^AT=.9K#;#&':7JJU+9>?2 M]52-/YK9(C1K0757,:^C2O-H\3@KG+VUVTMFZ_D5JUT[NZV@NI>U*/ 7YPG8 MZ$F.R@6I,D)1\,3"I\@9@ZHD&]\)#OT3A(GLGY=,QRQ>ILM7CG-FZCF?T^T MA=P.Q#ZI_G';2DX[ER>UAL9%^Z@YW^6.,.<08!2R&@91"P7P0T38_$E=)H M*M2[#;V=H$ _H(?P*&9@+O!(?GD5G@$,0L/_W$?G=;FH]V\/<90\2$_K+YIJ MN=FLCZNF?=6\J.X0EU/#>VMG>#^_M)N76^N%:?"^&.\-#>_-G>']H@'\ MOMWVBZ8'ZMM[H$ZB<+RO5L.['V2ZM5N4PY&';'?#7^VF31IL_>5JKZGN MA0RNT)(T9%"A.W;W9-"Z FEP5;/;UIBS\AJ^=@+'=[/[4YS:Y+6X'ZM"W=7N._8G8NSFMVR1W>9=F//7*5OODH1 MBKO48#MV^^P@W(2UIH'LE;I[&KAJG1L:J-35NGL::#;J-CK+&++*D&5(>S[E M+CZ$DV1H=2GOT%S(;[=M.6B[@4N %7#=)6N>V9U+8_GLFRIR5N_>J:)MM[8W M9LU0Q7KV< 6HXJI3UN:CRM?XT=W6M\F01>9F?NO-3&",K['>-_)8O$LV:]JM M><@9\,9EI^9>$E=;K*V>\T$?+]/]*6RDMW?>K+7N>K=99K+5*9[%V%AZK M];C.C[1:QO;;RJ2VRTT.:EM 0&_I)+DCH.RH6[K6?^_KB'I^48)%\?%'O<&-11UNX%6.-8S0ROI;$O95 MEYY@XOMEC?"HR1^V_41;CYIZ_N@L20/EC3$SQRMX_L@@4PQOE0J:"K;4/%_] M2^VYK34W(]P/K+/AK\4VEUMM:*A?TZ@SFHZ&U6\_N(4EMQ#V,!T-4^EM.AH> M&0),1T/3T?"((\3E3JI_BO$&)NK[AA1;"<0[KB*F673B@]OH@0\IV'#%2\L^ M.XRJU+J203:U=D]DT&[:9U<'D69=5S+(IM3NBPS.[*9I:;BWB_1!C,$Q!2MO MO4TE)'?$-Y6)#ZU'[L=R/OPVG>\4>[2Z\:W0;.5=H1G M44CWCKPWE0^+4OCEI_$R'JPS=3.>+TJ\.&V5)&%5OKJM4*,QJUX0WNTC?H < M>L &0##>,Z#5B0&K$8LG?B(IH8\H@H]]/WRAHH4)+!]97R,6](>6[[S \SX0 M>O"$BV%:)\(*R*(?CL9 44 8_3!.8B3#H?/,@ ;[DPB)$8,_+[ /5=V$"]!? MX5^+&!8_B3%D.+4<20= A!Z2Z,+9@+<"W!NLV(4O M^L03]&KQ5MKX, HG3T/\6^?4ZL9X]G\YP+_1E(.KW;3QCVT;*#Q7W+>0VL,L MM0NM\)[UPZ< ,.LN.1QC@VS069H-FJ?%Y*,L ;T R43J+!;]1@=$B O4D&O$ M24C^ %4PX /1B#"/+RZ59H >%@3Y,PZC1% N?I&+(!8GL&%\0SSTQKARK)"* M3\&ZB-,,J?!7GEJ/\&'/\9T 2,OCAXEP%R@2X94N&S B5W$N&W.8AQ;1,!P M*2E3,:8IRI;0E%>N90)PGX@7V)S24F;A["KA30)=0KSG@!4!4EP#PLAQF3RY MXAMW$B'5#SRD FO*'/@,0'Q&+^$\(-XZL]KS/+5#R0STO-7.$YBPE8 M7Y Y"TI=+MM@$S8%TO-O3CS4OT>(!;P&9<(F88R",F04,ZZZ;5+^-Z(RH1)= MF[YK3*B33CW$VAM,TM&<>O2C !/Z"^.*J!+I; =,0&\&>B8!6?,YL&;RN")3 MS5GX1I83ZNKP9,%K<'D.J.#.G!$$K(7MDOWR"'8S,T,=)=0+"/4K9K+((L.9 MS)Y1V/DSK%.0V93:K@9$P*VKB 2R'O%[I 0'J-X)!!Z71&C3)6PIOQ >%$;@ M&XQB;?JWI]M<2^=6XE1;,K@!Z;?)-:=KAZ+\)W\# >-C@!"%5AFZ'GS!QA_Z M+);F.73N&2#8YKY^ZD1."=_3W+:>R2^Q#DHQGA*N)["P\+[+P :]?&9ZR[6P M..%/L!W^RX[#+3NP.6-D$:9Q!CO^ 2;7T?K#9Z$-@T JW7=PT@$:!S. M9 '=ZXE>FY=#8A<811M[A3!/8&\X!.8K_GE?G-G@\B($333=GMK:W(TX M*C1,?YXR#7KM<+;P-S!O;1V@"T+5IG/L]8$.&0 .7+YRP&8&"$T9]&Q-Z-SL M+FVZ0&$/4IGOF\D@%\2^ZSMUQ/>ZN8\3*Z775$9GC)U:,6D!E04&/6=UL"]M M/@=HH(:SBNZ&1.Y!7C;5EP;E>H\.&A)P +$%LEOG):\BX1VO_8Y"K;I.DSN_H; MW4O#+^3J2HF#E@F.F-^,Z_U".9SKMN.FR-" 2/JE+@2EE*ND,;]=M> I MDNY4P+LSKH-THMZ]A#H6&+@@?[EM#4)W!F9V<#!15X4+0:WUGCUNTL>,HW5_ M4=,XZ5:5<).)#"K&5\M\>J#V,PX:70!<\'--:D>WG5+=5*&&"&3 HQ)[:F4E M^/LE5L[0]84Q8>X1Y4&G(#@;AN8J-4-*);(ZS9 D^*+O2MR+L-5$-PP&V8+Q MB,V-E+/DU!$UY8YM477ESG[ME[->)\7]GAV[V+W]=/PU^[=_SCBLE71QI_-*SI7SF-" I<=(G[ ML3VZJ2NV:(S4>LB4EL)F+XF6! M24@9@4YHXT=X,N:UIK;^SC2;4[I^5P6=Z!M+TT&*MA_/Z@?.OQ&Z-I.)05-Q M+C1W0O Y[G5#Q_.T7N1I@"[9C^A$_"6B\S)ZS.?/W$%&WKO)'K%:H JN1505_N[J"NQMP;>7^UBF)J MOEF:%G8(5"BLUXCUWN&QWDB.M3XP0P(:KFVBP %)^#?;P/GBUW>%)6R*\2^9=A1,S'>A 54[@_;MSS"-9TQ1#_8&NF8W"\,T*8_<=S M7(RE*C(X;C+X1EW%_4\3]4KTGS#RE>@_7=PKT:_(0';1OX@IZ#7Q:0IZ"GH*>DU\V@E#+ZGKU]":G^GP))*F%%>?S]=Z MM)PG;)@#:_S]1FG\?N4'I_*@)4O MD6:4UIHP:Y$EK^P?]2RJ>)/V#>G#S.>\L>SGNT\J/I$XT>8I&Q[]<<6[=AJ: MPSIV?A=6YI5E+RW>VB/ZI(^> SN'2Z=_>[K#RL=+GC/HZ;,&778&F?.',_YZ[6&W93Q M.5)1E3)GFG E3FCZ*Y16M:VAK5'P^.'$]DY?(X\O5)B=Q>)++V?IE-*Y_/C M#NHU*XWO[OKA\]4^27P'X\!2BR6U"$4>:A&*/-0B%'FH12CR4(M0Y*$6(=DB M%'FH12CR4(NHRR%VW'ZO9B:S$Y7'WK25-3:9_L++>/P EOE IPO3,JRG MU>>_/7V)#1L.%YJ>]%5JB+Q$+^_*#IX?YN.H;">YB5[>E1W<=CJ1$]IM#8>R"TQE M.TFY,F4[*>*3B_CD3\&76Q3TQK*[T52&OLK0#][Z8%O_T:A&*/-0B)%N$(H]3783*TS_Z//W//W3' MA2LY[D,_PG4"6)2+FR_!)/,RQWT_'[8MGP'M,?[QN9[!L.]3V! MLW@^D/P@JG,HX\KJK34XBI/6[ZNC)B]!R[NRNBL)CN*P*2-/;J*6=V4'-_*. MY 1V6^.1["=0&7E2KDP>(^]8SJ*2A1*3N[PKJ[5!1W^"M MG^#(V?JCYUIBVGC0G$W%?>5=6=UQWPB5!/310-Y\WF\<;U;'38*5'=PE<#0G M<#B92'X"E4M RI7)XQ(XFK.H? (2T[N\*ZLW\GLD9ZT_'JG#)BU)R[NRNF._ M1W+\9Q%I7O*2^_RKJS>X.^Q MG#4UE/XD:GN;U=GN7Y9)5Z_44'WMU"*.3AY+#12U"$4>:A&*/-0B%'FH12CR M4(M0Y*$6(=DB%'F:0R_-V5=] M2DWX]&13BH')Z L>5DMZ,[^T;7@V^['L/-#6N'F#>M0YE&!E!\^7.?*CV>VV MSKNR'TV52"/ERM0X145\RTOK\JZLL3/H93R'8";U M!K+K8NH??!P&%/W5WP1RJPI_ZQ;+90R+] M?)P<_7Y*"X64V"&VU5%97A*3O+PK.WAVR6F]%2(1%Y*EW=EQQ@BD>I82GXJ56A$RI6= MJFZNB$^"E34\-"(1^^^/99_UJ$Z@C"M3[%\1GR(^17Q-@)0B/D5\BO@:37S) MB$@DM+'\L26RL4:=&-P(WU&V/B1$MB [QXM>T9M?A%LCSB6 MH<^(_?3XKM,B^'_OLT(=A8ZM-.M3R)!H?0H9$JU/(4.B]2ED2+0^A0R)UJ>0 M(='Z%#(D6E\4H*IB_G1;288A'<)C.BUB4E3_Q;+A/>:59]O4G*X>;,UT M>&N@L>>@A,RJ$DN[NZU>7_9,5D7LQTSLVV>L ME9BU-VH-^DK-5^3>+#6_Q!/0';<&7=D+BI2:WX0C5JISI]>1G>NKY+4P@M9?_B SR\.HAYPAOE(6J- AU0(5.J1:H$*'5 M4 MZ)!J@0H=4BU0H4.J!2IT2+7 1#(;_*/!(W\ET;5-#:K9N.K%Q;/VPW]V)S [ M_90Q7.,;D?9$?*/NF_=,;7T:?V+LML';M3RS#>EQI!O-&^-)?;V,[+(X@(OF M=^V=5<976CRMC+@+2AP*]O>,_.UI-MQ.K#E!P[M%7BD!T%& W(Q=9]-G#0QY M\XEX#IU[!F!_3O%R_'%ITS/Z0W=<_'WJ3WA!PYY->+$C$UZ('O@ '#3923!6 MG%R;L *37:D9+?ASVB;OL.ZLU[D(KF)_=R_>D[EM/9-8_EN,#/([(>[\G46= MT;?P#&O67?-.='K?.]PS\6!%VCQ(.6(]X@XY R1_F'GV"D[7FU]'B0.#WSM M*T2!, +"[XFX16)ST6=<+?#F:_-R.K4\$T_"9S@/@ +Z<87/WX*5L,?9&EHT M.)UX3O"A1DGKL@6N1L^X?Z" CASGMZPLLXQ&$9#W2Z,"W#>EI]_MO3EXCF*\M> M6C;[-4?WE0W8&V2?*<9D82LHRLZ0]P9XX<"/LO]4YV-A>=)\W)5_\NHEA^1A M/L,?A,(2/VYM\B-2!,:4,1E;2%Y^EP8\ QX*U.7: M^J/')#N^>6HYKEA%_&W$ N43O];M4$5XH4Z;/"S\+<'U238EMA3J 044"!V8 M&F5+LRF#@X:["U^F!21!J* )_!HIE^W9S;4TSG9K6I:[T%Q\ )W/ 5EP[^,J MZU[ K#G5EP:-PMAA%T5W85/',_!)^ /YQX:HY2)8B#_C\8XF2\Y-' M'RQ^UD!61G[_G?&SQK.(;<&F81!L&FT+-K63K;&X_0.*O8$PGPE )W!%.:P9 M<6[&%:C' E??J M_ %0C&+HV@2(X8N+(4F@J@"9=P!@YH4E=_!N@$JAC2[8! MPHVD_]%,L*%6_ '];HN=YC;QC=1T"SS-I&367-1N# M7_&?S:'9Z^PM>KK]]R0C6,M$)R'FU[)E#S6WA MY#W7W(VL>5M\N<":32LEMKSV!=&#I3/-,)08(!]P^004"%_.;1_SO(> MIM55!AP\YJM+U,XRZRVPQTBJ@R^2/3.EZ.^*_\R=T)/V4#>CB398MGH1*V'5 M/-?RO[&Y!Q:_XLP3B4('J#!ZTF?_?/, C[JGJ/S#-]_'P_&XVP?"V&PJWD\7 M=.89U)IO2F;S7,^F*=KB WIW\;T?#6OZ5TY60H$0EP@EVZ,;*H;K\>/*XJCU M5:!9NJ;HGPD3($0VKG\."!3$/-?QR(MS!,:&AKY8P[!>G0\DY02DYC#%X;@Q MGA"/"F! *F#3,':6VJS&8#AGV\Z;]C? BSL;_'*CS=WGS[?G5W=?/UZ>7O_ M^8/_(7>I^P36R4]6M]-Y>\&#&Q\ZXOQ\Z(BCDY%H)780SQ)C3QL-WK[)&X01 M"^C%[MCZ43VRE$=6T#YALG4JCA]8%!0>'HCVD/&:=RP"8WD.2"GG??Y 9=;S MXJWY@J>!;((S9?[S32\X4"*Z)Q[0;7> +XEV%3]UV/\NTN&>D%YEA[Y>><3O MT3)FR:M!1@QV:WBP&60*]'E /U2@/Q3H1PKTAP+]6('^4*"?5 9ZN;HI CD;FB4U50I:GOD-UO2DWLVVR(%LY(RB#@E%BI"H1G/^@SFL2>^(=+'97/;BA4C=(?]%O'_ M>7_QYN?X$J-@Z+=[DTAX@B^[/1JGK%Q\?1$U4PFS4V'1&@$5 ;C*3ZXU#:QL MTS.,M!(%%@7# "8FTF P\Y>?M2VD6%U8,#/2=VV^P$LM>_5)=Z:&Y7CVGI&[ M;#J99-FSNYNJ15T+WRR7DJ&89^-O78<'QRD]3V@4(_("=+R=AUM"V#,+>*.* M4H5@C<]+RPQ#[6Q'&R.)""X!)\VF*='#S%.X8\B0U!XS9+#CYVX\*C%F."X> M,QR6'SK+_\A#A,[*57T#I^CHS6;0'-;CN9['4LC[F:59RA;S5/[O_/[OO@H] M' KTO2:%'G*STX()!WG9:F\S6]V1C3=A>2J.M&LB=WL>KW6N%-9.*@B MMG8\W*O\DMVR'_BG92.JSFYMZ\FFCI-TY=5^3O=]PAZ'%:%Q;0(LIK2V>3K= M5G=0=)B(E/RU"7@KLU%H:S!I&F<] 841(X3.@L[(;Y8U.Y2B>,"CX.^?;;^N M+*)^JU=X#HSB83LBKMQFQQ5FEB296(&FQ)400A5=STYMPJC"@@Q8.)SI=7J< MN<[IFB,PV(<#)4JK15B)(G30;YUW*[/?E!VPJQT0$ .YHPZU7PY5__?**CAR M?51A008LG)Q5<)B87GU#9X?=5K]W%.: E)@JL)(@)]F#X:L:(/G;.GVZI=HT&?+Q'[BK"#.[UR] ME]PJTM,P.2^4@]MO +BAI>&^^RBQ-V._G12^\7U8=: MM\&@)&*]NF]3A[*=0F8.; MQCEQ\)_HUNMKV=91'N$:<%9JKGBG.IRI*IPMW.JCIQLHV'D-X5>O76 RCM+08\[JRGI<> M3I8/0S:LY8,U=U\U^YC2=S>?@RMMJ;MPPW_IS >)#X-:=;1^ZWQ\% UJFX7" M,M4T+$U(QN%52I+*(&U80M*I8>'H3*!^75H$XZ]D8R;(R6@2F7DL=>H1PV&K M?WX4_NHF(;!$+6+8:4VJ:^Z@S*(M#.UR.O6>/8.-4OI$ES:@A>49'A$7VU(/ M%X% % #PV:#X 0Y&=/9#YJ&IB>$-NJUNIUSGZ D5/]:![#*K/LY;_4EUE:[* MQCI&[5YA008L*!MK5Y7D&W4#"TLB ZO6?)),P5-?;6AWT.I-CB**W@C,E>F8 M[;8&@QI-JF-4&DZO1E'A00X\_")1K6C41O*'*Q/XN-Q8_O6J9=:0^EPR^N"< MU6[EU8XF#:IXS2781#]>6FP;$'.+ZPYT8@)^X9;_5MTDRWC MCWN"#(1=Y[0YKG "W*-E_45>- ,>C!BS*7=,:A$GY2S*DD2!:>JN(F_5# MV M\JJ["W;YHP:;FU+_;O\M\-RE!O88-L/2IWP%SYJ.\Q+9Y4C\2(<.8,O&VYZM M%[AM;EO/[#FP2NMYJ9DK!!N6P*(UR9[LO]!94)I9MPU4@&\$2EAH+_CX*4J9 M&8.A2PR,.UDF>Q%BVG* =F #6X[OAE2!:UBK;K/DSFXNSO3]FV4*K)E/UR9L MEHI!N+_3YT=J>PZ^DO]P#S3 2.&K-66HNORA.UM80R?@#)UM72S/1ZU.)\G& MX1PM].F"Z([?S&#&* Z 9N,WL##R3HBQ]_C+9K2).QQ_+WD%0R^SU#ZSV#U3 MU8A8UY-8M=@FOI5BT*\5SF]E4\DJ.S:+M1?N+%KNGL$^DR--,V:Q\E&LX236 MW1V5==>]0-W=6I4WD+ATS'4LT=',:B@X, 1%L:[=) MJTDXEC!KM8&3F3,Y0,Q'&&A'N\VR3FE>T=Q9UC[Y49_\MO7)R 3QYC>3T$>, MVB.\^T @2"Z$:\XSU&V86I"YOFP!LZ5?2#J]I,W$CHYC1RN\2 ,1T><#G\09 MM/ )\&^F? 8SDUT71 P0QSXA!7SC"5 +IP,\U-"6#GSM?PI^BF$A;<<97KOL M=B1D/'E[D=:01/P\A"UEE+OOU)2DO,=F>"GS<"'6=R@9K"$L6K,.I^QE[L&? M"GFQRGQEQHNW]TCQ%U%IAK4KC1U[#\1E_Y'RE7.@.21JA8<1VE&?F6?VJVK9GNJB@AAII1<^/B,V_J M^OMGMI!F7!F:X^ASGB^=DI(=4!SZ%PK*GFI0["$QI;;OR MKE_0U>.O\\RATS/]Q]E"G\%+/_#_C(?C<7$)5E,M%>TYCHR6F&?N3?+PX1 M%*\]PW[N =!^G!8WC"H=M]K*M@SCTIPQ8 LZC:4NY/*SI#"9W=N];T+^R%3&URAUG62#*GYQ*,'@\&DG\QD/@008#4Q.8FE9T,A<9M M:"RSP+-36>Q*:7SEL+Y/%#!IDROK^5EG/N,3XWEKOG.F"X3 J%>Y&Q^DBETA MLH*.HS5.0%::W0;V=L-*JM;K*4Z3Q3%8)*M"ZDYHZ9U7=C@4,FOFO8YDRK.E*1M=.3[.M3*)%N?8VRLF1@_K5F,QY:?O=;_<[QF2GRH[#, M#*U65])Q",<@M4^O$91"BB0+W-"=*[*VJ4$U&U>]N'C6?OC/SBP^3F\0DFP8 MLJDIP2?ZZ);4Q('=HIO /R^!O^&C[JE!&0O[SA)X^OW^ADX/W8DDK1XF(C7P MRJ8SW2673S:EP;"GKY;Y=/9 [6>"D,O5PR2E 4'"[5*X U2RG!T_!W18O!5# M^O-8YY]I\O($;+9T&\@!CKT:8EV;2'TFI[:P3=/2LZ<+S6&]5BX=U[:(F.'6 MPD9(E]Z3Y[ADX/=.>A5]K%C?'M\HZ^PS M(PEXO,/7B[Y7ZT\)FF"Q=7[4S+_8^MCQU%KD6_NRW2*: S@T,>P9?=17]I7_ M@#;!CE>)16IBA7A?OM7R9D7P2EC'_WC&BO0[#"@=M@[_>8\K]L@ON@U0*PZ3 M5NPUOVN &M+CP._RQE7X]*_7'V_NR(.M@0G#D!F\*'[_)SIE+:."1\3@]/F' M[F!257(1 G;!^S*O3-GY.J1;)/)*'P;KS_&1U2*/U'VEE+>,NN(-H\)M,\0> MIIO<0X1.$E# ^:U@2SJL<]4[7?1^YUW97.2#AJ69?B.LI:V;4WVI&0 Y[!V4 MH[T8LM%K$\ZFAZ_[ AKM);LU3>.>?.\,>!^QR]F,48=F("_^"DNX?-%T@\YX M'['+KSPKL(.;.=\WO)YEW[$[.+8#9/,K M L"$+UK[@=WKKRKZHN0KRFMT.-K6D=+O:Q:B#%ML MHT 4F_#1_UST-XI>6Y M<*1-K&*&!2-+VGQPZB&&0 W9 ;4?6<^P +4/%AR!3/P*0CH(7L^W=AKEW)!A M;C[G72D9G_2_3?(L9#GO]. DX^&=VIA\&K2S>P(@/.$STE#(^QV^6,8+ZW;' MD3\7NR<:'D/6!@>]X)23"^MON 7U:;CZ7?NA/WO/'RW;9DV-KC149]S51FN\ M3G*X\^&PMNZ:J*/7:R=3L./D :>Z)L#O<@YW@M\^C+E$V ^W'[6MJ:4SIPO<+K0+&&\"2#M^*#.9<2=%M:V MRLF(V,O1VK@P"@(-!E 0:C,GA8)NKYVLLX_C(%0R,@5-:# L!0[P>#D>J#B/ M/M<2778]A_=P76HV,U:6VBIN'(*4PW;%O,UEY.6W_@5Q%\"4VB !S*#IKXNV MBB"/J>6X#C?+LF7D,RR -91]Q7[)CV*%J%]/+7N);>W8XI:60QT)+0(;V[3; M<(.[T#B#"\_,(\)19^#^VP-X4QN,21TT.LTP6)]@OP&QH3EH=JX0:Q1LX?@H)E+$P\/NB 2[,>\8C\YHOOFATS=E"TC==7^EF=( M/OX6"VZ$CM WH'W_L=_#QN 'I'&>CE7%6H1C;%MNH(\A#7:SW9(\X))PO% M,0_@N$W^I(PY ^,&JM$ 32O>TGT5?V(+^=OKPL(FSK8O6EJBC3OP4F9+XW_1 MP8>T ]YUKUGO'I)3$1:^UYXH%R3PGCG1EDL# M< 6BZ7VP0+ZFB*#+(3&Q:3QZG*I86(L\>LSNQQ?0%SQ4ID50/(H'Q0'-A3=> M&W4MA"M'&#M1 _(5% /$VTQT]?=E-;P1QP:$RD#V[MDC$(.Z"+Q$9BVX'F/_P$+'+'OZPAPYJF#Y2L.5QU _6+> M%H!@-@I YD?ZRE;5%SE- M:<(!@^_\>/_QW^0.'P"KF=$Y[&GF>V.V1%;6N\[NW,JX3)Q'UK-?Z])-_<%% M&%LT@]SG*!P,3C6U60=)2G^P818X@($GF/A?I$$Z$5%>:W$O KV\&$^?909[ M-T2$+Y? [&;!I=^[\666/ YB;<=K6\BSJ>1Z"VRNM[:YHK,IMBR_^.I[15;? MCZ]>FD$96X"RSCMB-)7(B,#7:H#=FC[".VYPX MYQ\]YH)R)U7*?Q@NH_K CU-#8&VS-?&)+*F*G?=0F=$VQ\P$? +D4?-L>C3FUHELHZ1I]Q95YL; EL=&)(1M MKSU,@^VCANY%BX]-BTVG,L!4L]&H8Y,T6FB"O'L,(OQSPYNZ'NM- V<1(836 M-5-S?>66G:P%L##*1Y $^0',"T=!_X;+YIXY$]HQ'K4Z\?R%+^$+K,#Y[(=' M[U^U)3YC(Y8/CH_ XPS,*C%!MDW91#HT]VUF M\L*]>JK143M>]CE_A\8,MJQ/PPQ+CWEYOSW=,@3CM3 @<6\,I%\L.R!3_#(? M-'>#2(S$?%7_;1GRD'4YB.\TS->)D$Z^W7.BCE[FM[4BZ76MK*M B<1Z=)>/:*34=_^# MW+"U5Y,L+3LZ+#3;R[B/^ICF@;\*EO6%TEMJH]T!@&K^R>DF$U?>,JS6#2-I M3U&GW4^#4?Y3A"Y1;C+E](2F^*_!G(.'6[8?!V$QW)BG&XG= HD!ECA="M!GW8G7BHV7W3 M?&^.W:P%G!C0]<@C_>]F6Q< ]&5KECT#@]3&^,&4ZDLWB-K7&K3GJ9(.$3.( M\X2$,.;QB!?XZ4(5Q74^L% MAT>[>4XQ/_/A(HO<&YTDB=H?8XN;S46XC$N8^&6LRS:9+@!#E"TAO(?'_=)O MTQP'CYJ59&)HPR#T:X:WH8-888< 5XW_A;/AZ#.=B7=A=!'1KQ7/BVY.,37 MS*SSU@K5VKG(S6>E%JS1%T]<>[9F; Q.5OE)FUSRBIV4 >)] MGE5*@=Y>J*_VZF:"BVN&X7/HD/+%TI/LY0",^2'0WE%F8/J':W#%79M.J4&9 M8RE,\Q)[X7J/0'D8R]>9>%R3AA'5/P>;]);"-K"FPO',R) E,\Q31 ;+AF!H MFM&YYAEN,&&>CY=OH9S$U"%FW/"K6VM9;._X'1$=C5&I@Z/ED4K%\1#T]&0C MHUFR-"'G_0>0]KJ!AT5PFM<%-44BQ2K,GFF%T6P\36PQFE H6*ZCL\1C$ 5O MBR6%\)PHL7VN,?AD! \"Q,"MJ)#S Q,"F*D",VOJ"9520$=?H*.)MM;NM,5[A7DS@L/&L!#@=$;F@ ^/Q;^?@%F M'F=[X0:C:\ '1]_OF0[LU&&G]C_>[(GKUD\:IIMM>Q+^YO,XS#"!4V%;QD$. MW0U"_-'0GQ)HVZ0^,$519%@Y%$X'9UVX2Q> S(679.#V@40=IG#[*K\0 M(^0=/QM(^AK(33I["K*ZN(X?$"MR2H+,%XGT\MLUN5S>MWBIYS?K12._/3_^ MB[&!\*O[R_OWJ;DZ40L&;WE$O\ S\/(GU$=\*?R*J1E ]Y%5P[U_XL'Y4[-? M=92<=PMK1LFU8\!C1*X3G+\G8-( !LJ@PK_>!B66S)@%I?6:UBV4LJ' .A:I MBQ-+U177]]XS8Y.PF9M(+EBBN/J$:JL#QX-_R'P'0THJ4)TUUI\\&QOSC@%2@Z&[61CNWC)@3C>68E^W! ),DQ3"R(SDP0! M1'0M68R?"81::.[D<1&*&A,\'G^*1USR)T1C"3?P%:)/J@*@$EUCH_8X.

*LC#LAF=^+]?%)W.1WH)A.>7\B40*=D2MQ?'IEZ$=K6?B[B/ W81CI MTI4-HRU@$OO<7YS#W/F%?2@6/*N IJ8!GL*6 )T(_\_[BRH*;89%MC/*KH&*DE"_ MW9M$&I=R=/*2FG6,BJ_W++79!A6Y2V1&&XYM.5PFX3^OGCO7ZI#>T/-T_;!G M)C[?B_8;-W-\!B.VO9K-UMM>E$& 93"QW+ ,+76&*NPLKJ_Z+F-G06F^/!S= MB94D;R[YC87_-O8TCLME@EV)V8F?4L-88O*;^?3/-YTW[&]!2.QO\? M/M^=7=U\_7IY>__Y@_^AV' !?O['H[<7O,/RAXXXY!\ZXGQG]"<76X@W0>N DD*(Y>9RKY1M DA$'9 M;'!C9''=UQ9G6(5 <##$!3W:Q0D-3W1[R#HUO+M&5F1Y#EC;SOO\/=^SGK<- MY;T Y:)%NG@ %L4L73'@Y*<.^]_VH0P'H(J("5]PTMAFD"G0YP%]KS+0RS4. M!V#6F#E\?]Q_(DRYPR9/Y-VH/9Z\]5N!IP4RWN-"7<_&$(/?:#;>WF,M+J\ M[=U!JY=2MU7#_*"3)(2>+(3 TO7/_DMM"S' )E]DY,J4.HSQ(--2&\R7>^W^ MA._/BQ))&-?54KNO<;&54)9LH[GE'U]"@LRK$]RJ_5 ,J!!NH$RN9J,OA*G MM=8L=IMA'_7KLH]8+/):M' @5[PMM2A!T:93[]GCXQDT+.'2_\NBQ4=D^+S; M=CSF%-,CO[#R=LK \XW6QMA2Z@OV >#[(V)KY2.N3)8VJ@QO$NHZ#>%T8@8Y MN0TS_P/'T.EPM&CM5HZI["5RLUZKFY*&KOA9%6@KD9=U4ZL'JF-GRBW2?(-< M84$&+#35]JDM-A3/R#R%>'M4C'RS>.U7?7Z:7JLS. H_C>0X*U'Z3UK=87+. MI(J)%&#K?6#K,\O#+&$YY4XI"U1XD&.!B?,%_V"&>G(>4;VS4#\5*/(7^AOZ?53;KN,3F0; MW3*WL6VTNS5/UD^+-D9&K%YEO2D+[R;XRNJO12TV=D.NM!8[,CTL1XW0[SR1 M2<=!VE$MHL*ZH>JZ5_J3A_E,(]%X/AQ;ZG?5CLPT3<5BK.O4AOS<$R@@&DU* M+"":#"LL(#IDM4_!VI"\53^]S54_.^JUQQDBJ,TA\"5HRC_O!*C1?Z.T!YX>1+_*PK=Z_\X()RI.UR;DXG*;K0X?DWF#P/ MKY9L9V;5D4\/T M2!6?X PJAF$YGDV_6/:MMIHNZ/2O6]MR>?]!^/1D:^Q([!>I*C['I[ZQ/=]@ MM^1$.WZ4VO?OAN3_*Z)^-B(A<.S MR()I86P"6$N,F*93CQ41X?2E9]UQ,E;< ]TUO",_X[_-X9L>CS]^#EG.D"=[5BO'AMX#BV M:MY(M'4U;!ZTD^E9\0#W.PP_(XWU.A>WM[>,EMB?W8OW? IO"/BPL>(F:GP7 M/BUXD#;#<:0.)PA_TN+'2SZVRW,7ELUR-\0O5Y=WG^_)Y=1MIP56*X\G;XR? MQS%]R[5_%,_K(8^,"0XU4Q(+COMXQ?%W.H"*33_S(^8S/A24C_HT-R?+4< MA\(Y__P#-.0G3W<6"&K>RWD=B:"9]'PDCOV\N 8C<5L:WA.;X8SC0Z.PX0-_ M'\-IO_%DNQT2Z\0L4!W.<48&:@,G&R!!ME,[BJ_ST\VRW]9?-$QO#$G(N31G M_Z*S)VP*@9F/S"<:FFY[F68;>OK[?>?'I8$TE^E7>!X87H0?&2^]TYR\P"4U08]C!RNIE'SM+,=@&4GFW&0(I9BY#8"/G MDER;(%&ZXS23>FJ#R#@3$]+#>M247;6;:+TSI1Q3%!TOQ2>^ P#2& MD97?>M03=9)4REUP:J1.T9$ZPRTC=5(\AD6FW(12(?GGJ-$WW*']2#"RJP M^GZN03WM"78("5%%@GD\,72%7^\TI>?11FCD'=6SSCPV#T=C$93@[)#4,UO_ M2!\._]H-:V-%1/]<[D/&P@S0,U!?!S'EP!>O%I-?#A\6CK\'!K,_[87I()0I M]BFC7[CV+VH[XB^<:I[#WF0Y7$HZ*":G:%#CAT<0P/,Y+_$A"U![:?!JYADU MF)%!?RR9\AM9(>Y %!,QRY$]&=U*B!$T>%"D/S_#0F%ML"(P6=$6L80;8!;< MN,'D['(_U%1S%O!8AW?H0H_##["QV%,S;% 6;KF"VVXU??80KO9F?H_K7%?= M)V%A6;?SO=_AEB?>_\6P7H4Q$#%L -$=G1J: MXS"?TA?;>KX,VZ[=7%U?@R;(I\M^]DE3=#!*]K.J"W??KU OO1)J:=3+>27H M?=L[T(+(006=@ @ZVZ;<3M*GW *BHVWL+/3XX$#5I4T7U'3PH(,IBV5C_ )Q M)KP5Z1?>2]^#^9'I4Y>S_WB. MRUT-?N;6WL[)*QT7:I0!/USD(X2;' M%/O%Y*!E+#2 X]S#J%CLS*)36$ >UX:S$'KCXJ?V]9_J9F*$N%:])'(0AFY MT!AG$8XUU=GU&"OG BE4AU)0//.H3P""9^#J7S1;9PIM&+!*>?(&Y 7XRCMZ M<(/,N#:#(>@W\\"#=$MM=G( 6%6[#">'*$[F9<*LP0%B(JC9YF?U&S M6>A@TR-N-9T7*\<= M M7+P\+G_ZH7JDE(7@THRNZTZ:/KONWXQG?4:>U:01=A$2L:W7TN8()C-K=Z@/ M67>*[UOY40RA:%D2-"T)6HHT:T[]MIUTJ]C)>N.&,BDM^Y".FGY&>;(DR\<$ ME>X=ZG3OF7N4W(4MF$!;N;FZYE];)O]OJ!96/!DTY0R6C45X(Q)%HY)B>B57797QRN:32J)$=\,U6K$LWP(J6[PLT+(\9V0TT*%&HHN7QL! MC"]S0/IQ<.<4^JIM"I!%8[$T"+2R4%BHEW%]'8>@)J-AZ74WL< M%5'&FA$KHFPB45;8>*5 V0&GS2"4Z+LP;N9()3?V]K29IK/-7]EY#0SN];39 MQI%5R;QNZ_B_>O*MFD951?B> _"&[[;E79U+,-)-$>8I">1\A#FNCC!5=YOC M[&ZC\'#D>)#P1E1M=FIX\Z&[%1Y.I)UN\*WX0.)!%#RJZT.UHOL(=H]"MN)O>@SBE7IA/J+ MM8/%3OEB_7Y5G^^N@GY5K'&+SKM^S#USQO)87>V'?X^DVR9A93'#@6A?WM85F(1A[Y0Q-&2=[LB&48QX\IA M1ZR;^5VP%$ HYS17FOF17N%2P0@V_Q=>P,SC/^'Z1.5B-V+TCB+5;P"BR[@M M^H?I.?"H&_O:G.,P,2Q/<5.< E^Q MPD-GY3Y8%N#S-@=(TGVE=)WYB)S_#J/VL'N5*'SMMLG_KKT$\6CHS[HH*=I4 M.8JC%IP%2(LX\ %OOGB CU< $<"<_;^\E+(6S.S1_+:36BS(@8:]R@)9@G], MQ=Z".E'=Y/6X;% ?G.H?^K/WS)A<[-[LLE &U]_Y?0%X,S22)L-YO 7,69 ] M4%?(347\3!WN#;$=G/CG??%V&7\"+WW1#(_7B.&Y9OR82^^HL,SL0!9 #,M_ M&*R2V=;5K+U-KDW"+ 5D&)QIQ1;-I(Q)Z8RS%)Q_:>L4R^.TE'K :A:96\[, MO*F()]G<\4KUI>L\6)S'K;(-A&1Q:GCBPCYME:X!B1=[T#@"#> M@@(PPZ:@^C#Q2]\M&P?=6GQ$:CJ+K@]6;?(GUDSRNEAF,G#M*-2:?!:4;?^% M78WGN@TZK0.,0+-UB]W*]2&F;*40!1ZGFH@"5;=PC0FX4#B\B,EC^G; 3 MUUE__WNOY[N$@L]%6?_W6YLB\8D1V=AOD6?J< !?@KGJ.M%G?>0UY_<+2H.T MB'+;&/3;W8/)D)A#L:2DTFI6*EHZM,F]CCH.ZR2+#B73(G_0<)WLS9'#G'K92$:HT4CSKF,2\/2W>,Y$U<8@X/0!#-KHN/+^E M0]"_B?=1@+\]!XP-RGE>3"Q1WHQI::-\95UI/9/U6W!MJG%GUB-ZK8#3/*V8 M7<]4(9\\F)P3=X5"C=.1+]GX7X%X$YFU;.G\<_P%+"#/.Q=I!I;W^"NZQ_GG MFCUSR+OKR_OW!#UED9_QW;^%6E*>- M9,U,4(IVE"&O;0?PP(O:C)!%T=(?]%O'_>7]1=H-*OL(" MVUEKKYG9/Z7?[DTBP56.0-Z,,E'ISK_.TZ3R%ZS8J99^DWTP?\:71CIADBT8 MB,&D[B:6'$<%$-K?P(M47]]:66=<.0E;C=_1)28UKFDI7^[NW[?)'\R.AT,! M6@MAP0ZFZX RMZ8FKLBKY1DS-I^!=2P0/?VXDF?"]<[* 0,,7C\ECQKH+@1U MF_4D=[BI\GN/WX&(V+A6V&_)$WNEMVFY%M,SW?(J! M".)B(,YZQOM1;7Q=4#,T);!-'H 'SR@HMY[-=%OQ/)TIN*!P/N+O[\-!)#X ML!T;/ME8"=W57.%)@05@!B?17%?#CEZ^UXZ""&$EEU/^52U7=K8W#,2(D M6JT+QV!K/ZB 5H*Q$#A2OVOV7Q05W7QG,N5&<3YK!UNG/=D.-H>OEU'ZL[_B M/8%W1QVJV=,% .$38,.PEKC)?'26?N_A0-C?#D);+)G!*+YAPXMNQPQ)Q-YV@[[#5CCL6/L[OS M]E@&\>^(7I&HV^/?MQ()LALQO4W/#@.3U0KC.)Q3,F/3G7[JYA&L1/:0_4:#-R 3OR"X^;?JW MAR-3,=T??9+8QJ*%+ILE=3V\\-6RC=G9JS[#]%;^#CX'S9L#I6+@*GA'H#J9 M&@X6/^,T3^8&(@5/QE]LLBBL0S3=?H7WZ_;4UN9P%<(&HY% L, 3V.K]U ?= MQ.QG'''.ALT('A*N 9F(2*,0:YP%;^(6Q-*'%7S-9@3X5@EY DZBP97P!_(N MS#NU!6E$.L)O3#OEMPF"$N.M0[+:,):X._D> (_AU$;_L%K2 MF_FE#0OG\P)+UN*&*2.'8_RH)6;[^$D^P@IG^C%P;L/@G=69"U CY4?G,QE= M9+CX+7,[)O-Y!>1#-E8R%B*@/7/H],/,L^$,S1P KYL4"3M%]B6DW)D M++1;Q)'Q3P$.-7!P),(J7$(@CZ,^W15;)B,).-PXE$'4UXCG8B\T]I-8@%]K M-&OQU2$8^6X*!E]JYS;MZZ@,#Z0 =.OJ4]+_K-P-#F(L[5'.LQJ M3KK 8G-%9IR$<,CT$QR[)S$E_A\Q5W@V-_XMV%@J7\ZGB9?'2\^WSFD6D-N MD! 1 +_,H2S1),(E;V/A/SOJ@\SUGFTB+Z$V"D_6!ED'YHV4LJX]VF;B.%%A M%T2U3-@E:##4 #OG&3:]<'R7I\T";K[SRD>)H?M%A7Y(B(\NFG'G=2%H?VLP MP/O;=(LD"%$A/&.SE4(@6BG37=8\QZ!58RM*!DT_)K>5ZX' C \UWSX1)M4: MY2F\AF,%'D/4KS&>ZK]0^ 6WN@797;LP,2G1W]WJ4MCJBRD"D'BW'AD!TMDF M(%KHMEI242S;"ITJ@1&3]*FF#C^*C#R"*[F?!00*G W0V+>1X>5T"A;^C(,= MS#3!?]*0\/=PUAO?YN[Q(\4E^4T >S./9NE&L/*IIXC7!+,O=1+GP&_;NYMZM[X%0OJ MZ0U('S9=[BM.=G2J[:(QZ#:CBT9?^.XX3/;RUQ7RS_U).4UQBC+8<..@_S+3 M%WQ/%3 )/.-SH&2#)]=K+ALG:'D.,823WN%.-?2IM M8%PS$"7K!*#_X)/J6F!//S/U04@$+@Z()>*;K&(41+K8(=^N5BKWPZ)1CB.DY^QM"^>'-H@&>Z:<+1A]%( MMQ\6OS8YJX:'W?$AG0_6^GE@+0TJ\557D[/T,<[H@Q8:>KC7Z$12*Z0*G8V^ MY?,0G>.9/,A@)K+5!F5.'NR7-WEPKYN/9GK?*8]C"]@.X7SG=.>Q[4L,AQUR M(=@OWQ43-OSC5:P5>Q4#+TYQSI.^*#6@H"*\ M;4WC*M $K=6I#G,5,=ICXZ=?A;M5IXYP%@E/M3PLEODX!$?E7G7^AY\K>DH' MU4?7*D\\L[R3VALG@RZ*PU:%N!)9;+^7+#"0F\&>C":;Y+Q?,9$34_'DX;V) MI9[DF?UFF=-:^>UPJ/AMK;@KD>5..LGBI#)9KC_*8#U(FM%HA62Y8%,:]\0Y MJ.B8PFOC2?1R5AWO,\](,?P:0V5?Y2F0#Z.J.5MIP*6LU4MDM5.#:C8";7'Q MK/WPF:X(RB$'F;$26) MKP"EKG7QJ;KCTKY=BOB2"^RO+W73);[" ML99*.K\IY+_HM,SS#2.OFD]$O2 M\M$ BX#_^LLZ%TEHVTPP!0>.I![TA*:8)CCJZZG"D58 P\,M V&9!H%UX66G M3929A-8LAOU5) $Y;BR%(S59(TOB;+ 74S5$ MJ#S^O MW.C^QLW'72EK+TS)I,AZ>;Y#MS6?HESD%#I"0>^->+2<-^;8GEU4&ZX46=1* M%LGT)X7IH\5T[_"8EBMLA=!=VX+$@:LU?82@B9PW%\M'H\C9'KS=FCJ[5^ J M1M8IFTF=0[Q>![ KHTA5FZ/^6C^B(1I8\;> ZF+^XAW* MIQLRJ2"[P\PSIUR=-UVR N6)UY8:85(-V:C"8I31[_!@Q]82ZW?64>M MFK(3^YU>PY**C^H(# ]T!/9]0G7GX-]4LQ]>K9K(OWM^WC#R/PW1,%+G(NU< M+&RZN;]8B2=CJ,KY#G@ QNH I!R +Y9GUT7_ R499#P8$W4PT@Z&_E*78#A7 M!L.AR/\!9WEJ,(RQ^IWL?T@[!3*/O@ZSMJ':!?&Q-D+9MY MTHK/ !0[7&.'->D"D_/D! &E#-35> M1^$/$_M3 QL$V/ ^[9?/^%=-YV)4[K%XK]0!I0XH=6"K.A#K;7+\H<4,WE>7 M[.]7FWYV]#RN#SR$3W:3E,F5LL#-:87)LO:4U5;3E7[C-#8<&\ +(,#DUP"X MP(U3QQ.P=O:)*WWE@PT09$,'L*G]6M88'VVX,9DR?L+_%*^YY&^Y\Y?#?L1> M4]TM1S]E/"../<#!5)-$EBT'VP)&Q MK5?\EHV+]*<4T;]Q"B ;=L:F2+*Y0UQ)#P=)6)Z!,_]6;,P:>PZ9@[!V<&". M!A\-G#Z!N7/8'$8LOAC6Z[VW M7!IB+^&LY.9-F8CN W#J+,@<=IE[:=$&!?;Y07C^)@P^K+1+L#WK9W%*>V8\#D6YP M.9UZSVBJ;JPQ P/GAG-,-F4O!ECRU7+BPR-S6HO!JRF?4YB"+GQTA59CUC3+ MO8S&!QPU<--B9.$T!DP#@?FX8M]:)LY018_.T1N4 ML6J^\UY]%N6HLY-%.:G&HCS\8Z4T5-?-1V6QY.+T7RP;?C9%\RS6!'*ZXD/, M'FS-= S>1XM]<3G[C^>XL &??J,L1\H<)1XZY9_G?OVFZP.0[E(H4 MS@'[WO+Q"Y8/_X0>6/[;O^CL:;TMH,)GK?ADL>13=!L(P=H,MX$_3EI+;];0 MV=%;,)'8SMR2"G7O@K*] )*FMO/Y;V]+#D#G>T29C\B64*I$6]D$36SX@Z]\ M5=J.BG*V=:#7+[<\6PIUX+CY4+TZQ.8^JN-NP^J63L[*Y_4Z#@GIC\[(W+:>R>7- MU36F\'W6;,Q^W34[0/J3*X)^52^QZ6#:S.#6V=<7H* +Y=;9P'?._#AB4!Y,L!"#W+]J2S:<7#>/V@97 M$G0/)J<9EOLA#&SZLNS&C!#.S=PG+*2KF(QS;FT*;"UGWM 1B=;!0<:]*Z*K M@>AD%+G5D=M>5;CK],B%9W7$+&N1O^SK4RB1;GT*)=*M3SGX#A Q/%:K9'>/ MO H!GHARO$<(\!B=E2K2)RE?D2BD-^[4V*];&4)'K>(IE$BQ/H42Z=:G(C)5 ME2UT93!W9,Y'/I1!DS,?;:S*%@Y'#A+;+B6KI8HNBM"%C &;_J3/$BACJ3T6/=<&16N)W6X->=6W>CXJ,5!Y.TTZ;C(*SV@.GK%F5GJ^8 MVC%F4&I@3P;S1^:<(-GMFW'G"$M<&D,0\H:!!LD!MHHLZB(+.8V5\:"Z-MC* M7:EZ(F#?1E, M'YG3@N2V;7JM7K^ZG*!C(8@C#+4UYLC(J+57>VI.7F_O@\2?6=ZC025524I9 MH$**A M42)%P@0GM'?[1X)&_^BSXF_=,;7V:\C=[4&0#$=%%IA0G :YIXCX^ MVT/=% JVN!SU[F##-E^XYKG6FF+.ON*^4)1P.JC,3"#JLW^^>8#'W5.#,GGQ M?3PH"6)C4TLTG@=, XQEQK\;]( ?3/:W0;_W4K42?IM0!Q]S*9 M30J20N,VC$MNM-RYTH/M\S]N6LGX($A%8IFH&Z"-563@PS(;$F8%-X;X,B>QNN[6T1Z.,B MZ'W._G_^F&1U8_BJR<9;+H]Z0,F0EP18#3MT3C\ MCN,K_)K=^RH$]R.8=$AD&EG8:&#]!';>FU\?4#@3:TZNT,0#,^R7G[5\&"49 MC#XXL E)S05UY%(FII,2.2FW=SD;HS=)4>2+B,';2N10(Z7.PX(2361H@^'N M(/IF1'NT7BBP)F*Q?(II+)]"%_D4!JMQTFQ*3.HB$;G:#U@CT Q=NFB6$S=T MHA$M\*(Y1',<:ZJCSP"T?Z9JM4Z=-$.E-MB41F M>[0T1$8IKCLYE.HCV ?C'K*0+"*+=(?"U0=$ J3)DOH[R(KJMD.<^&S8X$$V *%VG8U M/*%S=GSH\]*P5A0>,Z,&G%(;3S% T87[X9(-8]C9:?CDW\3?S%.:&6@=]OO- MDM4(??Y![:GNT)P'(^[.<]CCHAZ]ZV]? I=>9UM-[+@U'B9[/C&(U+2[6,.C MV"/RS1$'W0HU5R\#9P(7Y M7H"IZQ@3 BC9E+EI!9M&_LSOM/CN@UMFXFK'A5OQ!G[9"WP!P&L3%!E\71%: M>X5_R8MF>'B[&R6]?Y2,'5Y/M!,%KCN4AP%^1EOPTVGW$\CA)C <8(/)-X!9 MO5O=2([[;#79)RNZU2@?3#!+DY,J9YDAP2)P4%$ U0'UR1FJ%BY8$R!M5X*\ M\!O41::H;&CF"OD?[)O%DQG9/HKPIK.@%!35/:0+C1X%)B! M>"4>7EX\$OUQ:5M/MO8<:CAK/K)-.DVHO=S,,:H"NAK3A.[XH;^R'-=AA/81 MWC2[U59,$]M+T]E@XOAZ^.A-IMS,5FKVB(P7U6"X*C&*JA)G#$ D"D.2I3Q4 MK08@I[WBQP&>K9LH\!U&V:*GT47#3DWG ]FXZC0<)#(8 M"B\[:<#BY\!Y7-PSEOX\'02,/DU>SC@IN8UM_T (_).2A08FDV6"1.9**;! M>!3:48@@7@C[NM"G"Q"AC$=&F ?(=& (P"3$O=JK9L] &T *N 3Q;'VS7K06 M)KBW@6%U)[[B>QV\ Z% WN'U2..]S@6[#+]E?W8QI&*\8+HB%7(F*NA4D#^.'9 MWQ[0 585"T5][9W\3VT)%BS:G'@TF&\!=P+X$DZ@.'7(.P&VN_L_'!]B MH'_99$EM)D5AI_F>%(WMW=7SH)M 14X23@[RV14+:$]0/6'V5L MES90UQ.+QW]<):3#):[G&Y-M-W.NI%P&M+DY*^#AU7I86)X#^_R,L*;4Y*09 M4"9N*IH8@']_@R6GY0'LIUJ?#SNM3B>9O.L+:X!@5)%NP;GT0(2CQV*FXY6@ MQB8D/$6B0["GRG_'>_P/1>7 \I'*CC%@FLM_O G(\44'$*7S!<0RJM$VLGI[ M3N&HS,#F0Y0;!G[DNKXN/"B6YR;(0NR&G=U7M 3@8#WK)M.EWODG&K;YN HT M?T;:+6X:!, 1ZAD\&6X$707?P+<&4LDST2Q G1_WV0I7#CE8J+#;'1)1A=!JR5IFF_P1P#$X(L"L#,.'-RPOM(B?J$EM M^''%F;%& SZL_?LFS1XF$$/9V85,&HTM]M$J.(IF L/Y;/GN.21^L#!K9OK MEA<\%/=M4,<)]SW7=!N%S5_4Y493JDEG\8M1_<7?N2A UD%_+'64%',7ET1- M[B'(@ J"D'+[K"(>X1]MX&<>4RM9)M #;%8 \9LER(1SD\V\XR[@BTR0(P=P M@/U&F05[Z\-JR;B%5,RFVQNTSE-:4X<'!27)13,P<1O*.,[^FX*#26M\GK37 M0QS<-@<':Z>A&1CH=5O=\>9#<.DP3N;[GH!?![P?1>_3DTV?!-^K"$\"&S>> MZ[BP%) #>? A$YB[_6%KN$FS";=&-";+4_T=[2TV8J\*R^@ZU*]\-2HBLUY# M_0BDMB^"8U90Q)4"-P[SF3[#F.G#*9 ]H#/.]0"X+&X[?;.("9L22WK65A%U M@"\05+=%()3A?DNLE]FG+?((FEL,3_Q)KSKH,KY_!0$$CWVR7JAM/%5*HH[J(JHJ"49C*Y783.%WU^ M<&;8[0UWPY8XCP?AA'\",1B.Y=LFI;M(0-TX^RQL(>$A^036P]0%3G1IFFC' MQIR=M]P+'>-\XKO0 \*!Q_U68.DM?/NE$@;X(Z>T(7PNK", M(+[F2SX]W>, ^Y[RV@N4"? >G5$V7L%W._7K*\1>@]?&7<4\ 00.'G<1^"*& MQJ]"VU0'.%">VX&6/MJ=_K69-FT$\'#+3%OQ+0?7X,WISC#V(A$$9Y&95U!C M,H)L82^O&._Z_ ,WD"]@O<[W&*_+9'Y;(FZ=W)QK-$SU3[7)?>"#28 GZ97P MC^TC9=DY0M$6Y#[7;0==!R9&'QW0$@)ZB/H66@@DU,DVAOB GCA-P]N7XOGH M6EWJ0&>!)R>(#1&'VB_,$6)FG !X@FUY3PN?/ES:SLC34/G3*G\Z;_[T>9[\ MZ60%0M:_N8L$1OE3/T>L2&![4BY)RT.VW>Y-( MF0U'&\_#7<><^#H]/U?Z1.#T?$NR1]Z[S(G$HR))]B.69)_%_.8 X?.H(O9!1QBRW$2\79P\:=MV_R M5F:*]P]B=VS]*/TC*VC/,MG6G:5@8X;XY8F;0# !S9G_?-,-*6YK(X748M1J M$^W_C>%=OOK/P!!F_..:PS?.. L!YF#H#(JS!2L(64=[N'1W:(>P^3G9!- + M\"]JHL4#NNT.,!#1U>BG#OO?]EX;!R"1:(.?7!2@0%\BZ'L*](<"?3&^5P3T MAY1O[Z[1L<8C*]BTN"0YU]LLYG:4JVIY>R]/KO[?<#X;T_6.9WN+..=.VH]T M+;IR=.CB^T7+M$B H[SFR0?IG7Q":"M4VY4?;;UNN4V,%>+6$=>)(*Y;'N*& MW1HG\M309;5)$B:,"A,N;"YYCA:F]B1^8^G*!Q)#AQBP(,/Z%!9D6-\Q.(OZ=6G=#]CV["3"$*DI<_6[?DH>RW<2'NU"J*O,ZS-( MJ=%7J"L3=94Y?";=MJQSG4Z-L![AL6QHI)':EBO1UE/,AZ56$]"QCTV:K;H.+-1_*Y= M2T#V>*RJ&VAR!C5O!_/+H_WSK\2:\XWRO@,JI?T@"/F3_4AG9QPGE[!&.$[\ M#[\O//_KEO67O/6QQ[#6I&3X/>+PL2'=@G,V(RKOMQ6-=&1JI;;NZNPXKGM4 MYNSA^C-::NUTU2FW!=5H?-[J#)(-PVIP:E5*!1)XN'8B )^5"A[J,ZUR6?8 M_&9;CK.3&[H0RYWK/T S^B^U+009&]J1,:NF.I2<.%DXA>BB O.';5(9\69 M_=8.1#-*82Z76?ND<[3L^EV.,J1KUEDXW_"P]1$=%;#CM'A\2B?#?2#]7K'A MG=BP3P4'X,3YE>)Q>U19]H;2B7=BLU_\:3.GRF;W5(L%_#P[/'D'X,/#0:L_ M*KI0OOPZ2O_#E@BDGOQ*0_X_PL=L\AF72W M-5#*LA0\.H4>9.31XW:_1A=R@;3+=7KB3+4Z8I2U4D+V]2F42+<^9;)6'TKO M'JN:)%$HO63=:-3KM3J3@]2'J%!ZB:'T2DS507M4&64H4U7%V*4Y@ 5B[!NK M]%2,O5ED47V,?5M1YTG'V(^=)ZM0>EFA]/*X;E(#;@U2IIDJ[V!#0^F[,=S\ M2O%YNU]9XK'2B56,7:;P38$8>X4,NCMNC;J*0\O H4N*L5?-H[O#=J=I,?9C MY\5''TJ7)I*N/!1'1!8U1=2/U4VA8NM''?!*K9>3VQ]8_-B9;DVBRRJCZUO MZW7=5*-5* 4??=6'%^K7C2'CMH:J-E((/EQ1;KYH3=X?M067S%94NK(+N,O'H E'W"GET M3]6O2\*C2XJV5Z\MUYG^I&+L1QW052B18GW*8JT^E-X_5C5)HE!ZV?;K8-SJ MGED6F:E?U\:E*J)W>)#F%%$D6F#B'OXCQ?B0YWV^O67-,-%UZ M[L)B,];^P %LD1#:+8YA^[B*,;D[Y)DESJ*+*4C!I#E?&]J@T:5-)NQE*&8E MSUW:;89BT=?>4Q?YO[O@H^]P')XF!N*MB#4/QN=9H70BFINN^*5-*RPR0R\= MK!>5SW>,+*CHP^)'*[)M/&)%1OV)B7SX&C:4SS_P_)NI9]NP?>9V#;ACM]-9 MI^1BM")8"CS5T)8.?.U_"GZ*P2$-$1FR>\/DP/X@?7*@^'D(6\J0"CM-#E2/ M;<)C,_3 / R:S8E-6NZ$F>X!#083][KAR+TLY2,VBD^$.M;D;/P2_SQ&SI3X MA;WI W=;P+F-J,A$Z,A;Y_=%?B?B@MW._"0/PV5[2-L)CUKG8$>MTJF8U1*_T(-1=Y"> "MGVS)Q MZK+X4BX?[VFR8&;V@=61R7]K0< )RT#?""=+M,(=F>7@-NES.#VOP<*'1QXX M:.$8XJ3FM/':LM" /"M1U%CYAHE!%H1)1Z!U]UG03;4G\ MZPJ>A*$S3S,X'K[J,K4J"2\HM!F4&A^ <_^;H1\WY1]DQW! MZP_>IL7OTK.H^"W#V!VYXTOJD;(]4N+2(A%7;D8R;729:;[FPHZ[?^R2FY@K M,R>9E_/5>J4V_Z0_ZVZN[)SO/*-G85/Z.T4-U'-P825G#%W^T)T*4B"'[93* MH;,:(?['>>;*(Z0GIG#IU^F'GVBFKVFU][[?/U0GE%)\E3E, JSTEY[?;QVNDO MTH0'BOF0&NNU:R3$>RK-25ZO7?T4M6>#\^Z@U1^6V^+\R%6N(_':-9+W=H@UTR;8=">**^=E%)Z-Z^=DM(G3802>^V45#X%XFRDU^Y()?"F M>M;"W>2YGZTZZJVB+_BIC7!1*)%B?0HETJU/H42Z]2F42+<^A1+IUB=CB<21 MFS!JH%EC#-GF%N%5&09IVM2S8V0BS8].;'!9]-MC%30XM#R)^,24/#EY>5*F MPU[)C\,SC6;YT0\B*T[>O7UZ6XWRSWWQ2@-K6>3/0_1%P/6Q)0@R6$=T2SJM@['U;+K%2]*&+.^@%F M4FS+*&;,)&;@T7:P?%AQN#]"?^!G8%+4T! [KH4 AALX6( CP-(#1/HX]- % MPRYCOWXYZ_.4:?^+-,A%?\X0[JS*=1T$]#DVB?:1POG#2;3&J[9R M ID:>ST7L,@<=.!BR:J]M1^)/OOGFP? YCTU*#NTETLXF+/OX^%XW.T/1M\' MG-7 #<"LW"T7#[D$"C:["!Q"_CR63@=DMJ^&]!'2D6$NW2'P6?^?]Q=O?OYU M#;2)K17>SK#(=D9KVTD_9MU^NS>)Z&8-7[W9 06CE#'ROJX8:'1E,Y)MHIUH3T\V?0)91'33M3&' M8TI>-,.CY%W\YYD^GX,F8$XI>:3N*Z4FNW]J6 [J%UQPL2FU^$;+LU'P/0-@ MA$@SLU:AF3/V)!H;=8L/P6^M,,;HB\7W\(/FDE?+,V9DH;W@@F U('*I_@+2 M\G'%[V17DP50&;4=HL^!@1B!:%UH,WZ;_]H9TW'RE+.7X_Z^]L']?PCM+04, M)6HVF=UIDS&V3JN34@V--S%0TG S 5@1F5$P1]#7)@^ %1=5O@U4A[0C[@TQ MD]1A&?'TV.O0K,B-N_W#G30P!)CV&D?C3F;!S@CJ==(QU)(9%!M-P-U!,1J MU@+".M734\Q4P<^!1ZHP6#*>IP/AZ=/DY7=@78)415N2B1""].6T"- K(R20 MZF>,O$GZE>P8)7[B1CSYD&+ZA6IW=BAYNJ SSZ W\W2I&KZ.O>W2G*U]PU9V MB;2ANRNF-J+^]=& GW+R80KG:8FZF TG--,G-ZK")7?I2\ 9B$!^F)$SX7;NT^?[\ZN;KY^O;R]__S!_U"L31/7 MU\>CMQ?$X;.G)@Z'A:;I]KFE[#SS_>&A M%OO5GI<73)"Q U[N:%*%FIRH"88>1\?)$N;UY[O^!'R:?_JBZ6)6-U/K*D.8 M7/WN -*-Z7 724HFFIOJ=.@4C$PV(%NO;-/F\]\>*%77)BA<'G[IW& <05TMA:XFBC"\C1T9>G&9<'X+XRLA0'K7'E26T'Z1RKP2QT:]+;/S&32LE M&?8^M_%LB5R.KR8(B-Y@V.KVD^U8&R@@CI?:BHJ*0Y)C"2)CW!Y51I!'9X'4 M)DK^CVDM1R1)WAWJ<'-('ITH&0U:Y^?C4@_N>R5*2J:V$Q,EW7&[5]ET$&5] M;!$97RQ[3G4E-4HYQP$PCTYP=+OC5G]8;CM0)3E*HS@/4'MB8F/2GO3KDQH% MRJLK,;%E[=$E^_H4%F18WU%;]S+%%[M'I,4=//JS/;[8#-7M?-P:="N3E2J^ M>*#X8G-4M?/V>64-D)2!K\*+4H478U4&C9 /PVYKT#E(AS)%;96'%P] CF7X MA ?MH8HO2B=+5'RQWOAB\V1);]0Z[Y>;2Z;BR4M'%YL>U%!9DP,+1V?8R11=[1Z3" M'3SVLSVZV B]K=?KM,XG!QEBKJ*+%487&Z2K]=L]9=ZK\&+3SVV^\.+:#'?Y M!41WT&WUQZIZ46IJV]F\/P YEB$R>NUQ92K+T9D@*KS8.#]QOO!BXV3)9-CJ M]\KME*+\Q-)$%QLJ2_KM0;EU4EDQMEQ!<;*S1Z M-0H-%5]L?F1+84$&+!R=<2]3?+%_1$K:_>])3NMK!9^1*OT"%!SD6N&&8\D%G(><<=KME9E1UTVZ#)_&;UOE^ M(6[.)N3(\%1X1HY%7(2:)Q04F6S+F&R]HXIJ@R3'/GWA?+%E_A=>MC M /,Y6'*@>7V"\+@#7?,S2N\_WM[?OTZ9=U3HYZL8D_^.9E(QY-F@+*)MH,VO)B']! MR270AO7->M'(M3EM\SF)F_?U_WZ:]'J="WXE[)']W;UXCV?)I@ A',?IV61I MTQ?=\IPMC\-%B$?> HG;L6?R*9#!JW!8I/4*QQ>DEXX"AXI'._CRI?]@;KW@ M68T-%04+5MLREGQG#?R3[DPMSW2_V-;S[YK]%W5O<2ZIOU=4L?,=UMCL3O]V MA%3TN.+?WV#A:4P9H)"A-)_UMG852##EMV0F=D;FL#4R!SO!G[W)1[K.==MQ M<4B\H<%_9]H*X:XA P>K !T'G',"X2WTZ8(B>P4&;% '>,:E&/ 9P3&W3*)0.'2R9(UC6!#.I[>+4>%G!F M81E@Q#V\ GFOX+N]B7(?X Y;G91@;0RV_LF/SKH33./^UI\'BU^BK"(4KIFE MZW1M\BF\F!.NL^EZAJ_4M/M .\1_#HA1QE,/BK]N:SA,.1NU4WJ\JNWP<)FT M.N=)'X6@ZQ:)CC)MI5)X*"[YX%K3(C@J#!\#/-6_PP&58H5*[K,VHZEW Q_> M9.54)#&YK]-GZ)QSJAC&YNX? CT"#<-JS*8-F455&\ULRT07,G($G4/J'5"1\QYX"&[8_])EX /2 M)IH#SV6*^5'.D9T,2IPC.SHO/$>V@C&R!WUD!>%8-9BVMNFGT9"O&CQ;-^A[ M"O2' GVW,M ?@B'ZD9]WU^C%X9JT\W[?,%@*PLL,?ZKE[;T\E0NU:RZ4K]\? M*-^IUD04;M1\!:T?_=E7W/X#+G:SI#:S0)TUXXI ($QR8.%4*P PN'[[:>Y.YYN2?Y M??5R[WC$F_!9G4PV[PXG1("H=@DWZA]%*NTQX+@B*==MG4\J&Z>I<%P,Q[L+ MNLWAH59_K%*2#UX8)/OZ%!9D6)_"@@SKD]QQ=1R69.GB]?,/U]: $G13LU?7 M+GW&ZB,4M;9E /:?KM%[#Z9FS7ITOS7HJI:7#%AWU+,[,7&W%C3V)I$9OJI%(\YVOYI%N3 M'9/I)%P0TA]3PYO17[^<]7GW6_^+:"IN9,>QG)"U+%VBSS+393?DU%XNE]2< M!9=^[\97EE5?AT&!-9A0EGX2&$D\??.#9KQJ*^=-L/38)M,2C3?O*;G< GOK MK>UM$8A/88N=L_]="$H%@GUYJ^^96E%F.&+FIDF*W[R\]:C$8W M &6]$O'7X)\@26O=)F8Z49 515*3J-).5.1GD4O;'NJQPX=1+A\./.*%B;7^ M-S:' <^U+8[-?A%L#MYL3JL/T[^O@AQI/Q4<]-[/O+CX(S7I7'=+2/TN-;DM M5V P$5,L_-HH-UPG#3]^&:2E^VO:X*$1Z\@3-FTDP)(9]ZSNS+9>= Q+#%$]E+!6UT044?%M=0PG^+U@>(-'Y\"VG U_ZGX*<8%-+04+C:@(P[;R_2Z@W$ MS[BEC,35G0H$I']LAIV>AQ6Q,J:DSYDPI_,Z^(MF ^]SP J9%36L)&,]V[-; M@[7%DL2%"K)FP,0O$032C9PS\0M[TP<>B;BH-(F\[K(+6= MSTH4X=52="(+ MNN59B2*\6DIN9$%W9"4'UB?VV\UZ[4\A^$IQ;@[ 1AKZ2@5J!>KZ7KDI')IM MK8*QJFKCI'7U*C*X?J&^=$P?K0C%.HBQ5, M1NPX$?6I.:/QO%-9/4&#,;BE,G)'%.Z>E)BS^G%27>UC@Y%9"2XK2C#LMGIU M%O@T7#&L33S=NYI+3Z:L51P)MNE+<_;5FAY>3O6[1]&AH6'(K"J-_BBZ,30, MEU6EQ)<\EUE93:K?PC9=S6^->EB1-!D?12E88]!857>@3E>AL48T5B2'!KW* M3N-I%&:=6C&XPH+"@L*"M)ZA4Q.C&44@->NTO59G4ME\>H7'VI3:_OE1M"EH M"A8KBP:<=RMSE2FM]A@EN<*"PH+"0K/]Q_6UHZ=S"N)NIA+>I%G2D>Q 0H.R M*3&=8\J$VY)'Y?,?L>?:3."\S>0[0Y505=B"V@^I537'GAQ%K*Y)Q[/J60_G M)7?B/(9)#RHAKMJ3$,N\D4Q<];OE.FX/):SJ]_F5@=VJY-98C>TXW)&M?%S1 MI-QFLC6(L%.PP$XLJRY0\_B^Y0A$]H^B+.F ?&\W;%9>HE3R(+[34U)VPVM% M :JZ;;Z?:4'[:<'R>&?Z755 M\4BM1[/Z"=*L96!M3AFEU39?DBLL*"PH+$CK=CZ.6'V>$7N'=MJ.!Y4-QU.8 MJU2/'76.HNI'9LQ5Y(*=G%>&N=/05D]O )_"@\*#PL,:G_M%#*1,3&?,-\_M M\WR.(^%>PB'&=YI+[RC(@O_?WK@NV9Y-E7S)'&]E M8A_;LU/G4XHF(8L;FM3R8D?GU[_= $B1(G6AQ:N$J:VL+5,@T-WH;C2ZG]8, MTV#-YG)NZ!;MW-A-IE"P7(AHOD38>VJW]I;O/C_8GFI&>H=%FHKI!JS7<YS=W MEU=WGRYNOGZ=W-Y?G08_9#N?B-:$0&/1!*PM^@^>MD7KP36&= .4>2,=Q$J.E8/S'FK.<=EIMD#AQ:O^ES?[;[M/F MWKGE+?VF\B&9)/T;.BY)TE?6A$ .G;;75SWX>[/96)GN=(.7T]IY> M#4.Y#:FKYF< H< C@"SH+'O2+YO0^_BZJU4?J'46US>!PO"C-T4&+^9U0&$50;U;E:"8<$ MBM*G;,LH%68MV%M4AI1,]*\#=XM"VCTI;//*D^#.)\$[ZE+G!;YY1TV5)1/8 M9')_04;]-OEJJ(\@/-[BX,V>:MJ>V#:>^M.);1N-T?"R:$R&;E\"1U7 UL(KV1H'CW<$A[E+:L&+?T1N B>^;GC'9-,2KN"--Z/. M1/^W[WK/0'N7T09(PRA3K(&;&C^I_NG_J&,C,<;=3OIR1:F+I,4))VR=97FQ0\R#*=0^'RT4%-YMF H_@('BA6JJNDK\,;S:S M34S[QG11ZAZ\<)1LUF>!X^"S44?"8>%9;#)$^$6J_>[:3^J M)KFV/-5Z0B^)?+5?F>'3"9>BH[9_G#Q+Z@!Q&&WXX]+Z'3&3I>T[ B87?B58 M6%-P>1#<-[WSDCK&"S.#H6T\.(OXML1I^.#"H;KAN8)6I9<\%'>3+CFZD:-% ME3;(A)>*&%I4A'/0N&27P[%@=_^E/L_/+HF0 &FOPLV ^:RJH\W*-EA#:;"J M8FE#^A=+EN[.TL)L5KXE!S)!,Y?&QC/5H>1<=>$H=F$_XQTN$Y>CMVIIE]N, M6(Q645)=V&YEG74&^<;VI9K,A^U%ES#DC(%]2&ROD.M%&(_>2-XZANW\+WB3X=^+2%K9L:Q+FL)<=6(6WA9T"NP-"\.K M:CI+B]^O15_.%;==Y6GPS:=!#T%7F%@H\!V&82\ [!BZ)T?]/WJSQ\@TL?2O MMH:7WM6;/FGY\K1\6=E;5 RT+]$'JF1K0<>YKL3@K,J\W=[>DJ^V:I$O-KS^ MA5K4/:3KN^QI6[?S.=(C0@Z9=%E#QFY'Y=B#LX7'*GO%W?LTG;%%\C4?\U71 MCI5'N+?:.%:%63SK..9WOZ)S2'A@ZW?:QAK2>ECB7"4H^U&."D@_UF&!" MS\$_*@SY.5"FW_QGZAC:NJEVNLG(+0O!1L.T_?>)&/(FW_;=YQO?(92ER1@O ME'CJ3^)@3@T8 #(UT" 0=-C(J^J2S;;I*A@DUC/D MYM6+YA/=W,J<,B*F^+ M;LY]AT;MU=)INS;1L):NSWL,DGN>JP[M8%+VTC3[4'DL;MY(]<-]CJXXE M[[H,X;7H!6YT-?988+_32F:3KZRPTR(/,VQ0HL')SF6=2CSX/46J8U_KD:EC M/\76AK%%#/\%>_F3;R;GRZOM@CX/-H,1XEN MX:@C1(0G1++VN(&*&>" M]C-FT'Z&2;N7(@XO81M3->CC1[ S!&AYG<"G%S/#4HF%281SIUX=''!5 <%^#Q'$0GS+^?+QN++X/'"G&Q2N/3(ZM?TR)U&@H) MRK21)AJO?%388J8"@407""3&$H%$",$'O.GLML^^7%Y?LQ\[9Q^)*!"QK181 MEJA,LX(;$C9QI@W97=V0G8T;LG!Y!_.@>1OW>UG;/+&C!&DW[BB^A2J=]QJI MWE>BV;;(IA>,[<[?=&HU#:!2!D'D<@OYD(O3YRZ<>OU,,/@C6AY]IW$E0112 ?Q[Y M=^418NC_>/< [[NG)F7,G,Q!">K?1X/1J-,;=+_WN8L!7Z#ZQ-OR\( []I^W M3&B5?HFT"K8)0K$FH5QGG_X@R_2'<4*OT]"8>+'"8OPH$LU^I"B$IZKYJB[< M=U%RA&,G:9-Y;<,L:QNMK&T6AG1$)LL)^^],G)[@B'7V:NC>#.2U_?[=K_G/ M?I1E]N/UG(GLTM:X!XQ8LHJMP9&;/=C[D\P=9X'I/J> M'7SB\&GC1V_9&>,L]#]9>V)?I_#V=E?0'0,7 "B.U-=%&^C0T08#1GG4E8 [ M O\R9^4%?K9]%]X.7W949T%TT253H[RW!C=*:$M"9QCYIP=>$3,\:%;PK8&Y M_RT6$5@YK=UK,["$)KV9)GI58[KXTN(Q44(RGYNV]F/'8S<%[VN.$N3X=!/' M EX-.?48?9@;PLB73@]V>GA2P4]A% 2:8$XF^C4JK!^^P,Z8@:,?C=AMC/VQ+:]0TYZJ. M^,K_>-=^QWX7#A;[7;SR_.;N\NKNT\7-UZ^3V_NKT^"';(F#?(./AN_/>!SK MM"UV\6E;;. U47:Q@G@HGPT&_M1[5%?;(FY$W&Z0X&OQ;VW],?]A"[@('F^[ M!\[W,@),)HB*]8]WPW<;!TBZS'8EGOZG"AO,6?#I]SI* MW!_,1(+*&!?*F=BKRZW=&JS:&;%9]B'PAVLT V!"0+.Y'P6I'IU?,VR(](EN MEZ5N*$LBUBT&Z+3:H$)$*L8O;?;?]AO,"L0-#58F$=N19)+TNY"^6QCIZY5- MCT1;6AUN YN16Q^XAZP6FCN(IUG9%;6V;[H9K,7C#5Q.)=EKN M8'C;V;7__!LDHJ9)08E#8$B*E1/?Q+VQBLC!ZRJCG)M9%[>K#XJ'>1:-*)U! M89F4!V[/2]-Q_VU;=/%*31,>7JBFMR!!L*<66J_DBM/$GA%$"6E2DOKK*>UV M);A/DIE%Z,%ASMT'I$NW'[K3V^#K#V1OK/4/0GCL"]5Q%B#2KZJCKX/*+DKS M=93QH#"L3\G=MW W3SPGY:3;-%5X="XA0_W]]&8\]"/82,%GHF0F2J2)I8L* M&G=G].2B=.FP>WA'Z,,7@#R;7IV46.HO_13JH;U&F?\$) M1K6\!1&R(Y7J[GLKH%WPI[+N):A-DJ]%.X Y=^:4#N!;==_D_D\R[GFY41+!AP%IRE*3\DA= X;F">?:;YA./%35]T6@T:"^ MXTEDQZ7M,B;5"7*5=7P>%+9-)&O?P-I<3]!-TX!'YQ6&];#WU'DQ-,H@=I!7 MY(Z^4,L_LLOI=#O)$)O34AZ]Y>HF%E0M(+S%;WCB'/>($ M[(SZY$*=&QZLZO_8E=S?I2;TW#A)RM%\#)GJ"TR. U(-3TZP$*,SDK_R@]@&=5Y_/'$EU+@^=;)5D3U MDC?JWM\=VRTM;:NM@*NY@_H])OKF:-O&RGBG4J2C=]2KP3Z,8&)+ ,2F+$=& M]++E#6J:_^SS!B@H\Y=T[H!Z$GCG%KGZJ6'K%WM*SFW[1^S/1W^>C>B'6P?; M/WF+6U.UO(FE7_W'-^:8:58:IDZ[-Y)'W3IQ-T<_H=\X<+&Z. XE LD&S:B. M+$UP\\[YW;;U5\,T8=,L*11@E<9_+PLQYT3FTM29M*P2*LF5:BT M:G6<7^56C1^4$X=LMJ1NNZ^0;F\,_PP&'YN9\W'O/WJVEQTO,1M%LIW7B#AL MD+U>OMO)+I]W[5M8$;U&*#'%;:R,AUD/]$4S1PIO3)E#DSD][7]KN_Y QU3=D4,B?TEK?=C+W[4JKVP/6UZY>?30UM'0YSW0R'WH:PC#Q=N4O=:]B1RT@3MEI?DJH[Z,ZTAA*Z<)I])O9ZW0*"6FDYL+O3TH M4XH[HO)X?PN!4D*TEL%B6E&^$>%2<06$_4_ MNQ&O=>/JXG/$Z>&X1*.F.5=UW;">_O&N_8[]CKH^^%V\\OSF[O+J[M/%S=>O MD]O[J]/@AXPYSXS I^TS+M2==OO]NYT.$RM6@'^]^WXUK1&/"1%KC%X\K/OO M6Z4K_7N9#P][G NB:3KL]>OZ-5-XJX6=H@R+3 TT]01]4(5H,]5Z@J$]FR0 M#^TI\6:47(-7X5CP#0&$22YLG<)*X)_'!7N" 6G[GDM42R?_M!]=,M$\_'JW MW1G!+(AIPTL<,J?.L^'!4\1X?J:Z@4T'=*K[W-L!MX,XU*6JH\W82#J\S[19 M\2FAV ]2-SP?GL!%X&L]>.T"'H=?5(^X/GQ-LUVE.:Q"!W[5@Z,5OD=E'A>NZ6\;+MZNQ=WN]S9WT1[LW<\&@]!=&VX+>[:278LXAT&\3/BM12+J9ZWNB!UGP0>* MR^BQ$.KH18LHGNA/B>\>D'LC=)Z%5A(8*==69;KAS4UV<&A:*_,IWWWZ5 M1[*^]C(B)90+F$.G)NPE^$P(*G"+&"%!T^&H,%V#&M2;Q_$/O&UA_S M';* \->XH@3=X;K=!9]^KZ/$MU0> MB:#%,RYT6L4.76[HUH!IR:R>_.9Q=DD3%BZN&*#3:L.^%M'D7]KLO^W%,A5( M YK23!(@29\CZ;N%D;Y>Q95 L\9<&;S]NF"+?4B)^M6X#H^OO,P(_4F[$LBB MX^-:KJ'NP] M+MT*L5QU+62J^_PD%^HP/WFFR<-1>,""-K)?,E3>5F=+"DG!+G)CLI!J><9I M"N\J3NHI!R*F,5Y#D6D,]9F@Y$,])K@^X0,W,>H,P^)U-NLFFW8+R\QQU&2' M-[U+?V*3\P&V>$;)2U@+J 8U/ILNSLLJ6=O]SKS;2D9]8G?F1/7(ZDT3RZ=@ M:0O%KG.KUL^2&Y LB-IIG5V%.!1Q]#%MY&Z&Z2#7KHEK7YN_@3D4&FM 3;1H M!VH%I\BZL:]_ L>ZF!F6RD!41V59('C_CKDB[/H= M9@<_&_"1;_F>P5(^PGR'K'LXXK>.8Q<2&T9+\9174GZV[JGD/0YW*>A/S?1U M^OG+IQXOL0X^"-,($HH@>AVS\D?6>_$!WG1/39X&-)ECP@UOQ=@;=+^?<*&$ M+U!]XFUYN-..3W*=#L+SP IY*+L""D\^CQ3EXU0U7]6%^^YS9&WAV,F%9EY< MIYUI=9V5U! M UMK.%I^QEFV_#AZ*TC8M2"\1R4S!W75+YZM@7U@Z2=@#+"Y,D@SG,_4'9F: M2(XAOX7_KLV89 YK>#M)PNM)DDANBN^PV-\Y[\:M@6$E\OUB1U[,9@D^<3@9 M>(++&SC:79G$#EIE+\L]66/2%/)*R4S54W1N7$^_Q<3?!.-]A>$NHJ-M-/7? M+[ZYCG?O@05"X_([M9_@*#)#3VWRTW#SLY#MK9Z 87'3!&2"]\\">P,?"U)\ M\Y^I8V@;X3G6D^$*AV,BOG*7:=ULD7N]M VZ01ZDZ;A*5815;+$7URJ MDHD.[X)QX32X"$4A'ZY^X6>'S4Q=OE\\'HY5.E_;V[*Q4?R3!R*7:8QGU;!@ MEG J@QUOFFGG;*(^P0.NA[H$<][YMS')^'6I<6)_BAV1W.7QJ%S-\1>J,]. M\R(_Q8%6,%R"*?3 MD=0 G/0A-A01:3Z XM@O@[5[">+Y?$CK1XYQ_# J&F. MS]*OP9FCKL=.D.!?J2:&54%8?!-/IV&J/[*<#<&J#'CV/]?&/SU>8:#[[*Q+ M#43M9G]SZ(L!"P!^S?%'VW=AFE/#%)-Q*.AD"]09?YJ&NPN_H5&',1+UH>_Q MZ(AI/!L>>X)5+(2%&6(J(FNKHZ"S7VO MS:CNF_1F^F=D)$.*E$XF:,MJ5]EFK:D?GG4[Q1(_6J48W!)]N$:/1?PB\ !<3_N:@4RL7W[ M77&&-\H9YC7#(N1N2R[3QCFR9*9U!YJZ93.=HLS]Y#Y+8E0E+=!; A M7QS[^19IQH/F\.QM0+!<@#XRX&P?BO([,'9W(NS.T449'HJ'!];>2![%<2UF/1GBE.5)^YEIAUUPJE5N03N]-9634J=6S?&BC.B:$F?) M\*H97I09;9X5/21C>1=@/;JB?H"EZ)OJW&4YP>GI$(=F.;> !ZQ+B0A)%]M8 M7Y%V-]/)?&["RQ]->L]I>#/]NB1@R7:TG[.O^O&PU&I]^%^05>UVUH#F2 &H MF0 49&7[.4=T/VZQLROEQ*7>J&[^U@;#7"C$1 9C68+UD'@'F=FC=VEOCRTJ[G40:W 5[J8 U9@FB[K[& M;J>3ND@$7G*QC-=XH5A-S:I!@W+26+X!EK6*4M MY;#L*@:?\VRBBKI3S&9X M41TL:TV6FX;OX)6J%_;S7+469*:ZX:OF-J*[&""0:UZZ'2SD+;R:\-?OC4;H<$JISLNRG]W9-6O@U M997$[J836]Q<,[@ $,JE!D9]*#H,!O&F. X ?B(NO5?NO*O9T&Q3QE06QP"R M/?)(*6:'VR\&:C9[*]2/@-JX4ATL80)IF*N>@PT?=P06R0UR8]Q*)GTD(#=\ M2S=Y!FIH#E2!#QD,SPS'@TV'C2Y5"WXW%R MAO6"!I UJ(R,/75!2"FH*R$:P5]>P921Z'R$OA$-_,I0 M+3BO<*K_%O!"C*F\A65"'!E.-CP&[Q&H&/'O!BL7,H%ZX=7P9C/;9(X%DY$6 MN:0>-O:T8G*M/N,&Y;\9*TY$V%DS8AM,@7N\0(+B*N:,6\#DY5Y(1\\.Y\W\ M*-@Z@13JU 7Y5:)0I I,P?*G(%RX:ER4JW),0G2LP64%$9P[S&WE#6W!)U/! M6?N/;W#%SCY4P?EXT]]5Y5\<[ M0N-\_6?F%KH^FD?*P7YLYTG%S<(>A@FKX).CFGGT0?$@WAK;SA ML='X\DF[U'DQ$"^&4P#>I++K'?3P[>=GFZF49[;LU/49$=[:OC?WO24FW&;- M#YL1+/+-E L.,_9F_HK6$0A MM^SPQ6VR15_! #/11FLS@6_8Y ]5F\$6:O%?O]DO2UAAP8NW#?F6@S'>4:C'EEGY#Q/'9M% M[14&)/1L8S1 85;5-!/ WK.J8O]NN261C:Q/P^\2H.Y0NC>+,^=Z(;! M;PQNEYOQ .\S.!X^(B+M#(^TAB8>B9V5$2097%A=5AV2VPTQ$#1=!W>S%""$,P,$![H,R6Z;;@_,*]N(A3'!T, MWH])4VD+A= H+&C1O UE4>D MV.$W.-G;PBD"+6PAQ.<#4-&%@S$N3A,38%$%G4?RA#>"?BAP"GZ;&IZ00 [Q M&1S@5=>U-19KX7=B,UA/\ZN%[N"_<(G'XJ6IBR!@(]RWF!?)N5=,XHQ M&H[*S$%5Z=(%I X[7S#$919!ML7X2Q\1^2#0F,';@PGC ,C9*8)E%Z4:XRT/0P\R2D)J0-Y&AH"'CYRY\'/P4_BE&AS1&K$O!VH > M2WK#]V>I^+'B[UU8U1K$P3>#O3]0G+UD_LUZRP MG_MHY0]_XS[3$JHS)RS2?2:5:'LGIA(B6';:ZR LPWG%4&%%7<-*$EC\D4"[ M1S2T^ M[TRDOYS@K%#6V6,19<1I*6LV:LKM&4Y&2MY?DB=,)IV[8]X?_>LO< MXM\>G5\_?\!.0!^E?$KYK)U\\I^%@**LJJZXW.7_]Q[/:LU1L(?IS#1IHZX% MX9;[-$N_B!JSND93D5*7;Y^,&K.Z1E.14I=O?Y :L[I&4Y%2)RVLE+K&29VT ML%+JI(654G<,4B8WLER6#EL MC89-V5.5HE6B1@A3^/B^;0IV97K-X9#Y0!N73:HGKA;90TE@)[X MT%^&-[OP71B..E<_18'M]//N/B-EYK!-4Z<+>N; W)T2^P&JINV=WH;UBC?34!!XUNR#_8UZ]\") M+2"*%BD]&\:G<9.TA/IU."D*AE)]2Y:=R M\[6/_/1;.??HB,E/44'0=NKP+7LG2C] MWH%%/9HM57N>:+8W"RPO5EB4U"-0'GVT[\"KM7I$=Q@]&?FH6L,U1 MBO8(EW2[K9QUCPRWE1"NK8?P=*3P[&.Y*@O6EB8]NUFP?BO91FH_^[4M9)NE M0^^JI/'H:S%RNF8]^[7\A"7RNHGZ=B7-9XJ2*36XZC!A8YDA]^MELY)_+)/(A(\*XW_TETV\=6J+4-,.8T1\F66LY1LJ66 M!$&Z@Z'D8WE\+*CV MK:OTFU'Y=E!&0BZF&=[X 3O=WHPZPN$F'\15T4<%ONY)_ULNIKF+J224;0)<:EF]83^+.UK9B7G7/24?J<1]352'DH)$H^4=B_G<**4 MAS+DH; JQ]CB1;ZC)'R99:SE%J9+F8:GP^^%<%Z8UO \VDJH-?FIT]JS\# M,<8HY%DL4HG; 0YG@3CS0] W_YDZAK9V8W6ZR;@H"W!&A^Z_3T1L-X5WWWW^ M9A/-=V$LZA!5TVP?SH Z'MW(DT-5#S[U9JI%-K0RAWD_4N=F>B&&<2=\&,-Z M^F([%P[5X<1HN#\R=:<7+6ZBA\OK;U_"TV5[R^FRX.DF(E#UGF[BV+[G=%.+ ME;9]\)[84V)1CSCTA5H^)89%I@:^D2!%%?RW2T#N<,(M$FR.V-Y8B5_<45BS M9I@&*^>XF3+,O'O8M\84]K#EA7^WGE@Q!]:!B*6[#_:R:Q+5'X!PYZ:MK9)Q M7?R1PKSG,!//\07DD %+TB= ,1SJGIJ4K?K[:# :=7K#]GI[6I)HU#3G MJJX#+YB X>\8U E^%^\\O[F[O+K[=''S]>OD]O[J-/@AVR45-R4C.$USG^.T M?<:G>MHFJN_9[]:>V<4:5D)0?+CN^W=I :KT8!S_SB#^E5U^SG_8(NX"Q]OK M+@*[+KB^E)+68,X@OJXML"VV[ZJ6[G[,X"BL&Y +7M*T:S9*FO6/=\-0S(0K M*D;HM-H@->*F_Y.@'8_L&9-Z\.$G(=EBFX0;YDPWW+FI+DX- M"_W\RZKYRG^'1-O7DTQ/7I9ZH*0_^S8EL58K*?E[93@RO(S?_J5J^ZBSX M_'L=)1M?R[KUSV&G9SX*O'F'=YN^P]&]*'!_2^IOHWZW8=IUGZ0;*Q:"CC'K=XN2B*'U\ M2&KWX;_4Y_G9']7IV;V'J(FR?:"N-['T/ZCJ^@Y=]N\N5].V84=5!#5T')+Q M!G5;"\D8M)7>J,"$+.G[[J&$+VQG;H-0T;]+/;RBAT/2?+,ML3.V[+<\A:/\F-JKDA3WL[G/9L3S5E3*V M2J-.[T3IRB!748Y"CHSJ])6308%X/T=D]F4FJN1''?B1>\IF9 "1MMKIO%^9 MXCB9,I6T]2RO*G9;*J(8*XN//Q*\,T([\1E66]:HXR( M_EM1"EB8^,5IU6FWWZ]F?:WQ_M*SO[KO5W4[(AI$3!EZ:D"&OV_?)^E?S.XB M[N']15Y/V/NW!9Z(RFPPFF#7<#TR=PQ+,^:J:2XPKU-3W9G"_B7T/[[Q I;6 M\EP%+/"4.@[5B:?^#(90+7#JZ=2W='@ ?]& /*IA84[B7#4PGR#^TF4R:.IF M7DF?9K^+C$Q56&[Q[;3_6WF8&/K:%,X->9Z3^9Q:>OCH]PYW:3:/'/O28/R] MO_,;X.%!2F[#GKF::91+?!+JO[C )J*PS#<*M00)U43L6XELCW=ING7<&AA6 M8L?$#DB8U!E\XG 9YGF>V;DPR,*%8>8W<.&H-"\6=6&>B;'#=O;$V&XQB;%R MV+H,6]-4Q/*3CCOMIF?%75*PS!HOLD"#_=NC\^MG,GFV8:K_%\G":F#&8O.9 MO1\MU-5?'/K#+I*MU,1D.01"T\,%;2Y MPM-1.@.9UE&V\,1029LL/.->1:VE&BX\M^I"X+A,M/_XAD.!I2 %WN+65"TL MI[B"3^<:@C5>G6Q& ]=$+T($8L'%?FJ]J!.A@C-A@V&M>Y=@A'6&/L4JW MPH-K+2HV.\KPY% T=\/$9T_+7POQZ<+10XI/$P^OM1"?OM+ICZ7X-/;X6@LA MZK2E"#7W %L+$3HILD);BE#!1]A:B%!':7?+13XYU'J_XRPLE]R0W)#:LJJ[S1\_0@A1N1QF=2.M9@P!RGK?;@W&! MM]M'%-,]5LPPR8_*YRCY4:\Y2G[4:XZ2'_6:H^1'O>:X$0,T 6VW#IF.B'+Q M>)!T0]17Q%1W"=?F7(*^4P0W,=',KXW6L2,65 HJJJ3?AM>"Y-&?FNGK]/.7 M3Z+^+_@@!4 U^ORZ;<7"^JL$H@P](+S#>*1P9()9J^:KNG CC(R,GPH"F0TP M,XF1F %0<10GSV^S\'P58-XB>"$)5$ /21T!S.T,>@H)_OEX]N[7SRO$32PN M\W)&698SCB]G;7OU7JL[CBA&SM+6<)3"5?'Q611S@C#0"7B72F8.GIY_\6SM MW><'AC!I3\D%'KTM[!RM+MFYD2ZUA^D2H\QG:=W*I>BI):J>(6EB"\*Y$B>ZU&=5]D]Y,[^@+A8WC?G'LYZN?,!E+ M-2]\%\A,'7=BZ5]MZ^FK\0([BR'_GB^B4YB %G.93*-DG)NV]F/'R"]U-76. M@NSX=+UO,DSRGI$MROK^^\3][J;+8 07H2[N&9T\4M-^)89+7";3\,G4L%1+ M,X"XAL6C62CZCPORA*O>1[S4.><+T(VH0+;3%!.=!V0PNEF' F,[&$D8V^8. M6T3Z1J. *8?O:C+',A;;/:;%#IL.?H96_1,SZWR5W+C_O6%X:!)]NA+A$2YC M8Z$+WZJ7*R;[/U4XBCD+OK!>1SF^S5J%-6OH'I7(KA+9]8BI+S&EI>8Y5NH7 MJ7ED2<8>)1F80$=UPFJHW6,IS1"'!0POXYT'/O27X>]ZWAA/7HL*ITOG$%'.>D<"BQ/8WD?!\8HB_?#L=(92S38BGD? M1[0HB_>C-NQ[">3Z%MY_LRW-=QQ@SPX-W4MC:*^O=$=2D1?-T/*T<_=$Z?0* MW*%%.;N'Y-->^5A>_A M+E^HEJJKTEW.PUV^F)2SG\9*[^10\$*:S?^XCUP6_X?*X&!Z$3:;_W''N"S^ M#Y3!Z%# GVKN+I6GU"5#2_)_RV)H@1I:QH&W.[83UY!N;2YN+5*RS./B0.GU M#^6*N]ER$'=ORY>#D^ZA0*XU6P[B;F[YB,3"):NGDWO:]&9DP0 ;I+><3!.;DG5@Z(ZZ@;9D[KZ\,QE*M MUD$R5L+#E4M&3^F.9')-'21C)7!< \DX&<@;^ V2\5^_C+N=[EGQDY34D<'. MS#[=C3>CCO3?\O#?&"DOX C@.09U2\Z"&LI\QSI(Q$K3XPHE8C@XE/J09DO$ M2@_C"B6B/Y0WQ=)/JR%U4ORT0^UWULFN MR34*ZN1X_NIWE4'W4,[DC>5N44T^.R.E/SZ4>Y#&@?I^=SE!I]PZE<*J^ M>"MY]JP?@+:5^['P[+ <.=96AOUR(7 .-6;F]B M04 &4YV[L)C@IY18FFCDQB<7[?6YVLMM37@QO:=;]_VJWPGK3O2H?/?Y[]OW M1/H7LX<:DUT94W<#ZYED8L\DHC(?GXAFG>3)MO57PS3QQ-+_H*KK.RP'@F=%^"X.$B9& MG/LNK,1U[_GKW5V2(P;AV6.XY>RQ_T*Z]5A(OY56/+/R =^"S[ B7*OJ(6S^ MC*SVY"'('E;K@V,]S:KGL4=AZ5\]STUY0>DXM.C6\6U.UW&*:N9+.>&<-O/,]3M;^&-]L MCY+.B.'DN^TS_(#]V#G[2%YGAC8C<\=^ ?OK@DQY!M>GY)$OS47A5,%&43"6!KH, MN@UO!WM*J*""VR(/*+WX(GC2?G7)7$6+:\Q5BP^@TRG%N73C@C$;JS&$;:C >M@5>D'O>XIKOQGZ[\^''1[%6 M@Z:A+9!H^">"!%X92M-@.^LM<@-/JQ8HE_C+B/J,*9G!.X$HSX;%J8=D.K=5 M1T>:78(@:I[MP-LO8B^8JP8\X 0O$N-Q+;K%@%R"1,.[HN.A*(GM[%P:P$J* MGX+>C3XT8:_(Y1)S=_O13G$OXO8#)'%JX&C,-"C5K#[3)5]AJ]_)9RJ& )GN MP;(0()E!O($ G:4J637TFZRZ<);^4D'16=X"26#:Z%/O9P MQ[K!M2]\-QSX!?8)F@UJ8?P ;*G-36,P'H8\=#8 ?JJQ3/P%BBWW.E[1ER"/ MP@EO$5@0.A:P)2C[0O@>S79AL$?5!24/KY@9+M@%/- 3S52-9SQ0ST&VJ:51 M]C8P'#88$15L=, E8;2YK)V+_C;^'7X-IP_#<$-MN&S$)PL8H[-I M.O3)-U7'7+ 3O>ORL77Z'U_50O+R6<"4PW4$TS$H)ZNJ_QMM[')B\+%++*K! MD$#:UF:'_%Z;@<=CTIOIRB8.9?,!/?^B-_()^!-X"HE0.2!@8N$+1; >2&I8 M+ B"W@:QL5(C-.C(30O(&C)-T[@K)]PW%DA3T>(_JJ"^@>GNC%)/P5&!?E.; M^:"G*2<>OD=7SCW$T- AM#"I&!.? B+"IGK:)ZGOV:F0NLE*^AK2(W'#\_MT.?0+% MS;CX3OPKN_SK9-;O?N![8*5S>J[=)I-7-P?5HE,V M2*V2^K(U6%BC!\CBQ<\RZ^D_+YQ[U#*CQO'Q1Q3H4<'TVZG<5QLY[@7BX1L*LIR M'9*!NL7;+1?%!"-A80COBH<9C@J/)WUGB%\-ZEZ[KD_UDJNUNDK[8/KK-HZG M!=5H=96.;'Y2%4\+JLP:#R18<#TMW(7MLDN-T+;=T;EJ..Z!V;8/;]DTM^J" M)7>578*LC'LYP_M^/"P-6 @W"S-G[5'.7KSDYG9N%F3(3D8Y&[*/6RS9H=8^ M'B=2BN2&Y(;DQJ:J+AF/VNG"A%JZO"IY4W@V5T>]/3H4/.?&\5%>>1T"%YMR MY75$GOFQ5I5+?E0^1\F/>LUQ(^I"2A%H^I13?.B5BHRM)0O)'#*P38_.KY_7 M%:X$'Z?]7Z+<(A'G9S8B3"4C82Y9[%LI4TI!DABW!H:5P R(G1XPC3KXQ.&< MX9G5NZ>;;RB)64?]O0I(+GU6(!HIHE*P)L/@B&28F*_Q6E!6P<=*,*BF^B[6 MG6 MI\CR_P^X"RSY'^^D6(4DL2T:5$&\P"&'%?%->)6$0UW?9)<5P!G-=UU6 M5<*^A7_FCP=E J^JR\JAI4LJ2^FDV>\3 H8<1ZU">'\GK6U]D^Z8HP M*)<\4:;(Y\EK$7UW7>&9:MK>Z1TUGA]]QV73<*A&$0IBZMC/?(R2[R5.1@.E MW4XZ65@YP:IV@=E.=,;!"95+0%P^B.O/64DOYOP!LS4!(RD8*BK4@ZK=5*ZU MR)> J;#I;1T/Q3!V6O$[%\^PK,:;&3AE%D'&5]C3J4L]-D^<,X)KL!(2G%BD MLGY5AI#!+J'3*&HO:)<(W39"12HS9*&<^5?Y.VY ?NLL6U$Y&S'8U<;8FY"6"J@2CE2C6(J M8'@^?_G4XT@=P0=I=(W^>5W9*D8+5PE$60IZ& %]I*!_8-:J^:HNW!"]*O;Z M;8[0K@[%J+UI8TSF6+<9/OJ]$R?*;S,G[@-Q#"<2N)T])' $%JLSZ"DD^.?C MV;M?/Z^0-$U1;%Y&I9.:@POK%L[5WGUGE)1H"+"/'&\[??E5C.G,]76KGGJ90-DG-M^W:7=3+ M-L"T8@M/*E)/O/J\(ZK/8V83I0I-9XHYKJ (_0(\ X.!@SQ1BSK,:X+QN!/' MT%S EX&O 76JO$WO(*;.1.% MX@EZB&>PIOHI;.I&'*32JB,JW#A6T@V>.-NG,!N&Y@)ST^$((]Q5$TA%"3C0 MCUB;S(9F*\2#"_BJKGAW,&!P9L$"9<_P$+LFZA*S\G56/,[]7(P6 *W@%W37 MXYLZ$MPD(KJ968)LZ].3#4\*F1 4HB^JR?>Y&QS00LJSR')9K SV0TUQK!,.GT+L:T!MQV@TNV]P-!XV>LH04 MP?"VP@ZTXL@G%@1?Q9/$YMAZPM^]I0Y^ /Y 9\<^];!!;J8(?.:R'B-1'+/$ MZ.>+<^#1#"CW Z',O@>H_F'KPS\0 2+XE,&=?;^'$YQI8)_$E<&VO.EA,:=I M>&ES\.6C1]/ER?13=]M-W+B53 -_KQ1 XY6.[T=$XVZOE6RM\)Y)>OYD7FF? M?EQD3MXIOT>="(-J,S %;AS 3RF(!2O:I 0J?G]P5)U.A-J_51>H\MTLS,Y3 MI0S3^%""2CDZ0@]2X*I*TBO'1NON.%6'1WQ1#(OB#!,ZAGE]N[@\<32Q+!&^ M9W"D.9JJQ9#6P.D".AC4S2G6UP38L&YX< NIP2@;HT=UR&'7X)WC-2.>=)XI M]9BCOL000S=9I\^(SX*S5EB@'_82@G6BW4+.X6<Y')-A2I\T MS,8TV
!J![\%<5K\Q>&(S@JZ%3XJCP-GP&&.IA M0"9\I8(H=7C3AVAM,!>&ZHH78?AB#@;,;MCX',XP9/,#!XC!^P9_7%Z_"6BX MLR5<'([W;.LA>/=9!"V/7TEB@ @8J84WE/@..*3#+ZB5F)E#\>40A!4%'!B MK;@35%W7U@P&6A?>=0?H@PA8"-/TPVA6S$HPH0B@;CE8(%4=T(&N1Q %#S\4 MH'HL#J?C?;>.]'UDP2W&X2@4(B@&\DBIM;S(#1 :5] 1EU^!'0)?@6FJKFW! MJ(OEW%ODKYF!,33V<@.XX/*[>HRUN1IU/%4(H6\*;$HKZYOL @*&W=GE\M"E"&3-31W\B M_B)SIP0HHX#'9JC#;*]PN&+# F>&9W*S+@XL;(;Q,P3DA*V#ZU)U?H/,[Y>) M ,B,@1@NB<#PEYD0.")/@D?IYI2[E2$0%S?OH!Y,'?D4]P_?K[S#WA,^/:"5L\B;3WB'O+ZU:3XBV7O1C>QI%I MMZ\1N%=8([D+,E=@IT96*70"G WZU4)]PZK"])XI,R#U"H\:)MY/D128O MV*#?6+ "L!@PG7.\POG3LA]=ZK"8_K4U]SU<(&QQ4*RH%0H1V$+.0XA4;V*7 M'D0\!@/ZZ$7-"U/8/ D^VK\@_@6F_!TZ-;FV%"9OJ=K=H.<(@QJ>(O?Q*H8J M'%UXY7L<(A9,F?UZ2I(BGP,0;>DXM.,0AI;E$:S#H=T,0YN&0AN"M.X,Z]J- M?6/KCW+(7(9DF<<%H./F!0*9+P+G"@!GI]]T!$XT#'Q]"=L,&HVE<:>'8Q*P MG8U@V!(QM=H9UG?K?%C!<2Z/(PW=05^QM1!?7Q++MF&;HODL2((Y2Q:4S(+& MFX:&LH!E7TC:5T+["]5QL(\)=YB8*U48)PIP&[8@ZFV%Z&@(0@=KV?N 9_M+ M/-MC,.=.Q#1%.3SY0\7K2PR/[,BYM=6N>Z$$Y 82(*)O>S;\(_ MGR\B!U,6I63I.^'?69S294Y(;\T X8__;5!'=;39@CV^2W/@#*@S?:7760-U M(:6K6=(EI>( I")PS.XHQOB#[]1(,+KKV@CL+QA)1S$*B[,:*!+>$MX\I(C7 M,N0Y?)?Q&_VM7ZAE($S&D(N.(3<^5B-CR#*&+&/(!\>"QNNEYK- QI!E#/G8 M:"]CR#*&7,M3N@R72J+4(Y[3/888\HG27=>12PI7LX1+"D7SA:+>$>23P@/( M :CP:N%.N55W#YAV'Z;7!\5%F;+[64[^LCCO<<&@:@/P3Y;7S^NF--6=D:EI MOV)I,_XM&,A@*+2N1[ DREU6Z+D&3%IU$.79L5]9T698#>B"0&+EE? (R>NR M&DMGU73\2R&X:C"6P&#"*J^@"!2FKX7X_5CT'STP+W$\=V/3>JSJ%1#+%53* M]-$*@I'^\JFWS_EKM Y+;9WH)M$!UP ],36KY\0Z0A8A0F%)K$H%X7 *09T7"PZ'"HQ'_ M[$5U#!7^GQ6H8WW;FK]KZCSRIU7&!I_;SGRF6O!@5Z@/<=)U/=59T2A"&/ 3 MSX'OH-;$@4 0R$I).1\;& ([G W]:COZBE0!51]_&# 6#NAZCOV#?A* FYR5N9)DG2M)%KJ>O2%>LTSWYG /_[/GZ7)@(%U.L>J@C<7_SWU>6?7Z_( M];6(*/UKLG%57_^<<*EXN+[Y1B;?+LG_;'S^3_[TY.O&IZZ__"]_[OK;[V1R M<7'SY[>'>S;ZW=7]U=V_KNYW<:4LWS23N+YGVXF?5S%L&JAPI>6Q3"BVUL>F M33M[Q6PO<\7L(/_"T4,;LI3\BC=?6*66TVON4C)IIXO MP1(Y!H,E*>)2[("O%05B!%^A2,&<6G1J>!_9;QJ5-($U92 +/\^#^O>507DT2Q<0T[5>&8X3H M99>V_^A-?9,$YU7RH?/Q-"O[!!T&[]>KH%UNN"I^7"ZGH"A)5T*K6>HYIFI5S7JY@B:MH'Z/'[B?TRO+ST%G%#W4E(9$TKV1RVG0\%@T.G-B^Y(XBO"UU121A<_I?^,TOML.[ M(GZUW5B+F,TO6=>%ZNTI?^/NL(I$T&.1"A%R?;"QL1E\?O43NQRL2LF:3ESU MDY9.2E-X*2TQ:?FPC[@L@\&-E9"3?!/+/Q;A;312E>Q@8.HH$*->ISQ(DH,Z M6);IS76E-Y=ULW5JN-DZ2GN0;+$H+715_ER\X6?]Y*6X:I]#$9:"W;FZ"TAW ME.S*)]TY&2]HD#MWP%Y;1WIM6?=4NXY[:B!C*-P^LG+9T3Z>$7*"W; M?;8:"(@+JX7/MDA*W>3D0"1$Q@;6^&Z_!> .T?3=J.\2[2.Z&38@GDY,.O.? M(IDX7C8L9*S3>5_3:JVP1"M2MK6M/FN-UYM:I]5_O\H<]&=7N\W",;:S'3DU M_9M55>;R^N%TUQ?Q.]18UJ\>9/VJ0=9OV,':P@1RG:A/*E#36S[@4(T:K"]I MT%'S4;1#=;$=*K;CQF)V_(/H-&V\K#S#>FN[2[",U8UPY#+7/229^]/2;!,[ ML++&Y:$4O3H&B!YTJ*&HH,B!9V #P*K;%-_94*MI,VE'K/8 M$P)FO$M_Z13<%_PL),'&?V&O_/IHZPOX=>8]FY__/U!+ P04 " !1@I%6 M"$_TDOD" "/# $ &0T,34T,35D97@R,2YH=&W=5]MNFT 0?8^4?UA1 M)4JD^(+52I:#D3 0FPH;"VC2/ ZPQMO@70LV%^?KNX")+TF:2*6R5#\89F;9 MF7/FC/$J(W]LJ\K(U SU^$CQ+=\V5?-GHR,KK=(0WM8ZC)2!8]RBP5!W;,?M M2SE/(".C\0Z'5..4U4QK&OD^;>VV9<>2<3GO6[S&Z$2@H3$M"\E>,:+ MIY1IM6P!:4QH@[-EK[WDEVAM!XQSMBA=,T9Y(R//N"=O[!DL2++J^62!,S3! MC\AE"Q"9--L:3OI22N*Y2*4,5/-I3@+"44=&2FN@*JUI#NRM_)VO-180%HP4 M%=B6YR/G"GD_!IYE6)IKF5YN^R,3ZDJ# M;'E9[)(W5!O88G_3MKVIIEN385]J2X4]U0RCLF\LPQ_U);G=/I'0P'$-TRW\ MZQI*3T-TW=:FGMFK;O[(P3YAKSC))5.4Z*KK&Z,JI"N?",Y:OK&)7*^?+J%N M2JX6[FX@=RN_^'++H%O!64*,&T&*X:Y!:$8BW(,'1B+T:3C=G.=WZIHX-ZZV MTT&TVS/TIK@"ED8XK5QRLYVOS%@BROK2+CZ7*"+9,H%5CT.0X$:(DV2OJ \ M%#*

[D'/DI1(3&2&?-"V3SJ&ZX^IQ0."A8#:T?'.,^Q M_0(5E_P_:/%P2YP,A']]3BA?K:W\3"&J?_AA-1J MDT((>>FZE""10)M(-(D2M*X?'3")-; 1=OJR7[\S(6VV5E,[3=L7\)WOY7G. M=[8SCJY#UQD'GN\>'SG1) H#-_AJMCM-V[%V(NJMV@"'5:!;.%@/C M9CR) D-OP/$1VHTH5[1T'7_R!9;1;1@,C'N6J$W_O-ECW "2L34?&!E-5>7E MS/=F.2G7C)M*%/U6H2Z@EE="*9'O5*G@RI3L.^W;SW)*@\+ MD1/,Y(63J^G *-EZ@ZF&0EP#5@+4A@+CL2@+41+%!(?5(Y0T1=@\UELUC7ISJ8BB.?I*^# 5 ML@F=3L=LG_7.NW9CM^[8GWN=!C*ZG$VCIV[9,$5-69"8]KFX+TEAN-K:[G;. M>]V&8VEC%][DTVYUS^S/3SZ$)V_T:_>ZK>['O1^2N11X!DOS'$0*8ELB;2P" M,DN08P)>4;+LE*]D<6%_:D"[U>XTX)ZI#=K)@L9/Y=/5%!FKO(Z/4L8)CQG) M0#[72H/4IJ]L@HPW--EF5*/PL-!B*NY( SLI;C[YT33%A.R.3HDH&XH^5!^!T5;+0FZ 8[F,B#7M'M]N'_! 1'+?+U9W%@NH=4D#4U5R4EWW"P)$MHG]P) MEL#[(+EUVB\U-"RKX5K2@AN1I;M"GI*\N("1R O"'QLP;XZ:S[A^QG00_"#V M.)A DUF4! M 9G'Q\9N0RO&S;AM&/;7[ZFV>03(#,EF,O,A$[?[<>I4U:EJIWX__*O=J-_; M5JN1S]6'SK!M-^S/I8MJN5JOI(\8KV036/VFV_K";NZ:W7:W?UWX=.\,[0*] M8/DZMI M4QZ-95B*U:QV-HNO6/8\4G&LINF0K\*XI.7?HE;=//M\*H-E;2BG0K..6+"^ MFG*<9+6=N\YU(9+C"8ZJWS3L;Q,YDC$CRUB]YLU[QW[EMF?[>;#T/EH8Q@S[#[K/?0'#U9GR(;= M'^%]2\:VX/8?VO: U6^[ +'RYD3&HJ1GW!6U4"TB/BLTJA>\5+T\X:?U"DUM M,*O3.F+5!^_IJH=."U83(P-0T7>&#@ZW/S?OK&L,ONDE*>+S!51+/TEBR<\KK'G,?SY%A"J9>:P M"9\+%HFY% OAX5RI&0_#A <8G*DH9BIDMRJ:'A&B9Z7_KZ)3^V2 M)6$<)8+IF,=BBC A_!R $"\23/C")BX->=,)W0C\WZA8A$M@E9 M,)4Z$-R3X9@M9#R!A7HF7(.0]IT!F_)@YQS+/#9:;O-P];.#ZZ*XFYC7Q&^P'2\CK;>R]!'^/%88A\9ND'B84]PN!^J1?A!1L&2S< $>9&\ M&P0;-V4$Z1T$B 1/TOY%FI$$F #7*/!G3M4&ELOUA/F!6NB5WY"]$C'.<1"G MP10^P!;SN0W_>H5F"_4[N>"RS(9/- JDG-)VF39$[E#_T[$GM!DHG$<*=TBI204K:+%*N\#"N MV0DX\@1(3WFPO[D3'HX%LQ"P_23 C.,JYX<3L:Z!=,1QE9-6/5DFJ1:$J?,) M+Z,LV8J)U$5DW+' \[D?0_=?!=W?0"=7[,8>=B(1?TVYR(:HP:Q=_O["\$(S MDL]Y0J-'!35&JS:!P)Z)@R+IJ,L3??P2TK.18.N34H54280-D&-SJ4WJ8I8( MS3Y4/#=)OZT?D0BX<6HFD1L:BYFVT$L) 0 6K0+I\=@ '6GI21Y),D#J?(Y$ MV$A:2%LEFM359)4V4FP276D!1#&4A5;-.,+)30). @6[#(J-2F-%JOG;M0J_ MC01-A(1@O?!>(QG_SL>C4_;$Q?G9='WHIH^%[RD0QDO"0%/W0LQ9WQB:$[#1GEYW.'BE6JBM\RBV9)-(._ MM2DYKJLBSR P97DL0E22 &['&S&C@*(IZ#E2UR+PY PZ\O[.=4^9F/,@,4%. MA@O?1WV4'RP@1R1M^GBX\AE78B$23J<%=J22^" ",WB,K/#U;$%- MA/_C%JC(1JO^A/!D3 #/%6U.U_CW]89WNC)TGS!J4K.Z8]X<\<.^5QQ4TC@H9JTBOI=(,8,LIKD:Q M,*[=7S52T&%ZY4E ,^M/X%!DIZ;LQ_]4HE="+;XF$LA-P"6A2_A/:Z^Y/?[; M[L9<'J@$2=!/K1:U@:X4H"L3N'63L1#\D10KK0!<SQ,K?&U47BD!>>3]*T M'>"1R2PK>5@![E&8BJEL:FBF3J;@"(088S*I.7CSVB3$ MN_H W0>U6JMGC\Y MK>']=>'R[/<"N^GV6W;?#&<0TI%2L]MN6[V!75O]\ET+=^F@+]_YG('4;V2_ MM%8'5\]P&;;H1W]KZ@K##+%0&B&#'DL2]UE/U/A<28^]$$-V[,?L6R)H M+!S_.;5*0R/DGH@V0]^8N6"PW\[,OQ=&0457V%U]\)?5;C?Z]EVW_Z5>29\8 M?4W,WG2[K<%JG!R[(>K=2,H^,9W\Z2J.]0G]FPJ#YZ]0_4$L# M!!0 ( %&"D59'>*5)K0< %P; 1 9#0Q-30Q-61E>#,Q,BYH=&W% M66MOXL@2_8[$?VBQVE4B\4YF[[V$(#G@3*QE 0&9G?G8V&UHQ;A9MPW#_?7W M5-L\0L@,R2:Y\R$3M_MQZE35J6JG>3?^L]MJWME6IY7/-%0/BQ6=4<;*;->32582E6BT9U$5^Q['FB MXEC-TR%?A7%)R_^*1FWW[/.Y#-:-L9P+S7IBQ89JSG&2U74^]ZX+D9S.<%3S MIF5_G\F)C!E9QIJ5FU:S,B#3CB&H7[XA!-=P8C"T[>'8N77:UMCI]UC_EHWO M;-:^<^Q;=NOTK%[;L;H8Q@Q[R ;WP]&]U1NS-^2L3VXP_NN/6+-VSY M;+PYD[$HZ05W12-4JX@O"JW:!2_5+L_X>;-"4UO,ZG5.6/7)>[SJOM>!U<3( MR&[?#YVQ@\/MK^T[J_?9SN>L]I@8J_WGXK*XY>/] VB/#FO$K$Y_,+8[CWP# MM,:=%]4Z ?S_N,K09@UOK)X]*O6_=NUO+".L7JW6?\)7K?X&H%I.D77X4GKY MW*C,1G,9SXK,%5$L_36+9SQNL.<1_/X6 &IEYK 97PH6B:44*^'A7*D9#\.$ M!QAK]D#< 7"FXIB:E5FCJ>P*E0Q<[$7ER&L7;,DC*-$,!WS6,P1)(2? Q"B M18()G[L8BIB"DUBLTGE/)H3"%5KS:$U3YOQ!X%R1SVTWU1CT@ 9G!J2R= AF M,%=&;C+'M!#K <43$0._[HSIA'[LUJ]$)+)-R(*YU('@G@RG;(7H@85Z(5R# MD/9= )OR8.<2RSPV6>_SP751SN>>=8=@O@QA+W&WLZ\(7V Z7D=[[V7H M(_QX++&/#-T@\; G.'P:JD7X04;!FBW !'F1O!L$.S=E!.D#!(@$3]+^19J1 M!)@ URCP9T[5!I;+]8SY@5KIC=\B,96(<8Z#. VF\ &VF,_M^-<;-'NH/\@% MEV4V?H3SMU]JE[]?Z8SB3&LH?)3O2SP: QS&(V&H@NER$@@RB0FX:1)(/:/I M-&V.W*'\H6=/:C=0.HD0[I16D0I2TA:13*0N(N-.!0X9_RET M_U70_1UTQQ1 DZ*'(DURKDI%9<(PBHEI)W>>1MB(;O)9_(0,9K M4O!CQU+<&9\8NM.047X^=ZQ8I:KX/;-HD40+^%N;DN.Z*O(, E.6IR)$)0G@ M=KP1"PHHFH*>(W4M D\NH",?[USWG(DE#Q(3Y&2X\'W41[D$8JV-Z?'1 G)" MTJ:/QRN?<246(N%T6F G*HF/(C"#I\@*W\X6U$3X/V^!BFRRZ4\(3\8$\%S1 MYG2)_UAO>.<;0Y\21DUJ5G?,FV-.>4%ZD4 JUTTB8F4G1OG@9EQOE9L2QD2#\(R4 M&#:R-%^CA7X00=9J'\POOH2@_>S>,G25UN?W;<\^O;(],S>V;:0<1/&^NW81 M38P?6I_//2_<3\KC!AI'A8Q5I+=2:0:PY1Q7HU@8USY=-5'087KE24 SZ\_@ M4&2GINS'_U2B-T(M_DXDD)N 2T*7\)\W7G-[_*?=C;D\4 F2H)]:+6H#72E M5R9PVR9C)?@#*59: 8QFF>)E;HV;B\0Q+SR?I&D[P".3E4?"GGM8J<4VZI_S M6%;RL +VB& M,PCI2*G=[W:MP#\9Y&\+#)?!&1WNK6]Q.1SV?GG MCX.0>FBC(\9QE8[S!>/9G[S2/*W0G\LB(_&GFV][VYUVV95KL:HKQ=+P!K$+B7,#@9!J,@ M[!L7IW[D&7H"MK=PW9!R1:5MN?XY3*/+D=>3].R()EJU[$%K2 M,;V!4"P(GN2,_)-QWY#L*L6CK('MW:9LQA1HS,7C?O>%9 MY)][*,857O@[QM?TU0;BY"R2YL FY1OO:^;RVZ/OP39UPX(R]:3/X/O(NP1E&FJ?;Z73O@)[.NE>) M-MOG,!>%S>2Y(9M=II_6VV]R@:1P%W^-*H$VM%;?_I@[G\Y&HI%3OA*#PZ/=A%2 MEN>N*)% >4QC^(L@@EQ]XK,B/]HS&VB4[EX#2 $)RW#^CG5*YTO)%$/-"(_! MNYVGA%]1P",6K"A0,:V 7AD312&EDB*;9MG>JF J-6L69&W B:170J[ :<&% M$''1@&'*:(*;XV&*75,(DH3-J6R4^\U6@+\52U8-4 (6*YC10L$/M NB(HL& MF]&,4?PR7\IB2;C2*S>2I?)!I6Z5,:@JB46N4-G-;WY:J0,8M2GM0.2,<%HT M@]N,(OIBJ1;I#M#;__C"Z-HANQ A61U&R3++T%#H M^4P[Z\Z!DOZS9)(N,"L*C?S %'H7# _S8"?>O=/UWN=W_JX5-K_N[1^5!O_C MZLXJ=1G'<%X0K8/.+D481Q>R*@;7MB!,HC%R20NM=D-/DRQ# *P,#%,/)W*T M0]$HOTH8)WRNY;AAS,JMM8JX:IE55A,YE>6916VD[:TZR5KPUF7$)3I(5+-:.1,IEYO_>.7JCZT MB[X5X;U((X5V_<-='VQV\&0LX9&K_X4;2]<,.;FBS9FDY$>3\8+%M$>N!8OA MA0SUL>=U>T$S&L^X^XDN9FK13,B8RGO1+10B0Y /G?+OA>'0+MIP8DV_.:.1 M'7HG07AIM:M165#KF2!PIVNY=NR]H?Z8D1Z6^7= >+L[M3W!ZH"LV#5TJ7BF M@;WLRF.^&&)G(AE6KAQ+UZ.S=W]VNWZXE)G]IK7*@0(?-5BN!#XVL*QF5;G$ MTG6#'451#H7"]>/6Z[*?;G&<7UN1373%]9L#D_O/)HR]\P+.PS MK,>2UKT MWMJ8;*4G!5IM=/_O=I(8-@ D#E)8)FC1$/C[:.U[G]M?-VA@>NW M7E6"VOI=B,+R.?D?4$L#!!0 ( %&"D58?M3>NH00 ,@- 1 9#0Q M-30Q-61E>#,R,BYH=&W%5VUSVC@0_IZ9_(<==]I)9GA/TJ8$F#&V";[C,(.= MM/TH0(XUM26?+$*X7W\KOP2:)NWE)DWY $A::Y]]]MF5W!L'?TT&O;%CVH/# M@U[@!A-GX'RNGW0:G5ZS&.)\LS2 WM"SO\#PTO(FWKQO?!J[@6/H!3@\0#N+ M[U^ '7R9.W]BPE8JZYXTSQ@T@,;OA?2.FH*"7YXL&$J M A51,#E?DQCF-!52@> P$C*!WLA#^JI&$3%%ZUE*EK3+Q4:2U!BT6_4_>TUM M-0 1PJY^:D4%'>F]W[UIGWZXL$22$K[5@_.+8T0I<\=;2B10OJ(K^(,@!KE] MQQ=9>G'2KB$KG9,:D Q"%N/Z/5B?+M>2*8:A$;X"YVX9$7Y# 5TD+,LP,AV! MMEP112&BDB(XC>7PH !3Q%EB0:RUPJE-;MD*?%1R@KYJ<,V6%&:29FR%&:R! M%3$:PHAQPI<,Z?+"$"UDCB*0E&1K264M=[C8 JXH%FYKH 0D6UC03,%79 YC M0;#ZF06-&;VED*YEMB9<:$TJWMW,=V"N51Z2:L-445$=>%IP;U_0F_EE#XCNJ=OGZF_(W(, 2:F%%JX MCF,D"J41ZVS>9UC2O]=,T@19SS3B!U3H75 _[;.CU7$9ZYXH#@_N%5$&W/YX M%"BCQDM?RI\%Z%N.&*%?6L0T2S=5S0)E(JF;9=C3^Y=C#N&Z>MMP8,O;GMS//I$D(Q4\>[T\2<^4ZW^O/# M4!_RHN]->'/2D.:#\H]=.6ZWT#,V^<#67_,]TPI#2FYH?8&]Y&N=<=UWNN16 M8%-Z)H;2[75Y "&-QA/I?N2<:^NIA9 K*G=3=Y")&(&\:>6?9\JAF37AV^ZJ M$[ CBU0'\KS,%CF:2X7J*!H^;[M;-Y5*LN6+\IC(XWA<<_NA2^:7% M;T*&[Q%8_P+O]P@W+MH/]H(-MFA%.60*^X-N[U6KQ\-P^_TY%N&!MZ!HGTJ! M>=,=1>QN&>4E0X>_8=@I%WCB25HV5]SN,<-P+3G+HF*G_WJ9D,"PH2+F,(1U MBC,:-![G11O5G.(+%1) #950$ $0 @ $ 86QO="TR,#(S,#$S,2YX M"/ M !A;&]T+3(P,C,P,3,Q7VQA8BYX;6Q02P$"% ,4 " !1@I%6E1>I,U"* M !UR @ %0 @ $T1@$ 86QO="TR,#(S,#$S,5]P&UL M4$L! A0#% @ 48*15AA&T%VOB0( N3P@ \ ( !M] ! M &0T,34T,35D,3!K+FAT;5!+ 0(4 Q0 ( %&"D58(3_22^0( (\, 0 M " 9-:! !D-#$U-#$U9&5X,C$N:'1M4$L! A0#% @ M48*15O5!U9+L @ +P< !$ ( !NET$ &0T,34T,35D97@R M,S$N:'1M4$L! A0#% @ 48*15K

7C64]3;V:M%_IAY5'L%3![8D3)GKGVATL3/0OJ@',H=C M&;[;1+B] F(NZ1-U_0'S '10BK&Z;P(R\* MX2?B75#IL(+$?=BIZ2XR^R:29'3!1LA%S=X,DYJ=)@A[DME*0% MN%U(;'JNKN%ZW ^9[=GSS>-4Q4=\AIGY!@Z2MU[&=CH#58-%,L#T"!GKH[B3 M>8^FMAVN0YF86$8)8AY83E>X CU1Y:&%4(<9&\/UIK= $?3QN:0N@(>)YS)$ MU5+S\<,*-R>R_%:F@117+[ E8X(J!1DH^&P'^OJ+R.M 1&[,RGIO@3F=/- I MSCGX@+6$.'TF?-@+[RH"NMN2)*PDQY8[L*-.+14=S.^I"],5>K=1*ITR@RW, M''B@?!J^E^U(VJG+UVSQQGI<3]%.'9:>>F^HNW7T[-39Q"S53T]LX< M1DH,G[,FC[6#BDH0@^<1RF/M2/@>LCL5T/:S\X23TH)BU@#YZ9O'Y!-_V8KX M=>\[U+:$MF>/.A'"N1%S<'@VG,PB& N[KTRI(R<_J*'$65 7G@&I2U#')G'Y:9H6(5H0$Q?O;^,YFPT MQLFH7[3IQ0F.X.,%<'O!!GK]HSDQK];]^$.4C"U.Y])?NO\.7*BCZ=68$5UU M)(G!]M/](A6OUN$D?]%P]VFU-+Q:9].GGF#M18<_)UUR,G<>>Y)[&_I>3R/\ M-1X(5>X*C*6%#NY)+THI>86.)VQ]NPK2B<3>]DP%T6B7@](Y=#\*4J2BQRV2 M3 .1ILPH(!\V'T4E(?T-"15 N4@VI='^8^ 85 /^/D)2"Z#W$J%JI&*7@-4H M!5'B0+>GB%43&1TN!V(0L$/@'/W-T>@R;,*Y&AJZQ.'FAF_JB@(SF$2RB)!< MO6P8-^;V-(_ W<+9=R"O!VYH[I]OC1--2>OPMD?T2%*<:U+;"(+"13["3'S/ M=IMY 5U2WO,BVYR6SF^&QB\9VL.GLZNDH$L"$($F7\UY:N!4(";TG?R,$V_L M9,P#NV!QFOM?:2 S(NWC== *8CJ^0K#'1PAZ>(/@GK+U8\B%_,:CR($%]]=/ MU'/\@<+L:HGH+^L2)PZ-W\.](UL9%S)PQM(*"CKXB^XCG7&7+,;'PE[1-?G3 M_P%02P,$% @ 48*15E8ZMVJH&0 :7T! !4 !A;&]T+3(P,C,P,3,Q M7V-A;"YX;6SM76MOXSJ2_;[ _H=L]G,ZG?3=.]V-Z1FX\^@)X,2!DYX[B\5B MP,BTS;VRY*&D))[%_O>MHAZ1;?$ERQ+E;F#F=J*(5!V>XJ/(JN(?__RZ\(^> M*8]8&'PY/GOW_OB(!EXX8<'LRW$23T\^'O_Y3__Z+W_\MY.3;S2@G,1TB=UZX.(6__S7]X-'XP[OW\"O\=/;Q9+#DS#\Y?W_^X>B_WI]]/OOU\R_G M_WWTOX/;_SLY01%\%OS^1")Z!"('T9?CTD=>G[C_+N2ST_/W[S^IV]^ M?HW8VMLO'_)WST[_=CM\\.9T04Y8AJ,HA=54E3O[].G3J?@KO!JQSY$H/PP] M$HM&U,IU)'T#?SO)7SO!1R=GYR^G1,IT?B\Y_CU9)^.8[8 M8NFCV.+9G-/IEV/BA[%HRO=G:>E_OPB1!C9! K\2'Y$^S"F-H^,CK/3[^*:0 MG$0Q#T\6="+HPK^>*DJ?-B?70PS_116*1M,;T,(%M1:NJHH]27@1+I:U+=A+-K_WPQ9Y]22T[RCGP_I&PB(E!XB%9+ A?C:;W"??FT!'N M.?/H:%IZ9^#[V-WH9!1\)1$#4:X)XW\E?D(O:4R8;P2K^8_NV HW 8Q ,_;D MTT$40>T6GB#T&A(HN& M:46.G=OJ&20(.:,1=IPPR/M\\=@*L&EE.TI]S\,EY?'J'H;0&-KI"EISB;WI M3?]D;UC :> K._=GCR? _^L2AC/ZUKLVGEMU5JL:=QTW0<59/)AQ*L8Z:*%A M&,P>*5]#RR@)[B]+LV&Y#"D-G=$OBA,.82:$/B2=#&">8+YY8P#:O;'=M31:)&+%& M\9SRM9EX&$;1Q1P&.!K=!-G:1ZB=NHB=:N_M\SNVS,.<< JS'9W@%Z!ZL<:M M?IIU00O@.]2^\^R!RZM'\KHYX./CKW0:OKND$S%B_J&H,G>@QA#C!\N,^Y&()/II>4G@9 MYB^HJEA)UILZ.I%+M*5'? \'9B@YA)9;:U/Z&M-@0B=YJZ*H.QBV8E,D]-8^ M(4R4D*_SAE^(X!-BLV%*HB>QXY!$)S-"EJ= Z/DI]>,H?X(4GPMZLP=_OZ-Q M^DV<6O*Z??)$??'%OTO>.VU/PH+P;)[(U%PAJ[3$)HT#O@Z <"^O%GY?SD^.>N %81R#4A!G6,6)+@,7>).(G:NK2GQZC7F! 1G 733&VBKZ Z& M3B@)S0BBS<#8A(X;Z9G=TU?[HAU[@E^M8>=O&M:N@F684$*#X:GR[4X);:&# M;*I'92-4T_JA*UJ_<9 *EBSJ$7SMK4YI5*CA9O.O"5W=[+]TU>QC^DR#A.:J MR(DG%J07210#*G[UZOD);A;@(@C^A^LA!3VU:NN4Q@JUVZ2O%JAJFO^C*YHO MPBC&S2*!1$'@QGNN4[,A;G6C_]K96J@8(_*M2I.)ZNW=OHQO%:)7,_&'SIAX MH&*B!"/NEO#?:4E8!26J0FYPLZE7F\RH$%13]+&[B2BBT YSD/42^K,?BK,) M/4F:(#\(.)@L6L"A&E,]43Y:V9#_HTL*0&.7ONV(, MS(5P?3S7C6%>QV$T0':&M)HD$CH:VS38UO MA 41ZC2-1@&H*TB*(=YAOEX$"\\4Z*2UY1"M:QK:K'?2&3;$@K=7#U[C+)Z.NU% M-9G=[%N6D"5=[ ]=C9B5XLO:8##YGR2*-4-H[1H/5AM,P$OTHF+#K:NAMRH: MHG->^@9 MX62S$\#OJ:\>=!<18(<1-&FHB,K&;%F0=KL;RBM"A288=O0]HB#L-0M(X.$& M!BRMGT7$B[HO&E?2;4?M1*,J^KYQ[#O"P[(*;"K7GUG',;*Y& M6XYQMU:D]<('J0WK$!VS6L=TF64M&$UOZ80E"Q3U+HR5TXZR5,])5&)SS6*\ M+T1%[%AHFUF2&:YER@9XRJ(/E6+S*6YXED9+G,7PDKQ@6. ]]7$)?A[QZ MI6TPGMI7V7?*:P/71L8T,P97+JE!:F].03\Y+,O$$23\-.-D,0R)?"RN4U5/ MZ:T/V+7XF?)R7.S'&YJ;FG(]Y=40G3XTIL,9MBS[D 68:2Y-N6OT17O.H1Z@:P$CVPN#@>=A[)" MS<,E6IHCOY2RME:755=X<+R;P98X1'2V.U6) Z4NS3D9(ELED-5RB,S+L$KH M[LP):UMXL?E6P+\@2Q83'UK)BFUY)0='MARJA.OS+O\]J>2Y+C.M&]KQ9+/UQ1.J8Q^CZ&06IO*4T8<6!E M6KJG=%EAE!#6G:_2#Y+^I9'.6#\?S'EW*7,ET-$@BW8]QJFLY.&-2B8L#@Z)WR%QM3*!*N.YN^^IK$N$A-+IA/K% M-!@&K+%)EOE3Q/^GVZUG"KKMJNDYX79@)91WM]>5CERC:7DT&P4[C9L*S=C+ MUW[.,/MI5TD02\4VW+ZC9AN_5;C3(15OKIL%[)_K-_YFMZ!E=P%_"\/)"_/] M]5O1X)T$&D:]\[2W+W8[$9E@J)0]3643IV^^&5^J8:J=SWE[/_5TYR9T+,2W291U[,&6OO]3<1MO4L<"FYOMKC$L MG5GQLMC#?83E=$Y):R.O5HZ?BKVWIG7L^L ]K)O,7%;V_>&?*MQ<6[H6\-XH MWG2;PFQ[:=\?_JFTS;6E<4JV74ZJFP2A6 :(,]_]?.M'4+D]-I\V"4%;6YB; M2X]B1S+;N>3K(#=?%SNU(GC[*HK9 G_X'M%IX@_9,XU:W]6\9@%H#GY[:TVE MWIS4%6SS'B.Y*.)FW'HHLJ*==ELS=K:N+=*"Z/U M"5$JB7HZ5!=KUPVZ6A#=5*@KV&GW,6&EPD%:"/J<9 MI16,24NX2=6: FZ2)<7BW($+$YF6LB8!I%CYPNWQ)N#5E/8$6[<%AA2L M+5H$DZS)L\K]PR\35:RP>15M+C4-A;H##A]?J/],;\,@GBO7HK6K[+3SV3*\ MM6RM#=LUZ\,0R']2PA]?P@8TH:CIAU" JUC]HR5_/#-)L:Z4ET_#OL M(AL$UV'"&R(_K>J'X3Z%ZYB%906 /3?5[].J?ASJ!5S';#-3 .(BQ ;YWZCO MAU""#U?)=X^G^GKE76%J M:SW(RV"UJ!TSSC8EQ83CRMZ80LT\3-/85 -%:?8SO=6<9INA'9^+[P&GZ?;P M6SX3O%\@\[\;36\"F(=H%&,\\=JUV]$]QRQN!@ EJ;6$KT)[W^^=6K7JHUY@0: M%*9QOKH!2J.[$/X: '0?1)OEL[IB!-CK5]O-M6N+XQ)^B&+F-=LZ;[5VVH5; MT*:*]+WU&\NQF;0&ELPINEEM*BK]J4SF;64\]71HLC@VGF;C7%),9^C5(DY?L M-FF?D2Y*R)-C50CLDQSXFM>\J,V=.6[-,,J 7CF-=#+F\VZM=G3U=!IR0:*J>,3!VV9G-] M-,;IVOA?GUFS:OK,KQE"XUP;+??<=(;8H>=J*N@SLSILU9Q^[-0F1S%%OFNP MR1\IV.><\-4E@T<8U@Y_GY/X&WFF8Q;1Q_ !X(E#^2"^Q]B6,(CPNIP4/AZ1 MYOE5N@P9V9*G)(PZ@EQ;LH,>5\B""6[2+N'[X0OZ@]D@J2KM1%_3L"3K:TI@ M6LN_$81-@-V76O<='@;AROBQZO"Q=IX>-LNV ,>3*$X:F(7$A>7MU\0 MSE?3D+\0/L&K2RBTV]RF'^EJZ@&IM;$Y:G27Y<^?959'V6L%%N29$1)5N[5< MA$H'B?U\KN?ZLGL#-&OCFP[C:X+B1=+$-U^I5A?N 9,V<(SM=&QM]H =JT#3D:E7YM.39?>)B/-<:]6%J^ M!PQ:(I)L!539> MA4M"K3M;5"(TS(K%M$"O"4LA2+CIW$M$8^7KG99M*^HSEQIH$H[K[G>9KJ=@ MQ \3]'^>/<0DF(!(;UFVUQ,_&*^M;*KL :&[@Y10V_ M,MLV>)Y74Q;W*3'= M-XKUEJ)-(!(:.G?]*)P&S.X\4Q?K\9E9-2 ):Q_KGCDW.?F5$;[=)K1YH<'F M[V;S8=VZG>BN*I563)1U,4MTI.YNT9Y4I$X>8.N:#H1^ZZR^YW4WGO9$MH6U MLEWJ0$A46B_G=;><],N?8NG5Z.*V5JV]8;(1M!*F.PF.3'TZV&8X?O&X@X#( MS,U$[2JY_EJK4$ZI";E!C,L]4"&]^^WD+V7%Y M4AS^1<4UA1O/6U\?9=\OK5&SX%F%NBC*M'LMX23QXMR))3M$O<@2;=*)'H=Q M#9WV 2U#%;<4FL%R;$66 07QIS#9":&NJ84^2@OVBSX=&L>699FX#\071M^" M"9F-29.5ZR5G,C#-+MLD6S&YWI 5YF/"E3Q*(Z(BY6R(#0B3DOW@PQB.8ZLV ML6=79RK6%>P';:9HF@U.4?GP8Q3<6>R2,@1 MS# A_"5]BA^\.9TD/AU-Q_0?">.XO&2!QY;$SV^6&=,%80&F8PS*)4=)'.$) M!/RA_>E3Z\-LMHV.ZS)H4TT)FK7P3V-Q\N5N]W=Z"5,'9 MUDU'N^%SS&RU0F-PV66MZ@Z+OMK0&H;O?LF:%!TBWF[=9VL+076E9K[[# MH]O-"RRM46AN,:Q7WP&R;7=GY=[7RF$0A3Z;X-5'V5V$#W.*/HTM;IOJG%+7 M/$O;E,E@ZW;]O6[-M[5VW-J779?4L94CWLH%AAK^@YZ6S\3'WC-(0U7 X,(# M3=7X8EC> 7XT>Q>&0!Q;#68^>C#P>11D?O+I'8V-#CX4Q=PG2RV_8PNX^NY_ M3G.P+J]CRZA[#BL!EKLT0+].M_4-)Q>CTNXS9 2CE?.,*^Z]=57I^<7F6^ZV M<*6XCIU)2 ,IU,.0NI@#E"A<3A2".Y;\&1WX8CH$FV0KR$E-CZZ@PP3I1'AZ8@X^T5AYO]311'P94 M&B;BIC5#9Q!U88=Y,A'?M41*ZZ?N8Q1A-/T>I4.KL>_!5CF765)+;IZKZ$?8 MY2MY%: ?&GK4S(5'380KI,H 2/.B;>Z,&^5(Z#XE@FV[;^UL&^1 <.(PRF@^ MD!5PA1J3\P6#P;_A1.%93NS1D\]F M"=RIU96*/*(JZVME[RAI,C[;0S8\+I^IZL<)RF^ VG =J9EZO%T@]7E(J0$LM@)X.R/6'+ (EY5I_6.E3C M@>+N$V4=C';><%3GEH%F:XKVI<4UTDM:NSM?41;0:#3-<@L;3/-5KSM.B5IX M"2/[B<9,%>--U*M73(B3J4L6PG0IOXG"MA;'B:F%2<)79WL#F?RERWN-)Y2J M,HY39H! 0E#GNP&9R:5G1U:@)]3(Q)?PTIGE7]X>-YAYJM[N"2.5LDOHZ,S< MMSK5DY[C.4"&U4E9U9L2W]_.]@#N>7XM$PJK\Z:O?+M3;LS9J)1=0D=WX0[A M8A$&1EQLO]H3(K8%E[#0G1T_@46\$.:>,%B'9/$*1,H$NXZ M\P 88P:&@$ZN",=,#7@=2K)(Q!82+%Z8QU0+ 9/"/>'.!(J$N\XV#!XY)5'" M5T;C7]7+/>&F2G0)%U5Y.%NS/7.%$5Z'F*V+"^%35C)OKL3\55B]G5JK^Q>/XX MIX,%'J(@U@2]!E>#Y=+' $3XTT-,XD3D_Z6 #".;LZK&T$:/(;R1/OE*IR&G MT@]UD _DR0+1D%"2ML6."M9GO=)PL66(GBJMK M.0!ZJX$Y%[I=*7MQH6>$:=ZA_>;VQ%;5<0"T5L'2QH:WO/+6BJZ_OM:\BH/B M5'-G;7?&E$3R-)RKN+6JQOB[7<,!$+H-RK'8=8GRVQJOP 5,0*;\-9#B2N>JFD,7GE:Y)Z0E(63N&I'9Y$2;8R;;!N M5W=H;&XCU.<.V">A]\OE,"1H#,[8,\"KO+=6!;"J@KZ35H7)/.5 U2GR*7[[ M"=;(?_I_4$L#!!0 ( %&"D5:9SDND#5< !%.!0 5 86QO="TR,#(S M,#$S,5]D968N>&UL[7UK;^/,L>;W!?8_S+[[>=[Q_1*:I"1*ZBO9-TT2!(G'[F[64T]?JZJK_^U_?___;_]V__X_/DK2A$. M"A1]^K'X='-W__CI/Z^>'S[=IWD1I"'Z=).%Y0REQ:?/GZ9%,?_3ER_O[^^_ M1^,XS;.D+. #^>]A-OL"?_]K_<%/S\>_'\ _X:?#B\^#.8Z3ST<'1\>?_O?! MX9\.S_YT?RGO*K_D(5!42E1*-$L0<]H_*F2]$_%8H[^_%L>S^8)05C];HK1^,^_!4E65%H_ M.*P_]#^O,\)8'!&N7PKX7\)J/AQ?3X-T@O+[]&4:8#3-D@AHO/U[&1>+WSZ1 MSWU_OE_)%>0%SC[/4%1Q3O[ZI5.[7_IA>2EGLP OAN.7>)+&XS@,TF(0AEF9 M%M#%GT"<,$;Y((IB0EZ0W*?C#,\J)F]0$<2)%#(-7^F)M^+IX1LZ&"= IW.R:YUO=MAE5! I.$KIG#V):M;PSW1 M7$.WCXL!S&/5"0,^^Y"EDU>$9S?H1T&.>U&9P!!I__8^K?9B(/@\2!>P%X'# M"HR<'$7M4\M5D) CXLL4J2T]EB6RI+]G5$\QL$RD83P/DJ=@41WIGN$\'),- MW3!MUQR6!3EB$]N" =UID,:HWOH.I1ZM]YT=@@5H.?P)@[E (6D8?H(=T>PA M"WHOW-T;[XGJ!N'X#1I\0W=Q"F,H)A\!^2H;5K4TQOG/;T$:3)".F5#GY^PB M7P^Q>YB*PJ(ZMJ[;:%6MIBSJ-+7ZT-KN8TYWA@7NJ?U;*)0M$-0NR,XL2YN! MW;-_=6FV[RX^6P1)L1C^2.))H&43K]1@3^D?4)#WM_Q)M*)%SNI_K[.\Z",F MKQ$M4KZ4;PM*6,[*ZAPT+*8(7\.6"Z,IS DP M6SQD>;XR4#>[+7*Z$E11,KJ8^WQ?Z_F.0;ZWI5RM11WR7P75W#Z;@WJT3%,= M6C6"8W4\',XKBUVW_77GMLUPLS(_M;3X#+_!Y-//>5DM]WF0?\5PHD11?]HZ M?K"W503DJBW=_0TB%J85>/\H+XH*T7E,!!O'4$VA!X77N 46!;@5UDZVO5R6#+E1:U MS,,Q.6KV-N4H-MD3P M"$DP)V1 V+AFX3ZE'),'19=0 NQZ35>N%)H_\H@R0>$^-M$PU2 MNUQRA-7\/#U:[]W[WQ!^"B9(LF.O2O36=!8?[L/+E%T^T$.@Z@=N[/Q>S53CDJ+FCWKJ\^MO/F# M&5D0_U%1W7R\AZ==J7T'UH&7(@M_-O8*.^8!SA?UV0?:@P".76\Q"9V&4U>K M2#=K@4+#9M#4OZZ#_K2B$31LQAI'_:WZJ.O1NCZ62!P5[)F3N#FBK/ZTZB=7 M*$7CN/@C+J8D3F%&]I]$M+**'!O,Y\FBWIJ3-;*$>7MQAV!A)ZM/T]0SC*K7 M#$I0V=K^4+=.X2\.?5S!_]R.QW#8@8[_BF 08)BD;V+X%6R>0OC[-"B^!F\( MCID@9RM"O3DM0;4;!(4QBJ"I56380QS\ ,45JHNW [DTSD[57K3E:?F>XCJD M\!^5% V)^>U'<_:$-1+@Y"0TQOAT#>0U(HJ!)=F6-83D<3[5(HZ(15U6Z4 MEHE *O.1%7H"),S+J31$)-O2'IO1,0##T'FHQV''D$0*)/(;T!0!V.SH2&R\ MG%3TBOUC_\GMGC\"3 P8B^7V6JXWL2L;DDJ!0U$3^OV"79U_&F29S>)B.8G# M%\@.#PY9L:2JN/5->!^[^P1=>.I,^>@LW6[7>(7=DL0&)->&@#6M#$+85\'_ MWZ>L$FKWIGI^1)]'1]5IH_/;2MOPG5JF;L7UN_IF3BZUQ9'?AE[?6A?OF6X9 MU/;PM)I&[X=IN 1F6$(%!GZHA;\WXCQOW*0#0XR']4V23+_/,D".9? .K1%Y04.?D-:3(GZ(\JY A%LUT<.TU44$C9+[/:E*?,E2)+?I'!2 MDFXN'1T<[! _PIMS0P99M M-GVMX_ >XVPFI[_F\YF4^&4. F7S>O7\[5.&H=_\^;=#JRSL1@;4^R 2'_"( M2,::X(-#C$SUT>'Q'G$ECXA.WY%5^D"BM7@CE\1K##BL-J+P7%!N\!CKYB_C36 MK4'HJ^?[0VL?C'32SZR2/HC^5N:UK> U6UL'GH(XND^O@WEPM5,6\)RYW()PA@.=%08"!A-V;2G<^S*U"4+(D'0;L$]R>M149DX1 M&8-1NS8:QC97S"*O'BC)Z6E2G3DQ&@9;=@TYS\1IG*+5&UQ"FN@5 -'%7O'# M@\$@QJX9YQ57 9,+N46*4AJP7.X5)4P,##[L6E@8%J(JME6C58W?'DSS3K<> M6HQJ,A 9E-LV9K#E;]MG;C_@=!KG:Y^V(MW4MD /)[\&U1QX#)IMVT(XME]- M/',: TV8L7W9-Y1S\#&87JY07S8C1C3'D/1_H%>Z-^Y&")+?C.0D>. $D71I M9G1XJ31C,H0G_BVRFK\%"3$"-#'ABYKY&Y2'.)XSO -*]4='!TXVD=U5NSE& M.H#5$(W"(*T)%\^7\>*U "R*Z*5'1Z:,AA8)X4'S(9J$O%(5XRJ]?O4"('E] M,ZK#E_^"DN@NP]]SGB=%JC[ =;+(Z&*R U@?XE4&@#"*DY+<07E!87.5IL[A MAJ([4%.=;+#)!K$\C$(7K1;4.A\ASV:BHWU0EQ/;BNZ^H5$9/H380*\N81>S MNN=#^G8*O3^Z3H)X5ET)J']8^9B;"\N\_M*US='9Z?%Z,['?W:2W#C1$^7!V M6F0>NR>)>!% O0K2G\O4(;SM%;,2;#.<6(&T[ZD$"/T(PGE#N(ASP"8Q%'<* MP]3CY,2O?8 QD/D0G]+TG_K!D'#Q"CO"/*BN)7X%%9%@USJ!+S\ 6Z$5@.XD M7DDWJ\6M_,TKA+I?LVRZ#U>QPD)MMC"=@"^$QNMR:VV)&@?HF7@ MN!)DI67*=J$Z %,[8^:L2GUMVH,DJ-4:*6HW,V^Z,@ M-G2W<-5M3\QL:J5B0COR)3$V-^!Y$7>S*=]C,$/"0$16E1J8(8.A=+PH1^$R M#%'@>!%QHY\G7\)&=1,F#!K587*!?=(LSO,,+QZS@AUKR"Q;;ZN" M"N<_455 :6@ 2B]642&, M-J66AVG*:;RIW"BB<\8!Q @1L&LM8>9KOEJ\PF<%RZ%$;<#J\.J>SA51&BR# M6+L7D=B)N.&CPBE5HC9@->14DEX:I1E1)'0;)(-0NQ83*X3ZLDS:85:T6!XI MV5E8GO?ZT4^\D@'D> M]>2*!XI!DY(]AC'O795Q$M4/@E;YO4F^*2DR%&H#"*#<9.9NR[S(9B2]PI;4XN0@_)JP+CA-."$<0 SV9% QF--@ M/\EQT6(-_K5F#/XQ>B:)GQGKV<;? :*9UE8L"AZ%V#58.&;4S!\16"9#5 M4!"D<,VAZ(RAU+:H#+5J".'0K5;7*T,7_0KG>PUV H&>OX&69N6,J^F-,C#+ M.?'J4[OGKH8ILC)TJ^$T+])M\"'6;;L,R.LD1EI6M[NR,G1K-R3B%0?56;1Y M!E;J9,>L,SH\OCP[^%6B\R1@,BBT>SRGRBD\+'!J-?A=Z1;?!H7 '8/?,WEQGNOT(I]S]%[=\@\UI1B:IX4-G38")<0?:\LF\ M>I/O+@CKIPX%1LR=PG4$I)EMG'WS)1L>@RO+254WY!,;P"C%:T"&DL#(6RO9 MBI9A9@L*@QN[80GZN/%EL=))DFAQ.M$187N#8'6E%83XW\^*051,D&QF#%_,FAV56)Q*.4@N5,VFK!L<" PMV[43/,0I&HZ53BZL*O6-K%_$1"<$R6#/KF6 )N4# MR3:*A;MF4=4:J&M+G9 &>?:HX!C9L>S:# #&TZI9?" M;APP?" \E S:[-Z.T$>;+VN?)?Z$BZ#=^Q*;Z1YN4$C>34&@@$G\AE+$?75$ M6)?X?TY.SW^)G(4*8!G$V@WO()D47#]/:#X"WC?%JGX"-@.,0*ZP+6 MBXN3BU\B-:$"6 :Q.NPN3[!A@"\&$Y@W&M-%XZ F:P9]>>P[P^]#U'XS)YB,>\/+\2M4='AWM-KC)4!JUV'H,9A/5K MVM!6O@+_5.)P"HO#$X9."=N =9E!4O4J% W3JR"/\^'X+HAQ];"1ZMLPO7OB M59G'9-UJB;=5&QV=V=R]+8:ZSV8\XK6\6U"^9_P-%]Q'T%NB$P2K3 M;"4SG(7)_;LF8SMYJJ?.X;Z=EK9Z(_-U&J02.7VMRC$Z/G=Z-U7< ^@CVH&2 M-+R(TS\?3CA%49G 1$!17'ZU:/U+^,Z]8E/ AIDM&C4O:M_^T0V=QGRH=JU> M%) "^Q:C!NC!H5.G)WOG>&@"UM.5.(976!=@&CHQ2]NRN 3(!<&@$$1?6-GO-]T"M3N/M_-C4;2C#AU=X=,(C M#P\U!]GF/4=+G6SWPY51Y.+4Z2OK/O0XGF9\>&%(*];JM9VB]0=;W6_GPW X MS._#4N$DBM^GV4N@',&C6@X$9^6/I7WU!NW2>Y$CEM5(6J-]FWI9;Q4ZHV-3J^L#N-W+&%6O7*_"G MQ=JBWNK4(E>1AM9!(PZ\1]UXHT\&VI2@\]$]YZ;NCDZF"X=O.N@G5,WO=,%. MR.N<3HV>BPM7EU>E".CLL+A@1@+\4E[#"^?774W3*+P!Z\L"?K7X%OPMP]=) MD(LNK2BT BKPP-%O> Y6UH=B,CFU&GA.7S#12*444A_\33 O8O+PA'$R0 MU'V,/LV"7IWZAW0:6OKK08Z_5O@C&P)\(2SNPS/@OMT3/Y/=/FF2S.U MUL^5%LQ> %@F:=4F&L'-)%JEVI[[J9?C!55"^R\C5I:7;]K4V_ D.[E>ML$VY><;!!%@\QW_[JX&PG$0#E+,*)8RGA M'02[-%,S9#DS T>P='F1)W#&2B--1@=1HWVXT;98<(%[T/QT*V[%*V M59GJ->!SI\^BVJ&;AMF'L^/ZVK]8#VU/H'RJBP[M-FHV$RPA%;VHHS-H4H%& MLY+=PZS]^)I:9V8V;QV3:?2C7G5-86O$\X KPY$6M1H,O>!J)-)F19R>0(N5 M OZYHZT:-?AB 7/?(40V,KNA6!OA"!0@2H$;K/H-=*>^^\[#5R*,0XS;EX/^ M((KB6HB6:>.7R*-8FRB=YYK8L-)57>,ZRU73EC :J3%>^IL'8L4!WXV@@M2' M4[G+=(2U2GU+22@@NCO*O4U->)_"?(M>"NC"1-('\A&Q4Y]3JQD"9D+5S:8I M7+-)[1U2H'TX33,$%6Z1N?4:B(;<'=('(RD2E/C;AN?#\=W/S3O7:*$?MPI8AM&$UU2*+W(7[8M M.8D?(2_T<)F5K]R@=7I;59W3+O@$"< LF6V#)$A#]#)%2-90PZK21)8XO'YA M:J4?P90EVWR.$2[6;]P-T73DW$\WE M]LPC LR(-+";^:4KA?^2P^2?NM: M&*7 ,EC1D>MA]]/,:9%;OA'6D!E"N*I)J5%*\]MP&+K78032K7O7RY I$H3+ MCHXT#+M"W*>/Z*-X?4?)&_J6I<54L-K(M] ,Q1N(9&00=SMI6@2XV,0IF2Z MD2;LOU" 7]\S598VJC6BN\N5H8D:!B@&'SKR\3%D@#H"U[RP8B.^DUA![9S0 M8#%8T1'50I?B+BMQ%U+6]1KAG5PXT\T)#14C.EY'- M#B/BMTSA9UVN$=Y>3 M22L)Q2/)P98/T-@?%O _"*L2*-1F+ZC4A7;[9D824*8)C,&,WU&6Y M=KQF3==Y"%+>(*26;S#Y^[ZH8(P)0#&(LGNS:(!1,!P+V%D7:J1W&K39AQ(: M$@8/.BP8CR6!0K+SP#3*5#.K:".B;VE7Y28L+AZ&RNV&CS3;W.9V&*?[;Q9L M/-U[N_*ST# XT6B'^%H&L*\L$"+[SEE<5)/C8$:6KW7"H)=5&#B=S.^;$;!L\A3:**9)/9N>'7'R;@S;C>^XFN61>_Q.C<& M[1)Q4Z2YV+!W^V@V#@8#=LT8.[O%)4:4?\59SHM9$E5MCFV_SD::B8_!I%T3 MA7@&%V\V.)5'AR<'Y#_[RJ8*0@:?&H,?5F+44E03="W%38F:97:01NLU=WG3 M"T753"^[7^G8?*.*O1NZ9G3 Z Y+VX;9E'+- P3/*,PF=9/;KX/E('@PF6 T M(4F]KA9/."9__XJR"0[FTSC\%N"?L!>PGGNN)1>(O9)WQ2)G/A)5'1VIA2*9 MPB)*0L:K!A@N5L!P7+6[A7VM>X1^C5<*7]5 )$D8L&K<\ M8/<@+;,$.QNL2D RENY-Q$S=7]I",2.BN.4!AJM<)A+JI?#!!V(L59M-/EQ' MI^DG1NM;7)T(NBUQ-F>'#6P7 :&=F#HDNOBNZG<%-_-ML75G#\M1^/LD M>_M2G6'PHE9Q\X^UAIM?C*X'%.VN_P@B.CG\*6MV6V0-V;T84\,UR%3G^7O) MRF(ZF"$,HO%G"%X=D->)JZ#;1"%&HB$A5X_^_/V%TY^_OP N)V%3G?OS4F0O M7IYO3A)W .LZ(_T@K.X4+9-*W7Z$21G%Z83X'."_T6OPP;,UJK<&NG":(+3/ MH;DS7*?/T7F'&$Y$,P]ZOZ7 $?O 49+;%ZLSE?)X(+;:;I4 F9Q:8#MV7(CO?VF7[A.C'BW?K9SPDCGV[A4>' M!Q>GYV;ZOL'R7>V/)0T:F2F1.G;[NCBXOC\TFF<,D_O-.NC M+L0^G.]6V(4OV&T4;!1D9B7@GN/DR1))[M>938&SZVF03M!]VMQ[@[YUFQ!)(PV:-RK8;-A\?FV!*O,_%W(K.=R+\"[/I-;C5N M5/FEP?7A*3J+_+H^=+HBVJ^'ZG8E_X:*:18U_T91E?%N66J)2OS@=H]F&T4Y MS=6@-G)E.T47'?CPZ-UJ5:MR" _'+T46_A2LV\PZ#30S>VB#B[4$(!]>M6M+ M)YZO=PHW8 S9IJ177PEE,P8=!Y$/S]=IHL>7Q=, 3UK?J>MD6Z_3I3=G9=:3 M%/2"S15%,YM7 Y.;"(6Y&!H!!R11_7"\(1K7O\$LWV QM)N0 M;,^M; MUYS-T*=&,8Z +.!VON?4?6<$\+H*$2+:2.\M)EV)GI)&N.SHZW1/O MCB(D':_ L1:CE?.2(0O)$H"+^!^55_,)X3B+GA%11YQ.F$M6GT:)SLY.+IP& M/BL.1TUX=;SSQO+)LN1:25[G",COTY#TO&A78*9;MG_3368EI[G75%VS.E%[ M\:X;U]DL,3M+5(=M@]-'X/5L@NBH=+S IC9X'\ECH^GD%>$9":>90O\B/RN. M4T8KS8Y\3^CJ!="+)]?8PG?:$8&BR'/H>T*?"AXO7E5C"-J>X]5I:]>&?9_3 M6RC:N-L%9?#IM/6Q:+AY+!(?$KF/>% %HO@=3.S@9/;.1I;Z1N7&<_O M(Y ^'L?$ZKU='.;N9Y20.W=+;VOT/4?C,B&OIMI/\L1YL?5!(@!3IOKH^-+N M#G#]IAM'/&'TGG0CHQ-#:?6X47WRFF>XDA7Q^94:2D\/-_3J^[&A)XXZ/FPH MR2^UERC#]B':T]W+WL>FWO8P\KQ[19@R[VS@/@2'.N7>M2?1?2>PD$I+Y7C3 M6#J6VTCV]2)!C=&)V\S5G88CXWS#0VCNMN(M]#42?OB*PFF:)=EDP?<6L\J# MG$Y](QJ8D,!G[D+C#7P6QS]**%\=0V+AX]OL&B"K4U.W+BY$"'T(J7S%081F M ?XIGL.VBS;G9J>.*(T3&!N>#[&5)#1[.!Y@3"*JJYS5_',%M3SLR,W<$W-P M@N -!9;JK']3O6@(:R1WDNS8$G1Q5X^L2U!#Y[(31"]2H#FE MV9=C@0V^A9&'2L8?5E:&+$6+=Y0DU1RT?.40)'R(0_(^U6""426C(%V#6C.@ M*:=;STZCC[+=Z01;1QRIB6=+NEH66"Y$+\)0:1+6GA*Q%498 M%W"Z2A$OQ8 \:118.B)3_:?/E_71%(_"-5&'@>459W\+THJ"P?R%O_#1RL(4 M8V@<=7XOB#8B*.L9&XW!>--O<5)DL!5T=P)RMX>[GC).&) M Q)R\2T(IP"QNIT.NZ 64(&ULD-3C0')M\=#)1GM!5A'L*=)EQT_;)!?$7JM M4TK[!FC(H-,1\LEZP)?]>>A9*)XT[^Z%B^KH69O-!]'?RKR8<5YD[MDLP'9Z M_:PKJ?JP>Q$WRD$B>G965!50.HWV-3AL6_AT!(^:9'$0AN6LK,(4)8.!U1L# M3?CJD^K+-!>Q5]&K6I)^,I80E8!2?H4Z8/C"[K[D?C8/8EP'(N_,UQ7W">&> M,R8D6QB=N+FT*ZMS>O=7 N=Y(.CJ$N/N[;;#;G,>K\7FIJ23W6D_SGL#UA > M*CG9L.*[V84;\&;VE]18[FYDR"#0&*UMUU>@)WZBTH-+%X\41]0A)@#D0UBE M.V=ZK0;7:5D%%.GQI:^@^I"ATSGCOKB(;%(O=_"320%07AAZ-:4H6B* MU7BD+,:=X?L06:HOJ**&Y3"I:O=55PC)A]A2LX[X&JKKI*M"(KKZX5?P?(@Z MM<*D+VNF:4J%X14ZW"$>.)UKN)X[GE?#3)OS>07;7,91/48D0[>)ZXV'F;V2 MX56U$TPO(DW=72.M]6#HP3@CUXA7S"EW KX"O(A===X1?%G%W?<(X3J_KY>+ M:WQ[=:UU-4CI# N1^I'$U=:K8)=F3E6&5V\U?#IB;??GZ2CG=_?4R%$EF 97 M1T3O/A'LR\)KFVGA,FO7Z+43L++C7A:NN[)--!IP>@U";4PR(C.4\7H1!]P6 MDA.=3XE8P1I:$'LHZ07V;4S%+ 1U3 /V#3WA+K/GV=HEJ: M30G9<36=FJOC@PSMDLVQVQNM( K8;"3H$\[@^% LGI(@+09IM#+!OI2S68 7 MPS&SQ/X]"G]T>'9Z;#?E!%-[H@AY?L71R;EW3THLM4M?RF3P^! ?NI'Y>38O M"X1?LG'Q'F DHDQ4%4!ZE\*<3YH<(A^R?3*[%__R&*\:@'-Z=4SC&%NA\2&X ML[F9B!E93ITF$Q8?HSLU'.V76V<::>'1X>G9BQHK-S82M3@-+ M35K3)T!IWKVWRV=? M+W(OLH=>E7$2Q>F$7!1H]VC1T85;#_!Y]U0OGUD).((834<632V7W'TP8IZ> MG=K=CK9',$?:=K'1R8734":>YNC]>E=Z'\R1O<[AIV:V#!W.X3S%LR37> ZW M:XM< :KBY8;CER(+?PI.W\PZC3[,+!*]S]RGS& 3"4 ^&"/;THD#AW8*-V!< MYYZ54#;#P,]!Y(,94A,]OAR%#? D.N_:-4'6_N_U&D ^$@NODG)J-3 ]-3FR MIS\I2#Z8&AF""@<;MUX#T;5Y48H$)?ZVX?E@4#3*H"\SIVDJ_3(;/F8I.<0& M)/*S%K^)%A-&N0IJ-G"=^K4EAQ:=3&E\/E@8.>$3Z[QI.2^WF&0+->PS[Q[X MYA_\E,$)S(!F[4K7&$5QL4KB04S;&7FY#\]NT(]B_8I'^[=5]!\)X@8XZ0*Z M['4&GX3>2EZ5S[,DCHB!]"I(@C1$+U.$"OMO?]=R MY2UBK%J#$Z/;)[.-B4 M0V0@H90&B8889 M,2WT^8X!PP>;U:9LXJ,VI3B <9TWAJ5A&3[:(+RP3.EAQ)<-O!YJM+XLS7I# M!Q;OARQ(;THT*"=E7MQE)2ZFK^_9ZS0K\]JM_?H.(W[Q@MZ0(,M+M]:JQQDN MW&[HV,-CDS,M,,V].=V2[ 7-B^J[K],8%PN:<'?Q&_N0U:N]T<7YY=&9VVN% M'1GMAM,'ZU9[,UX_J\ +UZ"4'JTOC#BAK,-FD8G"!V/5)I[K .-%G2VZY#+# MJP:ZLS14&C_K"M#Y#"4RLC*$MH'X8%BZ06,$(D5W M<4HL!]=9+GHEB5$#E.#4%MAI['"0[(6%Z!E5R?*B)QRG83P/DJ=@49FZ5MGS MAVF[YK L\@(66_C#/EN'3NRN-&T-?@N*$@/)"%0\;Y1-;K8V^K]/_PL%L+D! MXB1G-_D&1Z>G3@.AN'2(9S]5H#[8EI3E)V<5G<23]D =3@.V;?"^QNF#":LM MOB2;H[/3XS-/=X]R/*T0^&"R4NI C["\PMDQ@7-CEA93[IV(/NU"!_7S!*=I M(-+Q^A"\I3Z?Q&]:%V#2'JC#:8"]E7EXA=.'&# -;CE#%Q.[N>781#%EU^B6 MLYPZL:];[L2,@;._6^Z$G>&2 <,'2\,XTOXO3$J7F+W94Y#I>VZ%YNTHBQA.KT^R3=B^G&'4J-1\LRN:4K#WOC,P:4^KOH4]L9G>J_UN>1. ML#?>+0SH'3[?(J9%@L4U#!_L?9NR2;V^P:H"H P9Z:7WR"Q-R_"R#<0'6Z!F M=GS9+^NC26LH&YVN'!*DE%7MKJP^1$G]-< Q626> M@T*4_'*[*" UHW"3FW4Z""],2&W1A/O W<* Q) =3WI_3E>NF(@V "_>+M5 MA>L%51\GPF>.[!YI[Q!\-4CNRC3*;\=C%!;Q&WIY#^9$:N'=;XG:)%SDW-3S MWG*F5-;@H-.F@LF+IT(?LC3*TONT0/A'D/X<@LP8143:A_NKX;.01*GZL,8Z M]6NH<:@ R8\W/?LZP0TE/C&Y=V#!\..)3AT^5U-)+WIYP=F)+M@@_'AC4P\E MONPD]' CW$THG=JU^L'//;Q*>DI_4(LFNA>/4#ZCMRQY(UD\-N (EW1N/<#G MU+,M2XT"&"_>D7R(4S0<*RWEK"JP;GJ0?E-Q0>>#T?%HI!&*'DBP A:N)Z*J M@-)U3DX^ ?*D[<+2\1*D[^3YLC$PQ:)HJW"D9'A@;!6NJM/68(9P' ;\_0*E M*$SF3I^KDQL,E T$$PM#U78-!/I3I%Z<7QX;NL1D@W*9UD1L] M=,(X@!CLZ# [U$&^^3!EN5(II9KT3ONS-'$Q,)2K9(,0*I8=:N!'3U54AL?;$VMX&PM"WCA.C/GU[,=]K5;QP_M=QJGQ!84:>V6VF.J6I M7Z9N \9)-*%,WZ:0H@:+P8T&1[;@@L#*,/02HC3 <<:YI44M6UN$]F=A$ -A M7)+3X+$6<=%(\SW-YRB,QS&*F%,9MWP-Q=7B(=8PA1$A% 8K&ES1EEEQO<28 MH$=XP]1NDUJH#OL_V9W&3A,%BRZYZF""ET ME#'KU-!<7ZT7Z5V:K2U0#+[L.J=-\.5Z,C1+G'!:M.N=?FB%N4@&38U.W6RZ MZ?/>@TPZF%WQ&$ 8O%A.WDZ)_6IN M&5]E&&?O) YF,-?BH7DH!$U4[U;<^%G+FBY<26-D$&QW6CZ3;#+'DENA5T% M>9S?97AUWX_\DL.R8DO5[OAPWXCN"I+!M?M@_-5C%WT'-+NAJL-?^OG B=J0 MEL#(2'+C/J3_.IO-XH+ OT/H"4Y7\%,PX2;ZEF^E6K8N_,P-J4:Q"""#7YAL(@R&52O&II>)EC%$3#M'UIF_?FN&P3]1+C M9W)]60XET#%HM9Q50#1A"(>A9 LU;#\?S.@QGVZ!8W"J(^AB*T'@*A:LU=/8 ML2["JC4")W$6'>A11L7@Q:Y!Y@EG(4)1?@?0E[F/"_6; 2U5!WYV:;YVB- MX?&AR_U/FVF^4H"93:*2?YS%B\0\M8'C5\LV7^$R9(#NDW!^J6\9@BAP?K6T M\S4N7YSANOG2FG^><1C^BA%*W[,LJ@\)WU/X!#_NE%VC%MLC8SYE!%".OQ* M?'BTT4A6BB-#EZS-+4(R@'QXI]%82H,C0T'#VE)25!0HD;<%SH=G'4W2Y\MZ M999'T>KE\E%(]8RQU:3DP?5;I;F2@\.'[/\Z,I16>%PGDN/H68:8+2A>/ >@ MCQM?9CN=) G3R.K($, UM?'WZ!)5:R1.T\=Q1P%EHZZ"RHO' C9/(SJP3GUX_>DBHK&B]<"=,:H5< ,;0"M MT$3!XL7[ >QPY@IP)!4G*M](#=YIS'=/(J70Z7AVH#>U7T$;^4.6YR@?IK"&C;!NLX([C:]09E(!E>"A [/N]QN$X[> 7"&XB],@#6/B M:E]VP'R01L]Q_O-;D$*7VXSE9I:L M-KFM;I \99AP^8CXBZ:93U:#Z84R V$L[L,R>M!8V"=^UT2V=,*0^S8U4 C9I8# MQ4PT_0B5[B6;L'V(7%E+>0W]$0>A7 X47C4 YSIGC5CW(LY8L'P(7S'$F2_. M0%/DB1R#=NT\UQ@VAM#Y$,;" M/9U>+9K%Y!DEU:8QG\;S#@NGN,%Z&VIFO^7GJJJ@$Q]":R@R"N=N9IT:F:$! MWFN]56"%3K48LQ?1.";H]'DI-LZKW@">_@LU'/CODNR]$5N\+-/*U]"<>JS% MPXFQ#G/Q"&)YO/*XO(13%)4)&H[O9W/80 S'KU-$[>+W*7G7( -9TIP8Z](\ M2^*(F))7'UJYL?)_^6QJ@\FEW0TTS^#:[K-H-5]5IM6UFZ")J$ZC[D9QY>^, MS@X#1F.^70?159# 1@:]3!&2O:_(J@*:V&\C_B7S>5\^9!^<,C0)A>=/=B4 M9B@Z3-J8P->Y/$]M0#ZX6@PPY8N=0#]E(B. *X^+6]/NJ:%TO.XGVCX*\<&= MH]<*>'9@:*MNVJ);\:%J]JO0^N#!T4ZB+_.S939%D[>.A\DWC K\&Y>4HG"V M6GXO=)FPO/!]&XDPN72<$$"N_2WC))?MJ MF"M;D5;2?%[)=+ G=#K:M<[8BPXZ\R4>GS6J&%Y)%7B>W(&F.AJIR7J&8[(Y M&V*Q!5OUC-G[@Z#1?8[J5S0$:U*7X&:W62_Y[6R>9 N$GA'4(RTV[S;KN'_( MV)PS/KFFA.>.5FR!W/X\.U&[I4)&3;ET;? M OP3D>00BM,YMRW > E'B+V?"/IAU^ ][YA>]M MWE7=/\HWW*!W4(U#>%*2\06\HR>9->$TW\NG-U4C= M/$=ME7(1? T.51;1.%R+P1Z\&Z7(@QG!0DJU&X@ MFV&'&A)H8:@P,6H,][-[Z4QGN%^][W,8B=*-.JK53PS2"_^J[MBQ^HSO.LA$ MK'QYTK:!>>%!-42;+\XX<_P)W7%VG:I/&,V#.%INB6'?5-]WJ?Q/Q2#/49$+ M/7+RC31:F%T_6E_)&COY<@Y.T;_ ]Q1 J62$:-:F]W?F2& M/]LKI!"C%]Y5BI3"B999I\'F.HN-4//2A&W#\B+3M!'*?%D:37$G7!B]>$FK MQ\-G]9+@,/)/X]0IA=.+K--FGM2J,1K*>J#E2;05"TH$;L,3I)W^!2CT95HU MS:5P>K5KM:%X99IMM?"T(:K:('8:RR4YO!A+I31 1AR#70L.W>8NRZ9$[1KO MB=,[_KT(5<+(X-2N>4?@.A.R*E6_P>S4&-"+5T64#&;M&GRNL[P8CE^"!(GM M.CME&X4X3?32BS$.(@8[=@TUW],R+X-DB._3,:Z/2\35(SAU<&HU!LM?PV C MA9/!HUVC#4-2X9:56Z_!Z-IX(\6"$H';\!@4VC7B&*70EU.':2Y%IXXC'3$V MUP%&^8!SZSL#"4K"6^111ZTSU@K0G$.G221-)J>%(+ M*8,J@\$QM1CKVS5*/*&(V&DO+]WLUJV1U(;)8$C'%?_-..5QF4:D=[P&'[4L MUT%ZA:Z3 .;Q:)AN7C5AL=>CR49=3G;UYJ*_.ZJ <15@:7PP>Z'M.5L$2;$8 M_DCB26W^\^(IO=V'#7GFN=U7$$](0*".H/E!&.(21;6:8M1";TIF^)]:*Y7TITZ?G>.HE#(,.L(S=SEMIU+HJU._ M\C22>)GA>(!QD#:/+/--PM3RU?@T]&R]_FE##HH/*1);LI&@T$<09?V;5_@I M#ZJ;J&*/BV)+M19@/B13=$VWZYG5/N\VTB[^)4O1XATE217' M_53BW$3:;4H79.L M1\/Q2Y&%HC2/S#KUFF;&:F!NJ17#\>+R45LZH3]NMW -QI#K1SX&7JAK.D<< M/%[<*-)#CB]KG':6]*9CE+6X/:H;W1ZWS%5.UZB>=C<*%AUW>UC^-XJEE>T= MI16NI70:9J6F<3X*'9=R6-:)^ENO",_J0SS31+%=L-Y\. TJ5=,Q&X&."S.L M?&:@E5DYVV1V/;!8VA94&QT>'<%_]\BI(@U(QZ47!A=?RP!VXP5"$54:YA0C MJE>/4T/9JTV0(0U(<'W%K#/W 07DDO"OXL$].;<;"CN$0TY [CY4>OP#Q9-I M@:+!&_QV@DAH0%:F55[DQNW/ :3:U.CDY.C\U$-'8\4!?XJ#Z&]E M7E0+ZUV&']'[(*PF$^AB3SA+X<>P,1[R;65*[8Q.SN%T[<$S*2PVZ=;M3A!] M>&RQL>5'M1A"QP6M>(W']9WH;A1P/8]TE#X\O*B/-5_L;9;H\\NY?YVE9$N& MJ[,!>?/E:G&%TG Z"[#( 2&J.CJY.#H^-6-),C>/2J/RP?N_*^Q25+'Y6U"U MQFGH)KOTE"K-ABR9#) ^^/;-D^G+3&N'5:V>>SJ[.2Y:S,*_UJS"/]83SPO( M&^ X8\RHS++U7.7P!JW2%"J&8<[9+F*BD>9[FL]16%V^8 XJ;OD:BJM[L&(- M4Q@10C'G6+?,BNOYS00]-I)V"FAZ)A$YG*EK]?=*Y LO8\,9T]6NZ.:29LIH MF7F.VBI1B^LJ9IRN.89VMP0VE]C2@'Y]F%"Z*5HX;=AY)J]V1%7_2_*?[+4? MZN3H_,QR[MRN]FHBJB?VZD9K;EPOW<9($JWL=ITW^G,55R@]O"C&G?5D M /G@M3&3S[9"Z/HJF P%2N1M@?/!6V.2/E\F3+,\BF9/N_X;.[E.*^0>)\Y< MCC ZJVH8?7#D;,9(-7)*QXTUY6M$3I[%[7RV%LV"%>ROF\/DP&R760 M3^^2['W?31+G.JXR$&4\!7%TE^'!C,0\Y#!BDQ(4?)^^3F&,!2055A5W/JY4 M^1 '/^(D)CE^!C_(B R9MWMTM%TC]>X:4*/^S<&@'[0/EHW-HW54*R\RD^ .EAN.A57LKW+A%$5E K)=!_,8EM[X']5R>_OW M,BX64DN?7 NC,RWW^KZG&)%/H.@KS"=$9<.4Q++':?71X?@>N@]&>76E8;F- M^ N*@(WM=9;7M MJ"&1R21+):ZG<.N!3LP#.VI!/:5:GE 8ZA157=,\A6 M-YTG#B ?W!?:^/'%V*V?*+^NE[3V5U4ZKZ1)+;Z\:2-.4R?5 !W:M_F#!LZ M?2JP?'!42.R35:CDMP&;.:>Y4?JP*8/,!Q]%2^3ET>D1%1M'I*< *XY0F99& MEQ?GYVY?R.S#KQ)$8_=.5 RWG&/M%1IG&#VCD,2:Q..X]LH1;,,Q'(YYUMWN MK<(8XNCLV.GTR)' MSQ2C?5^:X1^V>DK.:\6%7AY^_Q.+8#FX,J--&72 M"/;7^DYZW3.:-ZG?GW VP8'H_6IV)="&#W=OA'3161; \L'83I=1:-/E50-P MSB_E"#2OPE<;E _F=T.,>6.,-T*=K$'>PI;^"N2+R/$#-.+3&Y]TV=8O@5PM MUD6:@+K!>X CF3- _\9'9R=V37;+-VE?$'Z+0T1'\)BE;R@GN3>)L/EK1F*: M6W\GUZT?L^*_$'E>.)ND)$BFWIW=9;CY%2G'2VAJ5Y#1F:F\*I+G>TT]A>&P MLM_E]VF]WZCT6_S\Z!L MM\\F&.W#]C3HC:'AAQCM#SY:8B7;A,@[[9C[*"C6K=O:?-#LIAFF"P=)B9+UK=&9X:RH2]A>PW@(B^:D),XD0*]0 MI00TY,SPH@L(8/L0;ZFKE[X%<4)FRKL,?R4/D5F81[8_6>GUZ!?N3L85YT-< M:#52[O.\I+GNF>=W_BVF3BW66G'[&*;9[M13+UX$BW96T?+]-Q+G^"W /U'Q M!%,U6D*]"0HC!T>)S\+N\E_;HAZ:\R+NM.^Y>%@6>1&D$0S+>O8V:,78^1;L M-']!R[!A=7GQTGPK+$>$,F?!5(@UZ_<-(,G,1,>_,6ZV<^E5CLZ,T^:?"GB- M"X+\'L;&6QR50<)YG(%:%D:27[%M6CC(=B1Z8^XF#ZC^@)H/HWG MK]EM6L3%@OL2BF(K@-GEDS4<'B1(DX$F>.3@%Z33=="<#5Z%CUA8OLQ>33CP M =%KL^UR,#>9B>GW9ZKEX&;P9M>,VAWR&E$:D4/Y8S!#I0!#I0U<$([K0KB7U">$JU#YM(I%R(;V,&H#)[7UHR^1RU<"@UJXQJH K_#N321)ZL)!G-V(UR7< 1G\W8QV&V:X=&_H_DN M; 9I=N,\I4]!VYWUQ-#.1_HTO*M0ON+;@C-4;]>8U4/UOAP=NW,@.O,=*1FH M&*L.,[2#O_0(JL%$[73QH75HRK(AA8*A?"5[#D/YK^_9ZS0K\R"-;N/)M$"H MR=-T#\>'E+P?)69"I0T Y/3V@20MZI 8'.E(H=02YBX>]Z5(U 3 <9I<1YTA M.42,RW1*1@TQ02_HK1\]_ 8 BE-;ACHY,G@8U.A(5=62!/;RK^\@P )^UW'- MZ=;:Z/#X\O+BTJFU0IVX3@ 93.JXF/R$XXQ]89;/FTS=!L0^S'UJF[CU )^A M"]?2)UBA]I5(:\-BT&;7M&",-E].OZ;X$YV-CS78*01!5:M7,5Y@8Q7 HL") M;Z26'9V<'%Q>>O5LCJ$01SY\!H,:PF]$##;2?$_S.0KC<8PB;@ OTI9S- KP8CG>OE_TKX^E6ESFW'#A%3R&SG9BC2BW7"NVK MKDDO$QM5EU2?"<06L0W5?Z#*UQ$-WA .)N@9D:$'?[[.TNI%]S)(R*O!1R*E MNI=P=&XHR;R]Z:CJ6YSIR!JGAW@6JV>\T?-94*[?T=;^]%"JYGS(^6IW?=FHA(Z26RY+:3EEI8$-H-LG M2AUT>@L*]3>S;,<1W]*$Q(BW-N4KB@5]9=^MKK:F^$Z:W>O\M5ZDR3H_VO?L M],I;[][J\B%_;5]HK>%FO-?M? O6K'VW_!OL=0QU^9MJM^.,_Y"]NS ^;'T6 MF/3[QJ$_Q@>JYKQ(N&O""+B[(;%MR]V5 &8"O^\V^]-914KT(_7O7N6Z/#>4 M2MITKDM>E].K')VY+O?&'7:UV!U],D]#Z_T:$&!F3^DH*+7N3[KG2;[V_,C_ MJW,5Z)@#K-?70)>&3)QJ+V6;Z"$6%NZV$LVE ?YGZY"NXXE_K9XI3&RGY%5B MI=8AW[R+WY @G\YF,=C=>ACNH6$NV"28#5U'OF(N(UF)91A9%0.Q/ QO,,G( M%G0=&89YC+Q"$9E!TBH'@GEH]3'(R0YV0?I@%V'$@\D$HTE0H.@^K=(1DE\^ MPV\PL< _YV4^2*/G/*ACHU'TK]CB[8/NR9XX(837+OY:W;E81K\[N4"S*<+H MW-"S#A8M;R<[M[;<:-'?\%\=B#E:='?"& =B.\R M/$:QZXEW1PI0_=Z[BUUT8(8BO0D7-@FZA(WT5@!1-9[)&WMW08RK5[!==F\I M 8&PO0_/<=CS%73L37"P$7VL;C'[.23DQ0.R/#RW^S\@5#7L33RQA4.)GV-" M44:@S4.SK_\#HY.:]SKL6/'M-OH3 .>]6PN@U';GW:8^; M/4$%A''KI3H2T+'[?IWZ W)J+5>)[B\-/1[N\J6Y\]U,QMI5)HC)-1LX=)_" MC^@U^$#Y((KB6HA6M)#]D*!ECERI$)^=PJ.ST_,#VU$[2RF$1X2-@K6H9JSO M_*T^6VN,>9,NM\[+.?;RM']%V00'\VD(G^6:5KY$8"BA32[W.5#*%&"$<8Z$%EHEQO54TQ9!H MY]?=WYVC\/=)]O8ES,JTP(N:K.8?:ZZ:7XRN'RG$K/]82^LDYD>NGV]JGB*X M;O_I4KUY,<>U;LE/K4$ _QK=W-*Z>_V76C(GOO,N*MV6V@>/VVKOV03H%PN! M58Q>H5[YS-@V]"_(DEA\\/GLBB@T-;"JU+@,.56D[4\"G'?JI< MK]@F.1.MVG9] B :RHLXO*Y7/::MAEN^0N;V1H5PH-"YXL/QPOK?I#U]F2)4 M/) O$,7RERI6E6H!]N*U+Y7%2HC&"[,Z34KA-,BN5(-SO68)52_/V!8L+Y)3 MF.',E\7+%'E"AX.2A8#A<*A-O_EPO)K8KU *FBP84Y^XTNCPX.+LU%"J0OVS MGPH@@VD+F!(PQXE,M49T5XE55'2KPLHV.(/)"\SRXGH*LT.0<"+3D=-@[=BZ MRS"*)^0EV6N,(I%?5%2/N/#.#MPDI%8;!12"Y,$)$AOT86;US?PZP'@!DA!' M:LZGA5NI%MM-+HK>G$@B8Q"B9'%@SFFU"YNPY#UE6K#RF#7LDUB&P@)1Z^WKTF2O9/=*<]" M(:X].K]T>^],U0\3W%*,PF*9GE$.YU)8/.Y (P_!/$?# M\6 ^3^*06(R(4LH"?E4E[J_Z80=V^WRMCA]U_,*NIJZA1P^,?F7WCKWD] 4X M$2A[JK*)YK=43X!NT_KTWE-+0F0P;3=ZI8Q"&N.3NP7NT"CL:M[EM;.S> M-K R^H'=*)G;\1C!Y/6&5G(_@Q[(JX)Q6E;O:R(L7"#D&P'D;J]9J+*L"HU! MJMUX&LF9J3EF]I_%FX9@,;NXN#S?KT6]*T0&T8X-76R+G0K+[%9J.]]^',CZ MP&-$KB^[MME;38\!254V'*_GEB9>]AG-,TP$AR6E'3O;NO'DR36H+7E;LCS( M7(R2J#ZZ.-'A,EB^"W5=Y@7,[SB')9J$ YSG^R#!NR]4<7IVX7 M/FF54JP::B!]R.>[E+C&6YV^:@7PNAV[$@!S>S;IR)XL,A_RV'[-LN@]7M_\ MHQ"T+ )"NW6_]*1C$X<7"5C7Z3'8V*X6S1\5DLG(M@;J1G8%JO'QJ M.2GI:@H7RY-F(W7K"&;':WT?PY7@T0)S9 M/=0^HS>4EH@X%XD!&@=A\4=<3)>G\MN/,"G)TUC$R@7_)08O#L0.K0%BMSX: M:5;H*TUGR#Z8-&H'1#7&&OFW/1!7"-2Q=E2@_/8#,&;DN;0 +RKM/&8I.7. MTI-*?[5;BM-+#'YU='&^!T85=F\RKAHOK#(H!30)S/F#: 88.))/ M4!,TZS8HLR?[4O#^9=JI#LFG9D[W&DP[;'X[ _7+M"/(E 2S5IXE<52AJ73" M22I&+PRH?;@0WIFN#?9%,(U9;)1YXB:T8A4'$*ZRZ(HT*\-#&X0QFXT])EQ; M;O12HM5JTWO5N\XPC/^@0+#!:@:],#4)LPZL$\Y29?%' 7WM$@#Q(>7/RG2P MM!(*V6'4 $A.'.M=N>'"\"&ACR$/SYD/>1/T;!(4$'N1 *BC:^',D*55EXOG M;.?N/@>(%RE^.A/A>J>@GQ$K2>?U>1W.W-XLW.W/2EZ',_;%;!VI=G3[TL[< MQI=**5L(0$=*G?YA<%F:+?<;M1E2;+=CUAE=. [M[FG1$0#3D6NG/V&H6)N5 M>22URX'\>Q .QR%F%XR.?#KZTI(V_:2YXB/TENS4 $Q[$/PK\G0P8.E(L*/O M."DU>BBE ;[;1Q-[4L2$9##=SA.7_!\N MN^G]:2A\"+GPP'5Z[JWKE$UC9Z :7:?F7__1XCH]WU?7Z;F2Z_2<.:#-/P:D MS6%W[J/K]%S13W?.=)VZ"#;HS(1K@ZA>2D3&4+LV",VN4W>O#/%'@;+KU)>' MAS2Z3B\\=)VRN>'"\"'HP)#KU-#39RXV"0J(?8A2Z.BP,_2^IC;/Z86LGX[] MNJ;EF(2N/+C>)^@G1.@X58HML.31<;E](T M7WHO'O:Y07.,PKC)GC-/4*7(-!K,R*+WC^KWG'E(ICJ@W8,+$&PKCSQ&':$' MO1E]"A;5A/N:#<*_ES%&,-YA_U,LGI(@)=WQ%GX[;^Q,+%[E&P'D>^!/8K.K MBE00[K ''HP7E*"P0-%=G 8I].MD8V.[KCW *+#NU&AN+E8WS6Y!.QBTO,[& ME$8/63IYB-]05)O091P=79L<75S:G8O71P]%D>4-\ET:!CV8.3US;?/]6!/9 MZ[OK0:/I7H./1_0^/.LM=88EDO/VNJ'D]!W/YCWXVS%8"D"[BE\\(&X5?NVV+I=)SD*?Y]D;U_"^F7G6L7-/]8:;GXQ^OY"T>[ZCP#"R6%/6;/; M(NMV>*AI]7K T>KU (AW$A[66:M+D:KW9S8"+RX6>I"0RNV3;R9.XYW5X,451Y+/J,08NKDP M9G6[**!P&KUJ@DPZ1H&+PZRQ%#I56"V3I+7AF.1M]^/1@ W!B%@R5DQVI=&E MY5=G=T01V1_I%4:71V8.85R[HDB/].[-0^"71; /CU>+*Y2&TUF ?PH">415 M09<>!/QR69/CF8K+AWQUNY(NY10&CXBJ DA#FPWIN!XY'F0YI,'S(6.=80Y= M&QEMD6G!]*A$:EX,Q^3EB_PU*X)$(J285@%F*:=)0^5&$8LT-B(-UDM6;!$. M(M0\V),_!0LRUPL.SIPJ(*W3J\Q=]"^'R55"N6_!WS*\/F>PO9"[!C6- \" X,7]E;*CO$5/J=^*%W6@M72 MC%O2_GET$Y(7MM!=7/ Q]2/,NA:HQ-!PZG,"W=2\K*%H"Y074=]&"'.]Y)AE M3G@=Q7*R^W(^3V+B,]N26GC<%-0$K$[OL @'$)T]*51>I*K;D7"=/N=09?"U MJ@$ZIWG1--G4=Q ),M69=1_=!3'^:Y"4J'5])U]'H%YGLWF0+G+B+'M%>':# M?I#D;K7+\G6*KFMOV!,)R\_2QZQX1N,Z[OX^747>KT+P\D&Q^IYU?]3JRU=! M G*AERE"Q5>7EW9')Z&14%H I22Z9@K\D9^! M[A\@%+GT4W)OSL@U,#H\4A0$U3C0;R2QB68 M#=*'_%'-J;AUZ%V??N.<; 1!=N' 5&AE=')R>'#L.JI)BA\ZM5VP^I!8RA73 M'JZYYBG7ZB'M3?UM7L0S.%D.Q[VX5VFFUH/3X/HN Y7.?R?@?KAO XP7L M64F6!I\NY"NV5*O!:;8A??QWQ2YP"9NUFB\-Y/+0BPX4NSUB7/J-VI'=@]']G=7*U%3)+LG>PBV]IN-I:< M,2=5'V =.[M"WY4$^CA3P>N#M9HO[_4TP!,4O68D")>DKQ*^@]6I/:(/9Q%/ M-OGGX_?!2LV7_P:19(_$JM^Y"ZR;(*B=W9*WR?H.9%=99V1!LWQ4RFT0I9G9 M0%$]5?J([8I4HW?*KCV;WX,EXB7E&B!JZDQKAU&_!=D'D[5@FA+Y*F2J M$[2&0KZD+6-*O'2:T-M0?3!EVR+6%T.8389%=C"[Y[&5M'<9OL8HB@OR:*'0 M],&K1E ZS;JK,-CH7$J@XYNO-9HQ=DBM-(%0-/M"TF- !X=EY38M9TW2W8#W W9O_D(:_1'DZ-__/U!+ P04 " !1@I%65D^_\R&V "& MO@H %0 &%L;W0M,C R,S Q,S%?;&%B+GAM;.2]>W,D-Y(G^/^9W7? ]:S- M2&8L227-SO9C9]>R^)!HRRIR2:JU<[*UMF F,C-:D1'9$9%D99_==S\\XHUW M/!RH/K.>49&$(]R!GSL<#L#]O_[WSX<$O>*\B+/TWW_W_IOO?H=PNLXV<;K[ M]]^=RNV[W__NO_^W__/_^*__U[MW/^(4YU&)-^CEC*YN;C^A__7A\0[=ID49 MI6N,KK+UZ8#3$KU#^[(\_O';;]_>WK[9;..TR))323Y0?+/.#M^2O_^9?Q ] M_O#-=^1'\J_WOW^W.N9Q\N[[[[[_ ?WZW?L_OO^W/_[K#_\;_3^KC__ONW>4 MA21.?WN)"HP(RVGQ[[_K?.3S2YY\D^6[;[__[KL?OJT;_HZW_./G(NZU?ONA M;OO^V__U\>YIO<>'Z%U]X.1WB+;\^?%6 M*GU51-\"\?B \SC;7*?CF!U2PW+]5$9Y.8'O+CT4Y\]9&26C>.Y20G'[ M"8\;WY8.;%R)'<3CQK5#.2>WI_H.N--\S$BG*/%J7=4^,=];_7R1M6O%ZW.2XR$[Y&CN)Q@>L_]7H1?95LCB1 M%G1UQNF[GY]^]]_8W]&O=8O__5]Y;_,Q1[I_R1JP+<+C*N_/:)2OZR^1?QJ8 MK%I\N\[(ZGTLW_4&TJT:T.]>JX5Q@@E=D MH[2AFZ6;)-HI9G?0!FAJAYP-Y[7Y.Z(-?$VG=/RZXV<;SAHBT1+2IKZG6CG!WRK7#N^#4W\3%.DK^ T?Y#?E- M89A\H37P](O<*@' FR+:%K'&OB&@&&D9"!3#O#@,./CL@=!K[P4*?8Y-8*B, M0D!PD(RX&A"2X5[,NW_$NYAN)-+R4W10K0GRIJ#^O,"GPI%OVR':T*\#+Q]< MT7.7C^QB-73%:?Z/*4YP1[VKE7D8!B0,FW @N=]M0YB%!%X1<4 M^M$7P:$?^L5 5-@2-Y M SZ'"*B;H;J=5Q=0-[BR@)YL9!>S]ZO-ADQ2\502@-WG#WGV&J=KO?NO(@%= M 91\*Y:"JOT%8A0HRU%-XW=9T(^_N#[H!W_!G<(ZRX]9SBZ-L(]?9J>TS,^7 MV4:/%@,E\+Y!+X5R^] AZR"H(D:4VO=6PF)Z9#L*B[E9VO0\9$49)?]W?#1" M24[@P^P,>389'=X>$8( P*(;=Z7!D0[Z M"X76_SU6D3DWY698G)1RDV->=. M.@(@:&AY'D+C]O+F$56M4:>YUP,J\ZAW@6$>\@4#U\]YE!8Q_> C)J9+%:U2 M-P<.6TOX54:MV[:(-_8=LU8-MBQDK1KIQ=:/:I_$OQ:G.[J *<\Q]"2@:XB2 M;\4J4N]G&P+$*?RN(OK1%]<1_= O%\_:XR2QN:O4;P@;S>KSJ IFT59AW$>2 M#:HDE"49T247!M*C:3%@3: 7 ,Z7VNB3OWNW\YVQD]KVSL M9\^SPX%N0[+U M;T_[B$S'_:FDCQSHZPZ]5=<2PMIVO0PJ"\^H$",C^TM&B#J4GBV]Q;Q([+W% MI"P )>*%T"\\G0\OF3!5E5B#-D &7(F7$'D?T>\@:\IEXY?=W:E@[><32#& M)X^2VW2#/_\/K%_!A;:PFB]PJE)VWA"QEH@T]:S=\A&6*+1\>!>;^N?H\^V& M?#/>QORMVJ?3X07G6@@H:4"AH.9< 0E"@/H4B)/XA89A!D2(&(9_Z4AB]9^[ M.,7O;0*)_?8^XH@#CDUAQ.H?B+9']VD8<439J"O#B+(A7QH6E^2?]_ES]I;: M@*+;V@MR: $$;TY,(VMS'2ZIE./<"8Q$E2A"+$%GB@@;]7HXCS:E(OPG4 M18P^7\+E"S;+Y.]>#SID@]>[8B$9N07FD+ZR3Q[V68JUOHO8#&@N)?P-YY,U M0:R-9Y]$-9C=>56-Y&)+S"\X2?Y'2BS!$XX*\MG-;5&<#$ZJD@9TN5%SKC#= ME.#=;Y0"U22(T_BUWX8I$*VX8?P7P\K#Z26)US=)%NFO6/?:@6*BSZ$"![P1 M8JW\SKQD0,79EHSF8C/\YRPYI664\SN[^J,HH2WH3(N<*F:[:KPI"D';!!%W$ =3?BM^\36^/OY8I>DI2JSN&_2; M A\U#?A4'CGQ=H'<,9 -KNP,2C:R2[QUYQ=;-#>@>RV@WKGWN!)>N5?7B62W MG">S579R]\S,&]C[>W%.>Z_OQ0E=#E@W<7ZXW>BA5;>!!5?#F6H*:0-T>^4- M86,9!(99?X8E0.M/[W)0NZN2_.G!UK:"A5N'.]5\UDV\(6X"C\"@&\ZU!';# MB78&WC8J7AB/I^+=+HJ.''TX*8OZ-RT,JU_\A=TJI\OW_?8F3J-T'4?)0\;O M"6H2F+F1 P#741[A15)-1G,,-82HIO28$,V;8! *,@:%M>:,@2"(2JV* I>% MA?(,&P*JB<"C8#Y9@R5QK[7Q]GP^/5T_/_G$KGRZARB5SS4@'HTX]( _)>[F M!ULG<:P[4\_WSZL[)(<:I!Y8CQ<\_O6X!\7[0YX=<5Z>'\A E:MT<_VW4WRD M"\0GK+/&>C) W3#P/T1 W?P",0(4I1O4D%P@0N0'LO.*D2XAAHU1X.1P5^C'=[XO#]7&!F8#1J;: #U&N3 M!$,H->T1([A C.1=MGU'B!"C\K49<16%M: [D.4XM[))T_GVNM1:ZH1T<6ZH;2 MFU9/E>=41 6J%EG?AN+-J MC'AK=LN^U@UO7NLX";JL2SQ52#TPPV>(?S-V0'!_$Z=QB>_B5\I)288Y?DFP M#?9-A(#X-\HP1! G>,_+GQ\?KS\]*\+Z\!%T!3;D 74%,$"@?)N^DD]G^5GOEO6; 0)WP)_@ MIM1_]NI=63(98T]G8>/Y@]0<&12'"B/#(;S)MS7U_DR\V;3[/)55,\EJ@C:K MC_] E'3:M5;;I>@RQYNX[+ .Z_)8\OUXB7+UX$+H MA@:CM68L#=!-]4Q!>N/6>BR?]QA%+"S0&5*TS7*D1L\3,"I4D;%3^/[YRV*KFMWMB!F$*CI2A;, M.J!/O&U@#3T01;J,BCWA@OZ'7GQXC1+"0;$JZQ#AGZ/D)'N&Y$@/J$RV$@F[ M94+ T,;^T2&]0%$G9,K(_6C4[)+YU"$GX VUR EU,%NA]9JNF46[N)+-F,7. M2$L&N5'2\R_LFZKF'<>0!1N66W,LHPYSR)%B=B.&<(GS5[($D7__I__RPWL4 MIXCN2Y@J_:???_]OU2^^][H7L\"=L#6S !V(TMS%T4NA)(.I@>5YCA@V4!Y:?.G=\L$U@6DT#ZWLI.9\2M.3Q9^EHK PPL5@6?EVXZJI6<_:S3?(;Q%D0-$]0Y%C@X01->'^(]< MTYS<+@M:0)S;2**ZX/*N-C0P7IH-_,>(4P<#:(D[G!;>%CUG< T5PQI9D)$D M)]W0T,!'DIS $XX*N'!?772I9*AOBWBZO^G -]MG!1#QLM=-([)AX@-9NGLF M?N45?K$X5I>VAHP02+D5*UNDNW?,6:;MVN.+CU%YRJ6;;Z#C"RON:VX?6D>? M"?1<"S0?\W_@S*=XQU:'I=AGG-]ED=BA1OF$J$>E[WPSV&K[]>F&[$IZ-6Q4+U 1$F?I5,MFTT.CMQ>(]X+J2$35#[I:X,*8S7WO MR;*J0BV U,)]+8NNM MXE'OZO#6YH316USN21>T#-491SE\,.HN3G%QO^5W[FT.263-08])I/R*!R5D M1,F,\';+;4&.]#Y?A;H?3_$F2M?"ZN7._2-^S9)7EL*L)X??8Q,U4,2#$S5* MH _^[$[\?!WUZ<_XO!_MR?::+*EK>/>*+ [Q@KJ&:H=+!6E UT[U".Y<-_4. M9EOV!81_D3=,+?1!"RZ@,@HC;F<'O5V69QR^GDCV&+#.R M"PCBHJF;8(&IA?M5ZT N5Z\V&U9[(4H>HGASFUY&QYC8M\OL<,A2QJ/NH,"" M&/+$P$8686_5$"%*17=6%=T%XI2(D7HZ1I@FTC__T_M_^^Y/E/1=G/(?JAZ\ MANVM,2?$[ZT!!_5RFQ^"LT^;GI=*6\.^S)9P*WFT7%U)8,TN^"/1"UZ<6,@4 M!J,%HSCW_*A:!0S)(VH5*CSY0DX^D&??9YK/XV=OX+ ;L'%SI@>3\B].4AI$^1 F-3"W$\75J/#ZSXI?THV'6KQ=I[SV"&HWG'$?%*3]; MK7NRQH!&0\JKH&Y5H]ZBY^O0=Q3'-*]#5GB-U:I1,82O&A(@\'W$912G>',= MY=1.%:OU^G0XL>M:5W@;KV-=',"&&!#>5K*(D7Y.A&HJ]%6'#E6$7_OQ]N:1 MR*9,HIQ3E!+[1.@;$DGNN M8Q ,?4+9UNQQR^@AH_-S-BF50/M\MJ7P?N+B*L>G^T_OJ@P?/)8.A8FAS2]>NVJ"9UEOE4+DDQNJA#5D0I09'2,2:]A]D52Y6O?Q5KZI#J"TZ M4J1PJHMJ]$5?852C+#Y>I5NINX;&W]MT+7+$Y^D+*O68%^I.W ?T2-T,=R-8 MP)_\66%<1>#IX9_>+@[>_EU_7B*;E5]AY0^2_L*4MC4]^T'+OR5WYH@S4",$)8N [*,!7_EL)HS M-]@G]_1@GT+($/;)+4D8=<)\Y7B?10#;U_UT+=A.AM^<-$AF,+QTJ!+5$(;QV M6$00?V\A5-C2/XM0 O*8-8#"QA!*\%# ME-_G3R7=I[!;?@\X9ZS9*8.:VH]2:*31(XL0HBQ'G)1?*$6$F"/.NZ),$DOZ M^L&3HIC0IE$8$]1@KJ4F2?9&'Q;=9/E5=GHIMZ=$+%IGD935K1_(*ZF.$@KW M,VMZ5IFY[@%)RQGZS>DZ55"91(]594:OMT['8%2X87S[I"YX4^_F0_"+9/%%XRA71V1YTB7,DBJ"@Z%D\]C5@%\1[;TL5XS@$# MSZ\2,!4\V#V^45( PE[-M>*"?M-4\](&$B^&81^"Q3#F($CYE*59?5^8\U.5 MI[# C 4M('IL)!$>/'5HFG>1%=G7WI]OC9&(OW\O!C%*<%30> B_OT^C-EYA07 M>^ISWF_I37R-*EC0 FJ#C21#$%&:*MD%RE+4IZ*7-^Q9?&0,0*.% S2;%M;O:'E MMC9Y0*$<@E)3_>5^CD0>:#7+WN]DBUB]DH%8BAN MLAS'N^K%U?K\G$=I$:V9DU(Q^P%O21M][CZG7@!-AIMT0PA6U*@F1QUZU#$J M%^B%];)(NC[+/XI]LNT^2CZ13+EH18DVTE(OZ\WI.6&.W8$"1T M"'P:F!'Z.+0R(Y01)E:/RS8)HBX^WV\'&9,?<"B#42]19U 5#NRY]W1RYH\_ MVU.!T1R"!OYE>B0$^V5*!)M2SDK9I:U]I(W33OR]$+:_DRT4,'H^CF7/"=\F M\>HEPYM9QS38A=GDY^2+9 ^QU59.Z+6"W*[WN!,\3OI7Q/_L1XW&\P>ZX13G M6-A5BA,,>)^-HOZ&L,V3!9R(-E1J0;8*W,]L4NC@XOHS\<*S?!.G47Z^+?&! M90$FE&1($J9(/&2F#:@N^%7P>W5+C9[B;E[EM5*8H?:3J/UFO9/M)MOE:1/; MSZ#Z.W[TULO 28;%_YW&155/?B]R4;T#>E);E/?;*B^EQLX,VH$^D^US*+X< M+=CAGB(O*(QC-Y%)V&>MDAD7'[!*IAMP&24*4YT3?< IUGMT2@KPY4O&M3IO M>WUVA[ZJ6L^_@3H2HCKCF,4I^R@IB*OU&A>+I".U7_]L>'[.)"6'IP\Q.SM[ M-5J(><<6?G55:J1\952J(X@1^07'NWV)-ZM7LAKO\*?3X07G]UO^UN7^5!9E MQ.IM?HB*>*TQ+8[] !H<5PF'(*OI4=4!XCW0-:IZVM3IY *Q;OPLK0M*6B>= M$ 1F=X2^_Y-4:DC5&X7CH4*. C&(FM8%!NO'EU=QH" ;P^%R9*E8$G71? MF]0]^5^=-%).7)\6TRH;%W11:4UK5 !J.!+3ENN4"=! Q9K93KB.]="'?;_$ MY?[R5)3$1.9-L0EZ)8O\;Z._'S2J-]!RSF.D%:LALU[:\"KM![V1CE#=4[=, M1]V9ORJ?LXKMZ]!^'B'87CF$:-4$Q1/+6H_6.G^N@TB6G4F64)1VU] >]M1PC,B6DCX>KO%Z[+K.= L'^P>]VN4T%3FP;D* M]ABWYEDVN*.2G:>]S@JB(KLNVMQT"1+=OFK:WWN(\6,Z9M+7PR,EY$5CHQ3"Y5Y.P1#4IUE,#6Q3C\PHBZ<'S,X2 M7&;Y,2.-P[10"*'9?8"+UGC!SA5]QDK%GQ6:E-M"!QN/U$H@A M:-Z>:4&'PN^J-I<4?L/1%E@2 \\60()QZNH\KO=;'@%A90T/QQSO"2]$/ZO? MFK?MSCU!NG_.4@H^59.TE\=16](ZTB=. MS%7+\3J)BB+>QFM>3SQJ#MX\!Y)G4QAI(M59M,6[Y;@B;+Y6>S5Z(0(S3R!+ MR>P)O&\),-M351IAUZ_*"W\W$'LSQPB.T,/VL_6M*KQ!S919MU$.4C)(Q(L$9LNA:Z6*_I*NC=;%U&Q?XFR=Y^PIL=KE/9/0Y\;V9Z MQULJQV\$8IQ<1V:$/:*?0/0;B'WDHI__5>EZ0,S27,[1/$-WR;/9DK'@!7E9$8AZXU*0?Q?$"V %>Z-B.(A?E$6R M4[W)=LE.[[Q;IXD;M."V6],V3TON@:SN:"XD67A&:TYI0C$W4[997C9-G=-L M]O9IGR4;,K'T!51Y=KO:H*/WR"]- 7]$>\N6P@F,36-"OO*DGK,_.-NA;81U*A+?".HA W><\9"GSU#YB M^EQ??XMSV!;V[J; J>0Z8YMCX5?>S!.(9V,7^/JE' V22Y=R*(" =K5>GPZG MA 8*5=M=(Y@=^@ $N8MD0S2M[B]O%5>1/>O")*E:6F0,V@2A1,[H'"J7,S1A ME&ZSB7EYNH$%"% ML4&6H"0VL )ZT%@2KPUOZL0O1HU0$8 ^853P++[ZXPU1DUW(+_078!SVP:(. M*^)+11U00,#]3*^,GO*SW0Y!VAH0UG)NA6R*5:L@]@FSL@P)90TRACC6P (V M>'E'M(F5^K&)6'8:^PA3=GG5Q*YI,\3:^8Y,!L"PZ]G =):]Q$\%&"N#I@*& M8?3-(6^ZW\SH-MG >9N+;J;2^"Y8_X%V<4I;QFJ8DILU6 M;U&^845JM3[AN Y!_<:1,HM^#]UA\)X0[PKQOFJ#3%]4U/U5&Q+6XP5B??IR M0V>27RY;@?Y,?H\W[(%]$"O3)(R+#N,4@ /%GYM'<\^9(OI7)USFKU]Q6K#[ MT(SK^R-[-/R(_W:*B[C$3SA_C=>8R_F(U]DN93UJ(]E '(#&Q*%&50Q*MZ_< MRPP-8M2HC5%7VO;NA7* NBQ<5!I:<4'M4L4'JABI+!?JL.(K9.]KG/G@?1 & MSV_$'U27Q;,#4$7VZ?.P=S8SNCRF_OQ[/$:)71P>UMF7Y.\X2V_A[@3HYMC! MVM++L<.T=RWNVI[KSSA?QX6V..>(O@+17I6D(S2WYR"@IK/P=-96YNO#,K?,%/-(5__MHE,ZM:(+T$Y9 M*+!3P,2_I>I$7YN(;%V0BH9CZ59'8YOLR/U<_M;)HXNW7Z#.$4*G1!H+P%-Z M[_?$G22C7&\J@C"."EPPI[E/;@0<]*OE.O."3?DT/9F?-\HR_O49UNO$&[IZ M:9X>)"LG0_,.63D3($CZ1&0D#-RFKV2'R$_B/%'"=TR3.MGL_"9<=D;B4*><86BC8%&2E51K M?OCN_0_OF>;0W_RE26K#<]K04@BO1)NS/,;%<_:09V3-*\\/9,A+6DKP;Z?X MJ"B_/*T[ 'V:**\8T>OU1"UZIR_V**CJC?A!M#]>6[+N$?I27MC20^CG''BO M5348L&^R]8EV&LD.54&F/>Y/^[&9]F,S[;CN\9ONO$^S6O7I#Q6F)"S&+PFF M->RI!(_9.4J(0-&9OL][Q.R-UW/&_OQ 1GA/TS.GF[MX36L1K78YQ@:CMLC7 M &W>,J,E04?](71/#4+]*<0Z0Z075'T-59]#U??0GCA=#PF[-M14F]/;]-MEA]X M!D>+2(-M#Y!!!VNIA/A#A[*3^+-#O.1>T/;9R#SB=4B\;@<=,2@$6-P "*)6 M_''\,ZU]1".&G[!.@V2- 95%RNL0.%5V ]:*!:E9^E _P1 KAIMH>GT>7^Z; M2W@$&Z@K4),*]1%O3^G&Z\F0&CE#W*MA P1Q7A3'!M^#EJ#@'G(I(KLJ[L-1 MS:O64,!4]^^(M[EI*@#18V!,2Q:3OZ_69?Q*W($%'C-9JH%)-+,.\![\XET* M(Q'L4@S!!,YQR8Y^\HP>"&T^G'\N\.8V;2*.+1!L(N@C.H,,I8^158@X$VO* ML5=U0Z]6?$5[(E[SUYW@>MN;_PC['()W#JQ8M0N9I'XC[Z.A+(3@1^,81&<) M7VN,-\4-&0)VFDMC=[IKQBH"0-U3\CR$6=V0@XS?+&1M_:B.-=]=N] 5@!ZN M-Q&9 A$7#.>HN9A4R5=OG&GG/E5(CZRAFNAA%=CR-AR-<\RY:=0PLQ2 M,A&_IL+:B!CF\C1]60).S77DMTF+^RU+I7>7I3M:0_0*O^B\10,=:*(NO01B MM+1NSZYAFF;2FZN@?ID5 MI@3_S I0$P[BVP]\C-/X<#K\>(KR*"TQKDZF[E^2>"<]X:H/!9VZ@#HR=Y-+ MJ0OW6U31HZ:#Y@2\[0):'^83D6K[& G!CIQ' +1WCNP+G5:'P].FD+G-]Z=R M2X\ 1\PCZ%K:'&T_1Y]_B_(+=89=V[]+#^CI!;H:H7]#0( M=?KH)WQHWH.U3\9\+],SR-YL#]F^EYX*= P7/^Y[;"\Q\,?8PC/T$-;]L?A7 M>01CP0\>WNRZ]7=QBLE_+G.\B77[2DMZ3\%/G43Z6.A7O6WGUXA1LZZ"@H_*S3Y5PK]NDTO:H)D",PO>"MX@0GG:I M*BQIMJ@J($W9GW;4K>[[?DN^N=[C]6_DKR5F+X;(OW9Y=+C+(O4^=4Q78/O5 M47(J5QO:30LKLHNM>T)M5ZCJ"]'./%S+GEEDML#V0Z"(Y0E]_R?T\/ @E1)N M%SL>QOW=K&<,V^UJ%YC8N,8RL9G'&LO'%LO'"LL)Z0S^FK)<8I[DX&?J"-V2 M7Z1E_$KO&6:%O;I"]1\O)].R?^U!X@15=R>&-R3J-*X2*^#^-H#+*:QNKW#8NKJT>!9 MGAK;$'LW/:935Z7]6.H4>;KN.XDT\*3:G7UX6FMSN&R/.? +%Q_Q)CX=*!N? MB#NC6^ZU5)XN6XCWH:\D@0<;W=8NW==VA&(/."08^Q[*RRRB'6Z;F7,9C]D;K9P]_U"*KW M(34WZ*N:GZ^[_G?-$Z),(>^N62T>*)XZL1'PZSU_1H7LR!D&C- MBRWP>>&Z>3DVQWLA;6?^+V#K976\B"U[R$WP8?OA622AOA>R +*EA>S M+7 ,7]2%9GH@SFB""=/\E2TMZOZ4XY M:G(&$/^*_)=?I]#%1,RDD'4:S7((-]0KDE[&!^:4T]M^%9TO_9]''JZH!8W[ M?_4!IW@;EU][K=5HB3:A9J,EU*!2N QV%XTR5YDA+-9YETY@4[[8RR9)!2/; MZ[8+1-5% ,OK)#DOV1Z257E@V<***E=<]$(OV,4T;4S*T\;$AR/I@OXK6O-2 M7+Y3*KF#5Y)=QA&YGK1RM5[GIY[-J'*].:FEIA>O>JF3SE(Q!ZF;&'4X"NDH MH%$2OUIF!*-9S8Q(G'#9C[WZK"\,/.*2GH5G*5]=B5N+XU>%XCA10UWILY9F MB"/^&KFY.-&0UG>H6V(O[\XFRM4V::[GC1$5[.J>&RA[M_4\(-+J@M[H&5P= MLE-:HO6)N,%IF9Q1WDXF?9N3LP1U[,=C="8,):ADUI#LWE]PU9J^XZ'11)KM M2SWS._:$;5/=PZ)M+U>/UT_$A?&0AE3B;= A'+H1WJMF->?Z?5COZFWIF';7G5M@.U)F3LU7YQTMD?G537[ M$EC'AQJB<-8ZDR1*EOWJC 1"9M60X ?FSL,AR\OX[U7%HR9%GNEALYX,\@Z" MGG_)WKIIOOCS9I=%9GDY0,_E+5 EG*];0 JF'(IKJIP $N%8IWI1O:[S5+W< MC>T/ &S;7#>V9ON9]N:UK(I3VIL DMI<0+'BW9!6H(^8ZA0^I';6<0RB@)[%T5>]")]U7L$1?8S7.-'KET M$N1-;-1+)JZ8J*0C!KDZ5X MGA]8#] A>4@]@$;XCT0U2)_8[Y?RA%,"N)E>9,ZN2D?V>.XZ-4;EEA@0Z6O( M"T2XH:&,_\"1<.H[D[Q/9927 4G\ >_B-*4V4R'W%_,D5&7(9M%\$-O'WXC> M;[OO1N_3I2SB(E\#M)/+C-90=?A7J'+TGYIG_%5UB(;5RD>!'KV;+,?Q+AV, M8GVW/0OTC?J"&CDT4PNJH\\]/SU4*N9Z;:[MS'\,0"^K8RR@Z>P+>&WN)OCP MM;E,TA!?FUM V3(V8('CP'1V%ET-5$?GTUGAZB5,6H+_,TH*PF+,?GO,H+?@CU/<:U7/K!E#Y'.4; K,F1QUZ M6IBLTP/J=.'KNM!$*;F!H671Z9.*%;'_&?H8K?>D3Z)_S0/.YGGGFGG(] ^S MRNRR_ON=5TC3,T9#A\9GC'J"5I)XSE8<3L0^'G%>GFG6V9)L*>@FXDB;Z,X. M'#KQ4&?"2C9EQ88R0Q4YJNDO6#+C\H)M4IM.?%>B&"7F:K-AIH7).9!O*?&< M#E"F"%<_^V>WF8FGB,*3$O,7IZ*,CO@W,(F6_< 6K7"5BJQ@@6CY,=2 M-2UZ(\2HI@[$;CO.G%@2PFG:0@"CC3VW[R(<..H,GQ4>O=OU&02DN6R)F^K[ M$88K!!W5RH^1_S'+-F]QDI"]P"W9%J2[F+Y[9XEZVO7'PM0[]@.H8:X2#E%8 MT[,-<]M#G@0JZ.F$R@C@HH=FS7 BAHT.X*--&)F 1T*O9O\ MF83RFS3!&F5BZ@1KB $I#$_<<':RYUHJ4 71<:]*N7$.SRQ;3(.().,<^$*0 MG:W5D?G%D-X0R4 4@%4=)87W[#-F[%C@WH_I5)ZD6AA0"UK8-Y5&22258-5' M_X%85>L9DCQ@M)L>OT!SL[ANW80 /SM;ID=B4%9Z24F#5#0'NSX&GE WWNA3 M\:+.]Q.6BK8.VT:[B67V%CK-K!9 M3&OU4MH%1";S;%U1;G;68=-QZ= B)N#20<4#O&U6'R6%-X#KK*< $^\K@SWO M5:63U2['F.UG6'V,+-V]>\;Y@25.#0?K1F-OP,V$LE!MKS=93M:2]1ZO?R-; MBA*OZ/D%#2B50;2#:K[06U'J.H)T:X\:LR, M0IND]%8]:@)V>Z6D? /7JJ[4[ #>6@ 8OAK4%<[C5S(0K_@V)4LZ&Q>Z#?T) M;W:]M\..?N6$7D'7YBG2B^MWW1OJ=,=6PJK#;IZ+P%S9P <"UEF8K!.B0S%9 M(4(U!W9^^)1NPS8(>H]^K"($X/HO-1)5S8$H$<;D,2Y^0Q^C--IAWR<%)\S2;-Y/>)0.;%/AC,K>5L(/)*TV M$+-,7MY,WII/WJ8A=]XKV$0D%$R[Q2+,G7B)0EC(9H@_J'4JI,##"#F5@H41 M:[!%I3K* I)]_C"-&ANN] <6HRYS,1C=HZ2\GS_DL2[P<,^D]]@10IE$NSD M$![Q<"K4DH6Q?_<@$I@)<$!<3_$=X#;7LOF\QS]E*3Z_X201/N^V>-IVY64) MM9;3L)"2?E#3$9(@,:3U=+30HEQA+*=N:%4OJAZ@ZKZTS@%9NL"6!++[!K)Y M-;59TQ5\Z/Z.EC2UN>(W; @83Q-X'(XR;Q! !'PZIY#A*?G<#P-.\HD' F=1 M8-P4B.*X[1@<7Y: M!.U35EJ=DIE)(4MTF>40[H!U2?KU[1"E#>!4:X14JS5Q.4\)35B+[HD7F*.^ MG%0^KP6E+ $GU(RR1!N(UMQ@FC Z^8DP0>_!?(C2WVP\6ST9H+88^!]BJFJ. M:'M^H\^.6:HT5* 9AG3- _GW-AA'L1T/<9) M\ 4ANS15.C*_(-(G>)*BR+O)'BV&[T159O18(-^/]7S".VJ['_$QRUGA0K/I M5)- ;LS5? OK-F^*FK:!&$S3T M[4\.X>\&+8Y#'AMHCBBRC'@*@@C*CXX3Z M%)65LU^=XF4I=>X%4>F;D1\Q?3YYW,=K]J!DF^4'[YZP S!-BN7;)C\0]QJS MNZ64K0\XQ=O8*IQC(H1,+66207B!W2- -44@MMIN2H044U;S 79$6N_B: *U MZNIRQ1/-JV85%''K!OCHU$$^V3%J$^!@J?/JN]U5#RRK7@AQC8F"RN7R?9;J MBDS9N:HK+&&*))RB/$I+S-+,/>39YK0N?XER^CN[NI:V'4"61;"52:B'T! R M%:M(44L;B+%WFS2A (+3C$$EB>UPX9B,VX88-B&L619)VV@@ZP/99! >#E!VS/#W*,( MQ"9;S8=0-\EF,H#<;\("K=S$3E$(6VXVV(X(.6@ M3G+4,MCAU%!IB#0$72\@&L"@L*6OPBF@3?!D!4Y@K M[E&<_SE*3IT;G%97W+5DD%?<]?P+5]Q)<\3:=S0H% _>9BZ$&^X6$^$-2#8F MW$#G&4HZHZ7"DG=S/$&0CSBBS9FI"DT5C&;6"DKCE:'(RXXBD)]:)2 __(5^ MN0ZO_\]3E,3;,TN?QPLT:&RJ"S& .CC)(AS\7U^BI_4>;TX)OD#OOW_WW1\N M4-,;6]O;_E!3F,2O_76?O1IY[E.W&/SJ4;_?ZAFR<[ G]P@$U&E26Z&W_@6- M6IB1'(1?OL#(U(-P>XO>60P#RYN*"YR_^O'?9]*(KI[/H Z^J\[7?WK(DGA] MUIVIVO<11K5Y03*W2O,7J/[[!>)=H%^K_WKWYN:0VNM9L2L>A>-B5S#")-&( M\I1H??& <_;.@[-@L^,Q4D*FV3!*(5R/J2@0(>$OF\)3&7>I/N&R3@WQP',I M',CJQHB]YA6Q YF0:,0.83#%&S>O."_C@O##'D79ZXF1$K(8HU$*(4%'2U&_ M PQ-328)Y;6(HAVFA&*)=H "RT26Y3P+E+U*:*F <<,D &Z81=G.5F0XFSSB-=)5!3Q-E[S;=3FKZ>"'8]< MX6*=QT=9&LW>%2K7KD!OWSG+*=PS&M"%MW(L(*3?.WGCL"G>T!L'3-@GO/;+ MC9K$Q]-=LX%NW[N&IS*CQ CDV:[E4F.""]#SRV1[FQ:G/"(R5B%(>\1;48,^ MO[211GQ^F6Q10U8'8D-RO,;+]:XA\_N6TAIEXEM*:XC!'MS?;YL::)U*8,98 ML26]CX-\@T2:<_!L*R\(%]ZZ,H.PG4/_(,[\;8"H//NW02&(7GV(BKBXWU;' M0G&ZXSS8KT6V'0!JEK5,0[0Q0JI5+6EXJC1=N@?"6UT'PJOKS_1-*S8N45;4D ^/K*01=\R M0LTL)PO:>GUB98]"X:&5/02!H@&OY/M9[K >J4E HP%*OL5M=-4T/,48(87G MB_ FO(BQ #U8@%8-PL2);++6V2Z-Z:)LCW8+6M 5PRR):$<9#>H0A:<),PGF M=U6P1)FX)EA"#&9%.!S)'HJN2O?Y55PPSTTW*,M1W1'=#-"NWK&^FEMFH6G?3&,@2.IUI9J 8V$5FP!B$*7] MN<#WV^NBC ]1B0N-.@X; BJ:P.,0/J0!U9>F27AZXBR"3P608V((;3D@H%(] M%&1B-Y&;1Z8G@TWMH.-?DON@;1X>MAVE>?EF:9A*VEVMK^=8A8?L%<.^RY@,U'9RB5)WL1(+UCZO9)G'*S) MPU.BI23UG*G*"962?%5.D(19>Z*"QN#H?R@_KU'2'@]9+4)V])"KD:5$PK)$ M"'BR!?J/#FEXVC6[B%Y7*A<$"DN6"_Q %.H3?NL<%.592OZYQIU#5WO=HX[J#?*VW"AIY56L7H0J5K2">O/HN>FK2GL=FO+. M.11A%?2: &GA*MYX/,-XY28D)RP$:U9X0G"'OLQX74H[!?9 M"7U"7N&;(+EPTXWWA>K.4+/P],!)DB;33X>*K:6K),G>V+.3+3T/STXOY?:4-)F! M_%[4,,%,O*%APICOE#[#GXU[N!%]A9'B1RFI:ZH?R:]"4\4YAD$0,] D0'H$ M.R0#TL,7YLW'J8A37!1D._E"O(..@ZG12!T1Y-L.'>_"BX>J,>JVAE0CRW>& MTX7R^HS#""?AZ8812S!AQR977G6Y\>]X<[NAP91M7%^;6JW_=HIS\E.ZJ0OS MT-HC14$ M[-1\(Z6S5/PKU85BP8WMV"KB<9!O41+9TAV@S5IP_%JKU7_&7NYQ.V*U;K)Q M$4>69^U-F$VKKX9NT,\%ICMXRK57;V@QA55;M9FU%70/TEFJ'O+LAE8@[Q0B MMWJ [MJ3A]V*O91*;[_3Q06]GX!8+]VJ[<%8DNE2=^Q$_8R*73BLL[I^P*2; M '(/C42Q:C_D"&%@!Z2V)1IS\^'\,?IKEE_2I&)N'L?XSKVX&!/&0N=3-$N@ MP;EX.2/6.6*]!Z/XRXQ/:POL/(0P5O^IVJ)>[J>J"LRA<5Q$NUV.=_RRRK8R MX]81$TMZR*-D2XF$L]@>77=)"T5MQTHFKM*LLDC=%]%38J<>\I@U^A%GNSPZ M[N,U,5WY;[4CS\U8703[F0CJ]6S:!;7",;4+9$'7[DRW1;@YE;3"YB'+R_CO MC/4JWX=S='.>SWA8SV<:G_'1@@O$OX*ZGZDSY@1C)Y8>KM:#LP#3!^P' _Q\%_UP/+9S1#ZSK31(E M?H^U'*'@IBZ\:+51+ITJ=])Z5>0!JJ^SA/0!0I:R M@=&3TG_7)%HEK3[&#H M][']I&?V@3VP'_W@/!A=&B5:]^S^BWM6/_Y!O>]U:K5>YR?G9I05&R:D-W@,9>QVB8%LF39@E(7#K9#)+"V7>&7,9Z@C,R+ M1DGYU^D0)0A0:9SEH'GCB #Y@4L4I]7EC#7Q_:+TS"L%IANJ0YM.9B7RPX1^1%749,JWUF4H(?HS)[XD;\=HIA>EZ 7/P=*?7\JBY+XFIXK M9(Y%NEIUW6 .OB36[Q@[3S%_))-TEQ7%;?I4$BO*LGBVQ4$><,[N?Y#A=%U' M9_J6I\5WKI'2O(SM%OZ MVO+?:"DCX7)T;@;Z+?:KA8Y8Z%>+&QNT1TE64@C_\-W[']XS&-/?=#2PVH>P M;<@JW=P3>Y5W1JLZ/GK.[H\XCV@^+%YWV(C]93X#H# +C8\2I??;_EX0D:\@ M]IG>?>7Z'.\Y0\VGFO+;GM?@+V_(?!B!)16OMAS!:]TF6[-%/I(5!/< )>*_ MO510*AB4Z*%"QJ 4=Z"45U J,Y0U4$K8M[[I8@EXDT23AMXDV=O3Z7A,F*,4 M)5=QL4XR6OUQ3,C>L4O0,9!7B@?4918-RW;/7!Q;F*W9P=]B C>@/=GXR15MR[T%XNANO] M17-8=[ZH8Y_G@/1Z'N$5 5[B+?&=4.?4R^\F:#2NQ0W2:%##GZ>?#B=F4)D3 M0R\'Y7B/TX+%/M;9 =.0Q[A#]C$]^SIY'S4*AN/XNL]J#]#K%?%NPPU7SC4F MEWOR$V8QQWIS9#$ZM.LPUO5)&J(]\1^O'M#N?"=E,0W[W&1YF\^X.JM:Y3F= M9Q8HK=*5L F!$. K2"GB="D10]I$998_L/Y^C/.UW&!69JI1SH*;J9WN8][L;,+ MCJ7.J*KK/O!/H_;;Z$0_CMC7ZZH0[/L7U&K6+%1IPQ@3 5I1R&%N+XOR7HKP M+LHLK<%JZ[BT^OHPA2]#<1YQ41(6B6?-9%BEF\%O?DYCFE6IC%]=(E7+?M:? M^9M[_,89OO83E:WCCP0'OV1?1O6G0[5T2X_HJDW.T ^,[Z*<6CGT^/1S]H\)-?-9BSLRW!UW2ZZJ0W< M\,PS'$;STAN5 ,W+! UQ=IVLU0/\GO(6YSE->_NYRB*93GPUY]BCISO';E+K MWP+QOFB&PF[F@K#?UTT= 2KL]7:+U_QY^#,^'+.<;JBN8O);6N**B%WNHQ+M MHE>RXZ2;SS)#3_$NC;?QFKY_?:#I3*AEL!O$, S'*'W172 >H2S )N+G-&]2 M:1,^/^ 4;XG'\Y@ER4V6OQ%C/\)*N'?JQ5",D%UG*[K=,:C7'2+:(ZJZ#-!< MS# .\@,^Y8A<1DDX!F&L=JAMPEC5\'#:Q_.# MT&0:]""2,%L=.%0\CSRS<^S5V\F;J_2F\[-NMA5VZ,\6V2HQW%=5KR'> 9AC M,/H#\)!GKW%!MQ/T&+$=CE"T?C3X]2=2HY /K/?D%;;2-?$ M;>'IJ]T5?TRW7C1_E/PZU6\Z[*H][1/U.PWHPM_,HS&0DXQ)S$>B)"-QK$W! MMU^]U";PE[C:JN! :S@RZWEB:0G.:'4\)BQS ?T[?8%WHEF>T W>X)Q5 M1NV/\7/&&E:_KI+-=QH]B)\/PP2-UT.U#1JOA.!YZ"A_?+8:7J_(?XHR7I,] M5%5M>51ZNE$]>\I:-VX4],GL&/1?AHIP@>J.F1=>U^T.SQF9:U"D'IDP+*$X M)),40ID/Y^J/CD<=;CWZ.=]PE%I[[,J; MHZ:S;F"?722I6X2G]E/'X1,NT5-4UXRNY6P?8A _@*S]Z*N$W<.FNY+K:+WO M#%5%$H8Y&*4+FD.-,8H 5:B]XYO<;]DEZ4Z4N?D[8;K$A^*&#%K%"UAWGI%,KA]6<"N#1*+D]%21RJG!W]9.F.)?^N M2_NTE50B,KLX&G,@._]'/54DGGWL].G6>.$>9I;J[Z'F@_QTDB:>XQG\Z]H> M+]WJ-X2 ?3@8ZP4[FJT1>\()7O=S1@TL6J=D$.T]#"]J*775%2U>1E>![5Q5 MX^F7B+Z@*,_-F]81ULNV*R\VR5I.G:6I"V+5O;2/O0.T&Z,E;N[$Q:E&XC#T MW@V^:FUVPRZ(CM)*+*P02^>6R4=B-DXYWMRGQ),ZY3GQHUCQ^)_3[*7 ^2OE M]C8]GLI!(-A"CY?Y'*"N+S1>Z@(Y%[V+8_6G$+M867T,L:]=H.[W$/N@AQ,C M*_L!-(H=CZ-SVX2-[6M=?.B.K+ )^J'CB01A?);4RZ&!6E(IIR3UX[-WO^UL M[6@J\E-*0TX/9 ^WKJ_$22R.>Q=@R?B>KLG! #%M>8YF19=#*Q4H8"V6*E1CVH&^?H@.^RFBA FNMZY)XT[T> MWP9T7"#:&OW*VP>AB2&Q/THO9Q3 GY:*X-?KJHC\"9[U V$N+HHL/W_*2OP1 M'UYP+M%!35LH7UG!J:1@8-4,T7;H5][2GU^H&^&> Z@;7A";?$FE2\AC5@7'0N")W=JL&I(- "Z5_B#0:>G\C(.>@^J0 M(AQVZF#BMWKZA_,S^:S!I[6B#J%^>D\:IP+J%XA2>G5PH:4*HGJZB#_K\NDB M^/RJ$N7&Z"5:48>@2CUI1H'.J\L(+U<0ZB1BT%J=1 !."*95;TWSIG?RI:=L M6[Y%N2&T9D,)%6BSDD+V)(X2MZSU@HS 0+,Z7 :; M()"5\F.TWL;6N6&P MY]IY *"5>P<^8;X.RRUBBEHJOT?DFFB;Y!C&>]QP20D\'R";8H,6(/*C E:Q M0"V53Q70QLB4 KKB'A6&;RJ@3FF9P$DH'N$*_!BW/$9*2'4P2B' J:) M$ESYW0[!R *J'G88$U3$#F#CU:3(RXZ*D)]:]2 __(65>%*X1(._ T!]R)&0 MG(;7/O/@U'CES'!]9PIO$"HBQ5FM"%*0+0MWI=476D!"7FGYJNGSXL9XY\X6 M^B/Y X6_?"50@&XQ%?@8I_'A=- JP: -D!H,.1/. ?C?/;DN10S#(R>:X!SG9!(-L_Y[SB$4WJR0V M5F% #0W@ED_'N5#4B;?MU*_S'CDS#OQP-V0<=7]X,4;-M%2^,:.,. U1PY+@ M!1-SLI@)*PAYB#E5R;6O/Z_WVCV'H3UDMB0%QT*ZHRI[?-W0UX6$,.V#\;F M8QDT5JN$L1">56+8@[Z9#^ZDS;WIG/J8:X@(OT=T@3$]2O[S^[2'/2EHU*4O)OW9Y=+C+HM209,.&%"SGAI4*T[!)4W!0I1 M*OB4/!%C:9EY 1S6TMM!Z>PL0P4Q=9CHQC)U@%@:L#23?/790ND1&MK#0E?* ML148O)UY+L4Y,)#56)&@60V4"7[6*B:K8Y[BZAMZSTK1&,J74O$J9,.OVC6I M\#UZ2[/S#.8[:)'1\Q:6AX75+7GGH3[RAM^ WWR_BU-:D]HE6*9; M>":%TPW.JX21'H-VL[(,^J++@!'A39U C#?RPR>G@,&A!PK+VSL!*SY!)QH>V>/;%+1 M$VH,6&E+E6(Z=Q-6\9.N?%/J2K %@744;A44 %D#*X(A:WJPA%7V$@GGEX04=6A138PX->J0^TA=-5ZRG^+=/CFC)";D&Q2GK[@H M^9/YM[C>DI6.%.8?%U!$E?K?-\G>G ONZ(C6?;&25IK)%7+8](49$-B21#3(\Y83& M88S*"8H@RK4B[O0F3DXEX>2)%C)EQ4VO/Z^3TP9O:%5UGE*2&97[[764I\3] M+HC9>-I'.5X=J$.N4;Z9^@=4SKE&1#BBZO2+VHY1W3.B6$.=OJD>U+W3U1FQ M_B\0_X*?F/-2@_/I1*-)5.)U=C@0V5LO#Q64LO"I\[,JR= FS*HA,#:C*(BC ML6G*0%.SE1+#MKE,HOA KS14_]C\]<2W5]>?CSC5+M(3^H2T#1,D%^P![ZNM MILU6-]X=XMVPZRW5/]LN4=6GKQ5^SD'H"U_@9/LN3GD!]S7KQ*O:3\6YH.I3 M03XQP$5]C-NT>M+T(4I_JZ)RRBBY@0@RE*7C71HGH 3H-D7U&S1*4P>&!5@! M1:V0 #4X9X21$I&"P9!V&8L389(46W&+?CP%>&PDU =#VA[J0,]732>H[N5K M/XHRHZ1KLIW9D0TQ]03C5F0>_PDEY&.-5UWHQQJL4$6LUAAO"KK5I&^!#-7? MAFUA"U0)G$KBUJP-#Z>P5MZJ3AF99<78NI3,4V('^JG">X>U/0* MKW-:S8!LQW;Q*TYQH5N(+&B]*:Y<$J,&UV07J$,8@C;8R;-JE.'AX0$E]*WT MMB((1S,T(-.KB 9A4RZ7X)QFH(YV^'Y;/0.L2@,_9\]9&2753\KK)M;T8!=0 M["42[&I#RJYS5J\ZJ_;H.4.,OOZ%CXLJL\A&%"2O9"HBL@G?QGA31;_Y.U!_ MUUD+ J@]KI;HNROC MH4G+@"]#%-0%);[$&(B#LBSKCHL MP@XHBEZ?MA5D=?^$WSIWU?,L)?]<\[):AN>\COV QM[=)!0#W0T]6ZE(#[TG M%KT^O#X-_H>0U/8/0Q0DEA,B"3ON^WJTW&KJ\;<]?*FT/F M/);S*R0[IGF-R;)5-_3\:#HXKBV5?6Z^03-*:Y MI)+6P!I$#9_6>[PY)82) M#ZX!"OLUT:_QUO;C?$P8VW<=1<0&#\YGA# MBU%7EU-C7%3758>W%>[+/'^MY0 MS04+DG7X0!4C%^)=HPO$N$$E8:>Y;.3+"_8]Z+TQ%88J!&L%JO J\P>J[5^@ M/7TE[;/\#&8WF^]]L?:Q'3$P.UA]TJ\CM?3H*<7\J U9#9# M6C\Z1 _1F8T:'26^Z;88EB_6Y"DU=E&3IU37D$U>O>65BO0)Z]XU+/;%\(V< MQ:C-:MTNFO#8A=K0D>_.[Y_12X@+F;41@\BOZ3X0*?9108M?Q&NO[V(75KJ9 MS)6MQH5LIW0FE[ ([:_4!08>)?X"]I_WP-HY; MV^P+M'.CE!; 1U-J[(3W-G.RJ3G]7/!;4.]X%AHI( NUV#FE^9$0T,"I) 1[ M++2D*O4>%@6O1U:/D*#U:=W5I[S5I[BK3_P9"8JZ^I1T]"FJ]6E7?1'^A=.< MXZ9\> +DBFJ^_X7ZHKH1!3+U@^=?%_WW7U^^/^HRQ-JG]MX+=;KW^R!JF:'IOI%J MQD$[7O3-U,?HKUE.HE#/,@ MD<[1# QQ[=&#]2]G(.JKPJR#FJH ZUL=6ZYHO7NCD^S<4QAJJ9#2#;(7/<#2 MCCR[U $)'(BBZM#LH*PZ*,/D]"IO9 ,'3Y:DHLP/.'VG::/KR?A\?S6C24@%B M2<^]<,>_:HUZS8- D<4T##%D,06\L\B?X-X59-HS=SG% M*S[5!K;M0^D%^T^_,*? !I<_E"P-8[$LY 4;"610A=6X.;_@>+ZR.![XW[>1 Z^B3?*,S*V[G.?[BY3%.?HSU$BYBV'WVW; M 4R^Q;9#UPPW=#M':0]Y=I/EA^@VW=+_Z ZIW+N OD]K)Y?5K0)"CU@'J-.# MS\.3L1,HO>X)/7M.MS@GSF+4F<4CF45&B>*V!^=[EI.T2;?1&]=-6%JEV^^X M:);G+<^4&1VA8LM,YXQJ9C6M/E7-4+Q%1^%1@=35,*2ZXJ\QNGN Z8EFY^CS])WIR[$ M'C53*HN5DE:4B),B1AN&QEK)5#4JT(N&?Y^JK$:92:L7AMA8!7>#6E?7<06U M:JI*2KNXXJ]V.69E&WZ)R_VJ*//L8[3>$^:(S\#VJ!W1U&=EX[N",@KCY!3B MGW4OB':#6#^HZHCZO=6MO&Y?RB,W *L1GM!@IF8"KGN&QS>HK[M\WL*TZ,ZM=+^8EQ(_ />>MX%EBH MRS9,P 3\S1;)32ZG.RYJ>E^W7302J>Z]O*L(90?P7A;DN01#EUE:YM&Z#/UF MCPF&VCL^)@R&UTU8EP-TD<(O]<*+RW2..!$7YM+WY79Z@LH.4*_B M8IUDQ2D?^4I-VE$85]OE,BK.QY6W5MJS9M3V$]RM=DM9 SHW=X6EPR5U#28] MZYW513([\B!T3'L92KL$!%!*>J18@=WQ<@&;O0YYNK,E>:+9.R=A7N!E5K@6 M5E!VXC=3D%HVNW0__9-#OK=A/01440I,1L\9> PXM4BC8P"IKS0A#YA@A5B' M';[?_CFCI9V)K< $1.U5-0ME=.W0;T(1.YGMDG*T?=%H&N\--=UYOH YF^P/ MT9E7-B^S6J0F1P,F;O2/>58$H;+CD&V1H\0!UA/.YNI$X"P/./E MDJO"S(0 M=>5UU4&SG5'DR%*6(DZ&*SL-9VA11CDR4N!(%YYS(S6@@-US4M?F "[#F.[K<&F'<;00;' MN[P)H6_R1^KA^0/Q:/9 (^["_ KQ=&%R)_A+GT[TB(B>UI)A5^)*W13**Y+S M.9Q$WHJ?RI-V]!\).-SFYQ?,O]&@H>?2+ T%*R_&=8BC[A##NRJ/V3E*RO/U MYR-."UU\>]@0T( +/ H7VWD#5+7P8\>MN<1R+B'-N7S6AR9=/N43S'K5X8^G M*(^(SX5I'.T0E\QW61VHK_XI2ZO2)RI[[]8'U$+@*)D*&BT]ZG2 > ^(=%'7 M'?*P=LPDXJX5<=T1,>(BID3$M5Q$L.5F#$I[ZY WB%HM4-#S.-?]]N9\^'XK MWBB*Z'$QY> V/9Z4ML.I"RC3X2:7^G( NM]*KNQTND"L#P^6P[.$8(9C!$)[ M=L,7/*W,Q@R3^,HFD;BZ<3N)$9_$0V<28]I' $&[]B"$'8.XQ.\$4I^A/%&. M68Z!/(7X+*3I!X7[KZV"BNDI$&8,[RG@!;EAU+@/YDVDEAA^8ZF7Q>RK7W2= M]8O*6_=UF6.23(U35_ETW"!'4H$\[%/P;5R=<5_1, M-ZU[36\ZTC_C#5M9;;>\H[OWM1L>/QY&Y4.=ONM],NF]J<]+D^]V]LVH_83\ M2JV'C?3\HR-7XPT9EG5G6#I[-+1IA^75UTWC)51)NR\/08]&;=FA$%-MYEV M ^^WWZ:$9?Q$1I Q?4<_8BX&IZ4"=$'TW ^GB[=&37-4MU^JKH:ET[&L%)"> MA@6:ABZ&!91\*H*Q!H:!SK\R*,L]:("T5"&+:0HQHR0!*(6^'H45K$ 4XT>< MXCQ*R-*XVASB-"[*G+#RBJN#+>.;:DMZ0$6QE4BHF,[IV"K>IZS/3I=[4VVI M.1Y$@U0E)RP.5%7!$]&W9>[4D?B>.@3U-F00@5 M\;*1P8R0>C=.R?PGWK*>EUZ0!792K,(G4R>''4BBO)HZ/T9OPL<@U:U[,8-;,X M2IEF=T+J.*E6VUR(/3HE4EF,&G;1'(SX5RSW63*Y*^HI@GF>'9'!7^.G/<:V MX6DU">03:S7?PB-JWA2QMHM'I>T>22_$/>CS9P-RA ?.!MAX@[MQBZ*SVM; -X=$ M;E47%YJKJ_32C[\%VV*H95=1EAQGEYLE]N-]K,=[,^*NAS5$E>Z"H;T_F"J7 M6#E0/2ZP5D-N .L"XST2KL9QAP'L;?H)?RZ?WW#RBC]F:;DW5-APZ<$?J#52 M6<'\-D6T \1[0+P+_TZ%^_09U %D[D8JR(@Y[*H,S8F2TCDL^1P>6!?+*1)- MS?G\EKEJSX#,G\H,^;?2$TI$E"0+436D$V+0A^5F8Z02V,Y*#_EG.BOE6[8P MV F-X8C'@M SX'LR.$">T@4+>G%B;&"_T*Q, ;[5[$B@3^F6!?\-&8:D0FPMYH9$?5;0K8PZ./740:_2^<9]%T)'$!/ M+V.&"GIA4FQ O\R,3 &]S324@2@%-JR@S9P\JD.=Q8US\RD_M7B3E/;3 .J.W4U,Z_Z,;\X M 2B*@#5+91& -EYABKSL* OYJ544\L-?FJ=J/^)LET?'?;R.$L5AJ:$]@$J8 M.!;?1[5-O-S+6H!A"%A;(:/&LA4LE@,PW@V_JSQ(-;2' K"&8ST>O-RQ6H1E M,!";T-$#L0D:BX'X^I1G1W5\1&P"!-4!7\.IYG_V5)%X.G]0()3-;A=WLJF= M$("[+_=DW"[IW6]:T$$?=5,TA@JUJ7@=SB1OAYJ&GC#GSK/_T)\6#KUXW_)8 ML KRS8J)Q4SVJH@CK<'N-@ RUSV>A*H:Y(\>3?5XWJ#,M#BC72,M3JK3ZFH%BR0]0U$: M;?SB2)R\&D/BS$U8XB^)#>4Y,9ZR4[E?'7!.O%7]2J^G@5KP#9P+4\J;(](> M,0)44?AT $;*$%G+ .8;V."HYR* @EX]7S_YL>YROF@!\ W/%N;W/JTXE4,CW\[C!"/_A//7>(T) MNIFGJ[?NBL909EW%ZW 2JW;,GNOW1P!VW)7IR,@TF.'68J-GL9<'AI6I'C/6 M&6TYU[6DGZ)\\Q;E^"'/-J=U:0B+J%I#Z9.2V^%XU0U1W=*G0KES[5V1]+#H M:1( )JQ4R7V4CU7+N73IZ70\)L;0XK 5V%HTY$ZP,54#KVO/9";AUAKI;/<7 MF>6FVFYUL1W-N33@,DO9_:Y?XG)?9PAJWCQ7A_B/>)WMTOCO>'.;KI/3)DYW M=?UEY5/DZ?V";>2GCX"P/ZNZ1+3/-OU5^S*_OO71]HN:CIO:UL U>Y8:C%K6 MO"'S%R68">S]2$)(2+>+-BR(^#>*^"956),/@X"(V#5.*NO":FER\;&#%ZR:KL M)98S0;R UEIW\ VB/5Z09QD"F@V!ZQJ!:X9 R2I)XT<;O(U3GG*S*I)%2&5M M"_)3<4K8WXO>AR+Q4TE$P]!EUBR_44+K!QVSE-*LLV+$/GOZ>AP=XS)*J#C- MT!).B$%45Q9WH(5A*0 M;6*"V;(#2 HU LACEI>L*0^8ME6KV"+O=7&W1:6PPMM"AV4^-ZJE7]BIU#.P%39A?L[K2E4ZF*!NGTBWBEJ>O7@ M,\P]"EW1!UK:62MX?;F"JO:)Z7C4'98C^XHW]V,6I>AY).%HA)63,KMFB)-+ M3';5'FVSO.=&* $T6]Q2)53#!/>4BML*G:*TRM#E'%V#12]G&0=K/Z1 '0M9 M]8SJKF5VT4<,<_$A^4)MXHPZTX^ !J8P=D'0P%$21BBT"0M;[+ZLR#V'1B7R MV(9(&U+?V[")8M4Q>7HD2X,+^'.)TPT!X5N4TRK"Y/>AQ5%5*+2)IZH@.+_O M\8DF+D]WSS@_T(N<>Z+2]-^.;H:R%\\>A5HZ:^>!QC 0[0112GX5FO;#?@S' M41@G:<_:HY1(FE!)2RHI5;."25I*)/6]_AMP:[/40X!VRJJ^])2&%"<=%2 - M)#+J'!+U5>?62815-[[>]0G##&FZQS)!L^$HV.BZY^XJT*?VKPL#:1R4HDL9 MU#F!0:1>["#;R@\,PM09&?0LE4>&NUE._._[)Y/F WZ! /X\7^192(EOT]6:O=B*T]UU4<:'J,0?SL]G8S5W.W+(Y=!.'D&Y&!D].6X)44V) M7LZA%'UWF2YA!7&8*\_8H^P8:P;:D0>!O9X\3MB["*=NO,MTV6-/G"M/V/N( MRWVVJ7[&FYLL7Q5UJYI98W7@:=UZQ:J3_%88YCVBIDM^R%N@MG%C8?V\/_K" M!L.OLKOKA]D(N"L'B'%H ):6@ U5K'N0!3VH2ZHZS1 M4DE!+>-ALS,.J2Q&O PUP0@6F#6P\W&SMR5I#+E>R7@U 6.I+*&V,=X9>0:U M_4I<"!9="8K%LLU]C/Z:Y?79;*')SRQK")1]3LJC,/%U!,=O'9SOJD' M<[&)_A0=\/VV]V%M.F-->Z!IUW&LGGW/>8&-P]R%@7&,I]Q"QWE6'*,UKGO6 MYU10-@>[.:[D5SB9J%NV+[F]IS(PC';_XC+ 4-M=21XQY'6@'#ZT^K3>X\TI M(0IS0Q]?X;OXE3Z&+@F?\4N"V3O-PE22QJ43R'V&BVQ"++TBIEX/)W_'Z%'; M 7]/7/BM7^-92- =C#-6A2V-,U!A]CB5^M?G.^I,/48*R-V.DFNE']$T]1U+ M&\\Z>J1/2FD:AWU\7% .V^W;$I, NH_38U_8S.F!/\&UNR;[!1KN>\;K?9HE MV>ZL]^W4[:&<.PW'0FF%JBEJV_I,I[40YV".J0DK/<\4!"A6KNF882^;MG,] M:KLB/>?QRXFT;VRI7M5T%%#*IN5:4@&M;MRN%SX5;D'NP93.C)N>V@&!QDKQ M1@]_7K>&WQD^Y]$&'Z+\-[,W*C8%=$,E? Y'M&WBV>^JE9^0\GK:5%"45>2#,S4F^'!FBDTDZI2)"E^/R&DX1% MB1\()/9102LDW,5KG))_[7+,OFXH5>#:#5@- V?YA 3V=0_\S #5?3!@5KV@ MIANOE0_^860U6)JPI(4K$S%.5_OU(SPJJEUAB1"F=8)!?2I$T' _'K&J*.FU]*M0(SKTKDPD?/84" 8>54BT D@E* M]GC:[>@=D6V6']@'VL.SZ[^=XB.[(&^K@2,[@U+/L;(*"=I9/ZC34??TMNDJ M%-V>3>S;Y^M+_VH_";$]F^ ?KE8&(S38@L0_-1?8[N(4WY;XH#L"L2,'C'1: MRC.<,].M14J+&+&GF":\7)#1/!<4#D-X+A"I3QGXOK,PH;\ MO'VU^>NI* _R7*#S= NUJ$^77XY-I,)FU2NJNT6=?E';L8>%?OZA<)01S >8 M"?0];R DQ%OY!4LA_UU"N_SG?_K]]]_]\"<4MPI0U>G:5@JPKL%1=L 1-?W# M7^G1#,B/>5:,]!OD:_UAUZW61.FO0AP"?-^(1MJ.V; M6EUCJ"VC[?/1H%Z)FD>YMYM9?HBM]BBS#O6,\-3%$$T$OF"JBZ>%%T*S&W8M M9I<9\U&XG6?LO?L0W/UA^_N17D.OAT#\A+Y4CI[!!>I&/?QLD><0KN!)C0?! MFE#]&@D073P9"0I];Z&;LHMBB;'WX_;1^A[#V$P;I';=43?=@50AM+S&/K?X MB.%6$EAM*W&>"KP])>@NWN) ]]TV<'?8?-M@'>;=3>?[HMW1*+*)$/)5C4D& M4]D.03,]O9>9) ?^?*07?+T^!K$"D_#VPPI)4S(48%[ZX#;M?NJ:C]?5"3]G M//_O_;;[=YXG6+5?FM8G6):#:9(+3]FK[HC"]!>LJD=$ND1E5N>7IH\FNZUX MOS[2)2PW#%$@*C@;T/M)%T)!N5U:!G_3/"E44W/]"9?DA^S0Y?4V?=YCSF*? M;74@9V1W<&&>L?**@8AV@FB53MX9,T+/C1$B?R,]UJGP[[<>:XTM)7ZP>I#88,$ V">R#\)E_I%L&UT"GG/RM)(CG,ST$ /PM%>'< M4=CQ&)_TVW#;RNT;QB%6_D.Z':*R]6$<)^@\AC1#X=E^= CN'G (E# MQ,L:(;XU1,(BG;X;TG;D_3!=AV%HA5YFYWMB4E5@.D![#.Y:IIOT!$N_#U1O M+:#K9:UZ#%I;:ZEG5%?6Y9>BKRKY":#^[C.X -WJ1M"E7O!R[CI=B MTY,"JZ0 /$2U0M3@L!0.3I:'HK-/B(^SS8JE/T?)B7'SB N-(M"F]+I1U3@,])OXIW]_%Z?O2(L=X28,M$N! MHL2X%"6PR*;;JF*/-_1IO16R!P0^D#WD68/LNBE+GA (L$WL]WD. M92E"AA M+84(+*Q->;.W 6)5%J@/?A>":E5%B#=>Q;'H!JC:KE7S208!);/P1Y^7Y M@0QA2=R99G]L JJ)$!"X1AF&"*D)+A C8;YI0^05W,ZB\,QN6H%\XM\.7D-] ML,,6B'Y<1L>8S%O\=[RYS ['$UE1G[)M^1;EV*0A9E) ';&00\A5VI*@F@;5 M1%X]EC'"U *T:;G9CK0B\UK1WA)B0FE[2WR!Z,G':+V/4YR?7=80'1&@;FAY M%R,:56.@5<-&'^80P*<&F,$SQ+X9.2"HOR-#2 MHD?_<'HYY]LH+#&H@KZ0 MQ+N:ZR%6:!->W(O^OVYC/T!?@G-(H!OP,D2Y 2PP^3O:+)Y7^)CC=][)Y*UTVC$_-] C(GR'SCHLL8V^W[ C6],VAW^[\8[@$N].8=Z@S- MPS!Y35 RL[8(J4QF5A40$_+A%"[*2Z6VM,\V&D! 2>68HAX+H4=2JBKRJB MKX/(=6$Y,T.064X+U'G8YK0N?XGRG"P-9^)OYZ2JCO%R.^P\1^7%- MEI<7O(M3EMHVV[)L3&<EFFP)XH2K4^ M>O4L[1 UU T[.$%%MBD71%NWF&AFED;)#;91"1,A;!1:+X,D:,H0U*5 E,3S M@NXLB"" Y["O!90DP5P+',$L#[7_S8)\M6*>+98' R'D\F"20;"IS6Z*45PT M*\39__K@*@MKUPHP.]\;O*7O7 E(?SS%&^JQS3H3X:UN5@HAK&Y6VC#AK6]M M,J(S$2:AST^B!!?/T6?=NF5-"?7BUTH*Y_]A#KO?\%QI?5$^!)$W/LX*Q@LU(RG/$JW1[> E>,,1DNL\,A M9CZ#M;NJHH/W5I42J*:"*T5+$8:O:BW&%28M\P[_(?BJ>A@I7%4]AJ:O:T]E MMO[MIRS9X/P1)TRWJ4=L6-.45,#KF9I[); I!>(DJ*:1[F;@EC%[*5C+O07S MT&N7 4:R=0L"0RYKECN6"H:E:CKR>CJVA A^J=+[P4]D!#"O0W@3IV0O$4?) M0U;$/$U.27Q_FD+G+B[&;SQ=/A',%M5I7$9L9B]0\P4::6^^@>J/H%_;SR#Z M':^GB7.#R&VSYHZ@Z9JWO 7\LG*%7\I;FI>)"=.KU2Y9(:2M0:_/R;@5G*CU'F]. M"2ND=)>ENW<$[ =$:5%++*W>#K?A@9 $]IZ=$D?B=3LEB";8^V%>&_,)G1F::&UB,_LEN.Z)+@NN[@N.:X+VJ/S$FRV1T]DHAF?S_LX+\\R86B! M#FN+Y-B?!YOD*K%>+YO>$.^N;YA6K6&B?09BEY8:@1^^8];I/P=EG48!7&6? M_*';U4+-,L>-C2J:.2XYRE5F:DOZ]+U1N(M3?$O8U;TU4U)XVS!TN19/%'I. M-?J5-D:L=1!;A+EX][IM+K2TI'SG]^ND+-(AD.R.6(T2-=#A<@N&]QGN,-C\?BRZPHBT]8CW0% M!2C(55S++6-1G&@[Q!JRVI^^WNY/Y)S6CZ;%H3O/]+N%HOVJ@19)H@9H8023 M:H88/VI"Z%!7A5YC7#SB8W1F<;7[[4,>I^OX&"6WJ4V-PK$=0B:J&2NS:>5H M.[M ;7<4K4V'-.WP@B4*+>^!SC8"59U@WZ4*IZ%8R(\S"<)AJJVA!-K(_D)6 M6D4)L"DZNT@%M*545ED KM98KY70)@%XLL*"UT'KR?+,@?=)*,Z4H MGP<%7%[@**KVLE M%EHQ*O/L6YG*#8%7&4D M? Y'L6Z":!OT*VWEZ;+#3,Q"6GX5#H96704"<+!>98+L 0#N185_ [6-"!]T^($# >X,W.(^2FU.Z*:ZW6[PNR<[DZ2TZ4GZ,J4FM MJ 'A;2>-X.9R*L3(4$.'*&$%J:6\'DM_'EHN2%5Q0.!0=QS@![7)WF3I;4HL MVTN4_G9/6,KQAC)S=_OA_M&H3I;TL-MH*XDD^V9"AQI"5%%RV'W%B-79?V&6 MEM&RT;\&H3I.>)/LA.W!!J(^C_@U2U[C='=)&(G+FVC-GC8;U<9 !Z@N)@F& M4&K:(TZ :@K/JK&\')!J8H6KH7I8@6I"1.@#T[G5 >?Q.M*'A:1-H6)#H;_W$C#2IZP:.E(6$507(;Z8BW\Y#6A:9I MM"VV(&L,G2S:5%*!YYVL6@5A8=5#+,VD[*]0PEV'&@]LZU3P![@9:>R**.4%K'RZC-+$""XQI+I!X$G\\9Q458* M8KC.)VT-"%8YMT,8U*UJ@W6QS"4_RTC*G#Q#PE:#C"%Z-; M[&-VQQ]C@^G MPX++1%O()-KQGN9N=$KU;P/I 32>H[F7^"BF$ MJ/;N+#)C3Y2X%NRE$6RM$,S70F +4]U"88M1#V]L:XM @SL?HB(N;K*\B9?2 M7VK4T+DG;R]Q;:0T/.N^0(WEIP07B/6#MEG>"9_3O_A:OJ9+W)R5Q;6DN40> M?Z][K;&J?_!K#51O2^(CIH=]Q$!,711U'7E>%K4R6B^,32\02Z-3R8@P9/:] M:IJ1;+-NFF'L3559[O"2FI4;C!\P013QG7;:Z^PNO7A64K5TUFAMNZ"9M%'; MB;<+L)/D[(BS)>+X7B!'0-)&X0QX]."GLH7ZB6Q.HLU]VKT8HZO/;-^%-\]4 M*Y?1)>4^*">GA4+JBE3)_4R1&4$X[G^UJ]VFR828R2CGZKCNNM2*&.[^WD,&6[ M:^EZJQ&T=S=!HM:_0=%F@S>HS-!KO9#Z6H)-)))BM8P&4<3RY/C/ M]=ESX?OP>;I ":%"[# ]J=;/M50>R/71&G"2ZNUV: -_;?P+*[N!-RMBW(GY M[09F[\FOGN.#;5X JYX\O3&VDU)ZG^.Y?5Y<]X*J;H;'$=DKS=!-^O)V8WH& M@;G.;:C-?ZOEC2IY>X<27-P('7$>9QNJH*5$=%\OD1UPK7N$[ !J#Q&9!S;T M\?J!/X]NWD9;QV/4'7B+QFAD,L9B:EI4$5^T[_[#.!*<(MRQ26'0B%D]BP\G M/F,"I#XZ8T+CI UC&<5)<9^J'BQ+6\%M P?V48@VLTA%Y/.!"Y D8/IGB:Q^U4E 6-F5 MH9PR*653I2;B1#,O%A8>B1=WQ+!XAN&'F)P0KQZ(U0C.C"8KO\.3TV%<&D/Q M-LRNAF<_PWHDYT+7![S-8]YZ'*URS$K:FUX)FO? =CC60>9 MA'>3C!8UQ.B95N3#]2%OTX'7M[8^Y8-[E.N*S/Y372^PM'O .WWZHF;Z2EI* M#U=G*"BJ.YC+/ SXTKDTTJ90*B_G4[AA*(#F)<>6BO8CAOB97"H M=X84C3UA4;FDBVCT[25I1UF'2%]>T]BAG@F53YB,ZJ:QY$Y^DQTM%&8M)1F. M*R?K>!,AN4G@,H'IJ0ON>FH+#CHK+9XV4:TO--D)DA_C%GG9.<(E/[7'M^2' MOSP1X=CGGM8XC?(X4SA)FK8 6J[C5!C8ZL]+YL/.!=LD]P+/2@ M%.U]057"L1@#:]7,U0&L2X:]P5:%BP%T5:#PDBAS=WPH\:]'HD$7+W3S3#ZE M*%4N[.$Q%4;,]00;;4O$FB+:-H":X(IQ'R> * 8="BK*0N&2/K!P$1N3>< $ M4(U;.?X:H &P,*/<)9ZS1(\7949&U@DNY6[(NSK-CK=GI]5@#]<9B4!/?#=- MNAP[T)WP#9@T-P,=1:+<#&X ,%^_T/-Z;E*C9M@)#/,CWI68;]JC\V#JRRA$ MX)A_;OB.@[K(.P<=.>;G< -JA'$/W,2 )5M'_;0Z!M MI@(>!+\V;J$IF)J\A78 S +>)N4OBKB5O!NP'>OQKP51T"?X5A0 6GW&.-+1 MD#&(/"O!69Y51;33B\?)NX$HP2S_$@PU[8&?]%M1 !@E$.-(K 1B$'E1@K,B M+\NS8U'@;/?:]] ;OI0/96A3\*@:^E)-TW)(3]1T'>XS>[ #?90)2CJ?2F6( MR[%^&8(RV&WG59+ARPHK OV+Z :^_>R/@,.M!R6+&%WPQ2_DL8!V)HWUP\5^ M;*(<<.;A _$'KH@IN\6[-"I+EN) *_ML=[OC\S&E0;3KLTMBX/++;)<_X[:R M^4U>T/RV3UA6F6J]3T(;%3?CIJ=C&T2_AKZBW_L:];_(RTOUOHG(1VF -T?\ MLYO>:P+UES>(?#L@D[3.2/+RC+22#QL[HT%#7]4/VGP=5/C,RT#9@"PXF^[0 MJ&F9>X<6S=\[A6?Y\Z' 3P3G3!C*%Y6A$_#BRRX]QCBF#?.,G:_L"AS1=Y[X M_^M+7?%_'\N*+WM[8@;NHR^2%6']3_M^0W'=<9Q_D7'PS=9J,=6E#X@U7R;6 MO_XV:C].CS;Y9]%7#0.DTT-]1[)C8H,BR@8B?$"908#Q'>Y8V?OU-#4ER5@V M/_C+EQZ4=O8=30\:N^2F7%0^W41)W)NIZSV=._'%34D/;W?F9%Q/ BND,:*M M^W"D[R"S#@ WCAN^/T7.Y8Z M4>]>ZZWS+4X9H^53#*;8$N_*="M)4C9@MED*/%JM(50 M@M6+@L[PH#RVE/3QJ&8RSO70!G2A*GP!M$(\J['O4]^5\!^KM!+[?HY:R3+_ M/LT_U]RH#U;GV_L\1A5P/.O T(;M4<-J!Z2::NJ>':T28 MM!:KM4=-&%O/'[/DWSA&Y)?%\2/-73+R-BO!)N.25N;KD+=$]/:/>OO1+6YKQ MZ#8=4=NS*0G7]86\7F4Q5P.@ TR4%O:73UC13EA=&BX>3Q@R+Z2]V'.^*3 ] M?ZI=!)H?R7[;4X <0K M5P* A?3I0YIC=?I$IBE0_12'PFE*4Y*S^&-4_((K\G/-HE+UU%U]EHI2RS&M MF\FZ,."UG1H\ JN6-W&\%L+2Q-JD'I8FT+PHS"TN,9'[B7!SCE]PFA_H JZK M,UJ]/:J-GC1CJ#6]&-9Z_8)"F\%$C0%G,$M^#O'RLKK>WT4I5CM$,VU]'M[- M<#K9I9$V-)[$6D'?:G3&K]>C.A$>)L=T(C"LN1N^DEP?-*80S*[X2G(-3F]G M? 5[X\UR\LRVR.O,G)MMLM8,2K?*; 830L+9LU/WY*_E4Y[&_W6,4A;[_2EZ MQ.4-+AJ.R(]G1'^S."I(FZ(21VWM:/E2,$M)QQ/5DD$M'<0(T3ILJ)U&^H^& M&*JI 82&G0O]:ROT9R;T@P9N4$ MN*'M2W<=C<1X!FNRJ+.F8@\]1+=AY6&IVF'!0KZ]WI_B^/CKDZB*7C^#$X.57F?&+HRSLC[,I_NQF-R.M=2 MII&OEC9+ V/EO!KR].'5^@-HGQ=B0PM@1GT-3]$?GL?)\/S:&QZA$H&94\2LO.]C_+S0')&98SC#3:&"%O".426I?M2WHX1F3V7#V6^N M(O,WJ.Q)_2R2&GJ_JH5LGF:3G5W4858C2-QY^C4'J)7PDB*JN@+ M9B;J@1JD]NY*5*)H:-1FD8!P?4Y<8)XW7K_>+D;78Q%EM"'A@_B7M.W9]O;B M#D4[?_;O \YP$:5DV+;QAYN97\&P+SGNRQ6/9PS*< MBL9T0())6?=4T0\>4,+ZFUJ0"J *A)IP 9MIXQ="PH6I 1'@VB,O3M%*XD0NLX;>C-1,[P.-%PWH8]"81X*SA;*1K3H<%<=4#UK*;!P-+G M ?*(Z3TKC>M,".NU/9#NRK-VZ(,%(P_E* MNA,R@+S7V=#"O,6LW.=5E*+:I>*ONN4HIL]5YAE+8)1,VP+%6/Z*!UE((YH2 M?D7?@_P))X]/%8ZWQ%9'CYB6;J$"T6Z@U')&]/I=AB>C)BQB6<(97VUM,@P_-'ZE/_9VM MVLZ2"D5MY^4TQW!+A[=@.S?G2AOC/?D&-?(?CDD<95WOD,4.1G$EF#927 F@ M%SBBPT^6VP=Z]V$GO"P@;.[+[13SJX!1B7YN&GM_Y6T]SKWYQPJ<#-QB!4@ MEIGZ#I'V6M*V!ULP.HZ5YK%N&H:SILTWH@5&0?9[6A"1F^81/KP@^@J7)<9# M/JZ2Z"%)DVY_=W[$_\11\9Y,M@3LYJ0\ZH&%G).GIQB)#9JH2DMG4U\,I&^> M;Q EA2@MF$K"#B0F:/D+I"[9@G.L9K;(#$\#DQ?9%'6OMBD;(:2O^?Z/+Y<*2B79(>A&G0N/PB)!LIK@K& *&3 MEC?MX$FO!UCXI,^U,H#2-@XCA"+CG1_6\@!*TRZ!N32G"1=Y(&6"%?BE:>3C MWG_.'>WC&*50EJ-9*9WLX@BIL+U%L;P$*'\.=J$1XW+)%JX'RJ!4SX'.!:EL MEEK64-@@0L.]>M%5Q95Z*58MR$PO6Q#:*EB0FL6TGGS357BRIA6@KO4E=;.T M46(GL+@)9":0^7^GH'83A"Y:X/KP#$H1/^$OU?UGG+[@CWE6/"ZJ2$X =.?3D%%1=BUU501YP4/HI27V2X]QCB^ MS.Z?\$?"RK' [$[ ?L!7HDZ#SQYXXZO8Z7,BA6D1YPO(#]%C\>6$_T,^OKN5X2E%0^5<< ?V,5,@"? M%U7:[G;'9Z[4]T64E2GC9AO_][&LZ-(@K!IF2L"C0FG+-*G^T75$Q'?$R6.& MSHY%@;/=*^KZHVU5%*5)W/BT!3TUS %RA9+/9&TU[TG=0E:VLP.KV/M M,P.K;P7\$"7955Z6GW!%/<_W:?[Y'SA^Q!Q>)IJH1PE&)36EE.DF)8&^HD2^ MWB!"9X.8ITY)(49K$YQ*6DI-FJ,?L@+3=:(6_(]<<'J'?B1U<'&6/Q\*_(2S M,GG!E]DN?\:4JBC.[N_[OF+Q'D=T6I^Y7:$>Z=*#:8V7[O-4=Y*: 530 M&C [NGCMZ>+UQ!8OVD= M]>9#K- (NOL<'5"/$;"XOF_='L3^3U*QM2HP_185'*#XDV1DWN$]V2O?XET: ME66R3W8\!DK\TNL]&5_9>D3I7J$\QY3NJGSWR[O7,RJ'_EGF3"^0V-$< M][* "FN/'EX1ZQ'*F>4Z4L!$@H1X$D=_A&#RHPI/$74##F2.GVB22I$_%I'J ML319)Y^*(.-]@B#:&'6M4=U<\"J-)R5840*O"J!$T03_2@@!PE_YO)N\&[@* M"%]_$4-(\*H.I!JXDP)>%>3/TNG R8LZL$6H7I)TCM8$[3TJ@(CC2327^0JM M]P!_1+8"XSYA+D7*&-]2F"PXV&($SW%*MA8%CL^/!=EU\6T%TZB2_?WZP"(; M%U]PL4M*+*Q0LYBBK\.G15)/;"E#54L-<7+U;AYQ@C7T:I*HH;EQ7JI&^XU( MIT- MZA1]HI*+NPC(9K1;3RN7W\O-^@E2J<7MKV=\2R'^>#4)A",:YW#.)WH M\SQ-HX)/)K6H)8-UW&*?;"GK.2]*"H"2L%;N7]D='UP31X[ P;_]-)639G M-NTTK-E&6GHE?;\YH%V17WZJ/\!BKU^P^;]-?:58(+. M)SI.0&%M-_HF"8*[439[,U065<\$D7]UYH?\XU_W2479O,SBY"6)CU$JB)!+ MVGHP!S).)]6<:#N*U:XE2"A\'9Y]J(D2%PW?J-628":PX:%U\ 0ZG^Z&'0S[4RM@Z1 M#RB.34?M?%X)&W$XR6EA+@=M 'HOYF9]50=SUE\ M0\;_4_2,]4Y$G7_.]TFJ^_$:0[B^PU3[^/"GKH%([/V$=B7-F#W974DMO)B1 MBSI6V M-*2]'2_IX5&@9YQ.,UFT'(6#@"\TF_ \CUR'<3%;B9JPI2M!X@?L- M+O9Y\4R?Q^4A6278A3T\0EW,]1@HO9;-J0@ICG>+H';H\KZI094(!KLWVW#0++4F!,;P!(4 &! MXQ^RI"J)73#%\[@?'*XG$BCQS7J@KZ@U_#HLL*\D"Z ZS.-+H1;SX%J0_C&B MS[8*0L0K>_A*Y9!RK41&O7\$A(3FT _R$CR-NU;V@>WX\T/_B#;W?^;?;'T5 MH=5A,Y^N]Y"_B=-*_H7HWT'CJ@N9].I*S\SWQ'^>F6RO8%1&0P'CF,IX7&^V M0<./#AB% *8\WF*[OY6O35_"MB<4T?Q. X][Z ME,2;)Z.)K($[XQ-66C[-@DGA;DU[A^Q 6KE*S[[_G-\_Y<5(J/@%9*F-L$_--V8BCO\LLQ0J @ F FE3-*98+V#-A'&\I'O_.4$#(0> M%D7FP2,038V#7T"Z,0S;++[_3#[U2GYG&2JPI09@,LRDE4X7(84X+?K4/0HU MZ.!,>!K+E$H9@FFQ0+/(SD!!V=3H+(=TU4":_E=Q2%>?NUN^\0Z@I[\K"^$W&T>) MIFDNCA)*D(J@/$I6](-7!LEE1#&20$^>/0@2@%+(#ZJU8!7&1371#9DKG;>_ M'! /Z1*:SEC,ELM4%*-0U**X@JZ6>((#$]25-FT=,K[ IJU ?J^KX>(EJ:]7 M3+C_E&>\A!%CM+S/JRCM__TL+ZM/>?5/7-WB7?Z8T;=X>)FF]WE1_XJV^TYB M>'PS G&QSM<8B_-J. ?"R2Z4?2R( M*XE>;8/PGJ-7PW#:QK=?%P_"Y@Z__Q9,[6A$U[.P<\9U<%OYC=E4Q<"J36F! M^9M+Q*3F\R/T)FSFG$I[,Y5S^KSL.A;AL'X8DM_H_2&+L3B0*SH+L2#D\?*6 ML8PS=XH:&NAZW]P_9V2,CB8]')FX%K>KU7IDXH9T &L-W_%--T#LZEZ 6W52 M90UK.>+27>B;WS=O\499 >FI*G-^&UJ4?>LR?7(\8[U6]%5H2IM^KA MF4^"D=?'JIK07([;N^T;]?TT#8@_?U#3>H1]'C(J'%]>9CPDP(;@,JN*)"N3 MW8_T]8LU3DR,/G\*9RIFX^G\<&'3V,]-^Q1%B9*L?6BWY0#]./#G,LL& M=_OX6+#'@,F -*/0/NLR><7@)$]F++39V=F-A2K[,XT/:H$>Y +1BO%#*60G M.6M^U+<97&OL/!@_^N&0C)ZOH=0P=0%9NE65<]:^K:J983M\_!V@)I2Q/59/ M>4'=V36\._&W3L&5DXS4"J:K>Y^I#G%V'SPQ+\UTW,C&M6W##L\?R2>J.CQ& MGYZ""G2NKFO.?"^5HD%45;S@40IIENI\![@ZBAW/RM)R!*>T1!^JNP11.M& M_3KPQD)&L_44 ZJ?.$*2HG#B"$8GM1J_1$E*/8OW>?&!&D$/B_+TDR>X-L^, MFY%;P?69%XU+2#(6@,Z\' X -PWM$?;1.$G#JXU8 M!O>)"5B&];#=E/.DW-'WT=^34?P8%;_@ZH:^ MQ('=Z^/55F173$QX-PW6_'4>^9;IV#,)".UYI%.[WO-5NS$C);!P'5;S3I9 M,.\Z.9>:W[*YJZ*B"D'V=_@QR3+J/3]$*7WOJ+_S7BL]C(_!11:', (7[,\^ MQ7_!Q4,>/O0WJ*+9!">Y.JL6&->)&,+5)>QUN*FE5U8%2\Z>Y-6UN7KKK<_F M/)S"NFTQLBNLYVVQPY:-F>S?7E[QB:[U#@:[,X3')L>:6\23= <#,B,8] S MA(-A''L7;L?P)-9BVT7&V1IMN\*$O7;7O+.CBS;_\T.1 MEZM4VY%][1368^EHK;F3YE_LIX6SKY[JID)O +O5M$GU9H>6)Y==923T!RZB MQ@[R),RVVKZXWD1)C ND*7X@ZT:TLT@/:3O"&\A.!FU;]W/3*<2Z6:,YT43B M:$+6>/1-G(BGV0_\V3=Q7IOT1&>MU#S%NK:&+.$]^"9(RO,/J65/OFE,QUQE MY/H*KO\+^KTJ)'+=5G7PG6(SQ_-\!DV36H$>]IO8;;Q3=J_YI&-;)?6XHVVK(R"F9 M5],Q7M7"SM:->*M&=NG(-W__S5A:*W/@W-A:V8(P[*U^UL9:AM85!R%96&>C MZBV#T;=%A4AP,S6FHX-I:XMZ$@D1BX=K)AWB;:Q!;DWDBGEU;V;5>9\7>YQ4 MQZ);45=<86:_=D*KR?QHK;ER]+[8>>7NK-[?^+AEK&30Z@N$WO#5K=[A6&5U&[^(2E8IP"B#X:LA&3/W(_SRA&(EIW?1@QBZ>B?4>\O37]+ M40@KP[!"',+**H1A?85J%H914EG<&9\6RB4T9B4D<^9^G%=U"6L23G M8Y3>X^+Y>Y51#H%#\"+K$+.B:\(WTQK%@R?*>IF;O82"VMPP-H>W#ELS/['G M+;>HQRZB_(94Q3V$N1K>XIP;M:MD#V_B@Q@[L>4/@3UP=]Q2YJ:6Y51V8R]\ M!0[ G>\U1M6GP>YMN:>F.Z1+E#X&>J8855>Q!MS(^M-H/?=Y-74^/2/YP^& M"_;35?*SF;^N!L7FFPT5*.:-37 M]_CWJ)Q4A->+55CQF4]3DW!ZGGI/6(V5QYMG;LP6N$GV-OX^/>^^W?D->=[+ M)T6^R+U13]O2EJSJ65L:DC RXO2N0E/95G^P9.9;X''D92/ES<<]R2+F!@,W M>;4!]Z4_^5<;A%KF/D%7H&*G=]1UE7^&..J:?!;<1#D;/Y]>'_OZ&SOJ4H^H MWE$7'YNW==0ET-95C[H$JGIZIJ[)5)@ZFKY3G^8X.%4#*!U5F-2GF;WP&["+ M1@,]X]:^X=0GL49[27T2JW/H1O+=ZU2J[9=D)8,H_MII&#_):(E*SO5-%/J9 M-IY4Q0_>%*TC]HD8'96&.#0P*O4(W9A,N3_/Z2F,+^^J^=II&!/):/GSFM#/ M_*.G9Y3"'KX3,6XJC5W5>QJJZX(W51BU]\D+_H@%H?7Y9KY>3)GR-T8H!Q-M M@G[FC3PKI":?O_ONSW_X]COT#?K=]]_^X=MOA_A$,/6#=T[6G'>M9TUT MYW]/FAB_52+5"2*/CD[TFOG5B3Y_ IT@3>!U0L;G[[[[MM8)JAS!Z,1DZF=T M8IUY-] )]?SO21.G.G%/FN@L%(-V7K5BR.'\L+ VX'HAY_1W3!VH7@2T5LQ, M_U0QUII[? M\L*YFBE-;C9^;\K &UDA[[;?R 2=^++P*<]>6&PFS$7!A+TWL208S0?<@M"R M";8;Q3:RSYC,3SGGN;W4+MGS.?ESDL[R-!<+2)D&=%?]6EHKAN4Z82X4QCV]B MJ3"?F7#.JW^K2\7R.6L/OG_+:X6E48(Z#0]KK;C,=ODSOLK+\CV9,EHX-8%YN_OH"R[/R0]EE>PDUGT158_V>)GT8VWDK=!7E-[7B*H MZDBBCB9Z8$11W9Z1W:"&,(R5P#E6IWY-_)H^R:_M+ MB(:MTIWL;C6ZIGLR"BT>!X$D@:OS"-,.M'D$:"_*?'8L"N)5M%Q8E1#TJ\R+9QR"NB?64%-7TT%_I7#(D4(CC577RIAL&:8R!, &ZB)HX$FJ "D4]5N*NB"F^S^(I\)+50 M"%5__VJAE$BD'*PC2S1G70-4$F/16(< %$4/90)UT8.8U_4#Q\2[LU$7<4^ M]4,LA7#]X%T"5 T#8>JF :B%"D>B]4,!(B^J<%X7CW ;,5A$U:,*+9-^$LAN M"G&<8M!@G:$ #1LXP/98=1T VZM:US;&/("@2P! 694R"?6R6??\1A9,M,]8 MM@!603.LB31*#VA^E8=O\!8HCX( A/*H9!(K3QUT"%AY3&4+( 1AAC6A\F@! MS:OR#+9[]BJD1P9 D33E$ZK3.$P1KEI92@H>M+!!HDC!3& 8PK[-?F\6TO[+ M=H\%LE__"MP*I/^59C./C MKJ)LUC;R(X[2DG@9%QEQT*HHR>B02I;RY:2]YUHN&H?)C?/]'I..+_U<2G1+ M_>KA-]CM_NXKS1J[0>Q#S D??&J#ML_Y,0-Z*W>%@1+("9^BN5PMYA,UE^N$ M>P>%W?38QO]]+"MV\X/N*8YY\;H]QK,.^P):P.Z)2E)][X3?".N10@TMQ(B% MY)N82GV.L^>H^(5+5 E%@O9'M&"KXX[XP^P2;P0&N^M;FY^2ZNDI3VF)%I:= MOM#@3,D%9G-FY%TR=3UR_,9&R)9'0_:S*(OB2"U6:-9'!&,; [0JAEW:()]8 M#FU/-'_3]BPO'6V,9/3#W!U)1\3Y%FGV!G]WS_EDMDI&H\8:HW>3\@8GLF%2 MZ\R"79-:8=P[,S>'PU4>9>_)V!$H9[@T=5_F" [++,RZ9OUFYL;1/NC'@& M9_Z6"*CL>Q,NR6^!@F\)N)M!X.!Y32N=MW!(*)K=X425[\$T=% M[S:NN;)Q!(9[_R,X*(4AS=20]P:=<4_A97QR)#54Z$RU^2DI4F:EW@ M )=Q&60U%VL97B&UD?SBK,!Q4I6WN"3L[9[,=7&.!KPFSDIFKX?T#YP>>S^# M$72OA&8/BBR1_/;WT?/A[^>U3* /?!A#4U/GQ+@,0^-T*[7HD A)W\351^S4 MK:87O+8IJZZ@-^Q@-:9L%"22 -QGQNLW$2?:#;5X-1X++5 MHGS"%AX#Q/R(30>]U)- &&>M#4%.%5 M6$-J>U6>N5[&VO4_$*1*6XQ*(^M$P "U61?JFEJMBW-([1X?OYMK\Y0"O/;. M2&6OK9.D@B!54T-DUB1 M1-A4%/-1 !TVBB<.:3U"T&#(UI[*,X=T.[:"6VZ!W,\V_YZ>#5PVU1$:A.B!UZ" M^2IL^QWXM=IZA&Q7=!1U5<&Z?/11GR#7>&=#U1.V.S..JMYPW )?:%]%G30= MBF6ZY/5*O%W /;2(NET0>";\O=&)!_LZX+*3:E4!;$IBV+(?A1"/7Q!P#RVB M3C-0\XP]H[2?\*;SLH%>?Y]%/34EFOCO;3\:)YX[!8,N,&@KV8PLL(\1F&!N M4OK3!' PJR;YH?E=O=;W\[RW65PO_:75S8QU/@>Y+KL9+ZV%G/[<_J&]H=&G MQL["F@\.+V\,FM&O!K*$KC-^7/*P;G"LJ6K*E=JAGL'8I]WE!GPW529TV MI@2\:LJEU%X0.1DTH-/E3P>B/\;B\NP/10;U8F%>_ M*^M)W3636G ZJUF2V_PU2JO7-D=2VW9,.X)9BQD9M#SANI\X013"(&@(\X\\ MPZ^?<9JJ)8!3?A&PY.J^*JKL%-P$79U*;U!1STW:=/2?RJIQGM8D3F^S>+O; M%<# M3@$L_A^*?+8$J:H#Y(+<\*RUM++&L,^HV3$>S+-I\UA1KE\#H(24@**N)&9* M*+ST$W%U+ER38*R#5JJ9IE38E$23=>K M)7XTO0>89(]W%=EED:]U5\VO<$3FU3@&9D(2S!LVDEO'4^X(HH9BKZ@"8C3# MBJDM&H+MW0_HKW_ZOB_B[__/7[__[KN_JT2%\[K-L2[WR(& ;N>M!P1XI[OR M?N9['1/0WYO/=H;;H<_+HK5/[]\(:?J&8&0T99KC/QS#(0.98M.^-L(LM^Z& M2.MOX =7E.J^ >SCM:*%/T7TN9OJ]18+*]RX_D#P@?N9,7$?LF\^TOX]G/V4 MDQ$:RQ?:UL1>-=R$Z45Z 6,K&J\DP>4G;'3%==P34KLG4FBI+6D:2#!0R3]- M:I^1(1#3H62?Q2^1IA"@!F)>'Y2:/Z\,D-4B>AS9EXR8)0)?-V)>-H/B$3T" MH5:0T)-1)%6(M20DB-0L*"&!H^_5L\?*ASR//R=I2M;X[GF*YO+M\-]ZZZLM M;9@5V'HD=+&\Z;_Z$[W?'YR$LH\[#7H<"[NMQJDJ&+ M+SM<,H?[79[_,OAS"*IHB&:]U4P)94"%-;BM/.T%KHA:]Y8'2A?&Y64-$4*Z MP2S"BQ[\5[C+W)Z5.LW)L*(*< 1J)[V6CKR>5'*&FX$XK?R,!= 7G;]"X][T M8#90_ =0^S>+G81UY=3@X[L*:4>>< M^.)D7:;WA,L\36+FL#]$*2UFC? >P[C;:<3M,(K!^> ML.,^$&P;!$;M0Z*Z>;3][1SS_\\\B"Y26*VN'A]J MU)!CYCDOUAHUW=!E!I\8YD*@N!&(;%SB*: @GV;4Q=OX64:O8--]DG'%.?*? M^BXHRW>+XR.K?$!^*H\I#?:\)[-Z%1U*?+W?'@YILHL>4LR?=R._NDJ>$SYR M,G=UE:]Y]'77&2UIJM9T62-MTPKVBM(ZVYNH4.PLB:6TKE"'W"1Y#&9T**R M5.L9]M_5T>3- WY,LHP:\UKK7G'D_@R>RW"1V9IJL00;A+-X5=Z7&-3996+> M).(ON_08TXE(,O))7/*DHP/.HA0ZVJ-9&%I3DR'M3^,.#\WGV9%XPUEUPU!* M6M_D96+I4!I_ -ZZF8^)@=O8[C]&7F--'G'Z_(WKY@M!J?#RT6DIT*W7KI:; M6T1F @XBN0-0<4M]T;0(ELH2G@&Y(:P6ZYD/(?E0C8=X/!R8#D;\5 V'_L@, MS,:!R7S21D.A(XM,AD)!C U&B7=_>,Q?_LC2C8I7;B_J?W2FHO[%O\X^S2AZ M_X\>U'3 RR3)YA^7G[800)F.4#/-T^&QGJ2R.A1\ANA/W?30?_WK_&)F;MJ_ M>)B8CHO)TT%Q,2,QJ:9E=' >%EHV]LRVV/UE!,.&G(#W>:INAGVGB2O>;3<,O'?&R*Y0,.!)+S_#E*9,4_Q5U @=+R MK0<5WCPPL S'7@V7X<#[R6:4WN[@H50 MIY._["4Y[]-\$]8>7>]1S^#5?0!71OV)&&4!:$.]+KX&L-<%UP+$.Y%IH&$->"DLO\=O'#ZA=M_@R/@XI=@P4DP7+BC>36R99O";(WUX:O M9:".9GW,$$():C=#T$OSSMLA2.D0[ 9#T$O'.LP. 5QZOKD.R!/W@13 +J4? M& 7^TX1KW^$B*FB64GF+#U%5)#2]4A+-D77R&-*1\BYZ&*9IC7K-88(Z1NR? M8_Q,D%5TC1"N.T(&>-3P&4=YU-@!SC_@6\B;)C&,U^%C&6-UX6JKM ,-JD%D M&^A(;Y9DT,086IHL\:ZAVM2$#RVWP&8<>KF'7]6)AU]3&T^;]Y/63R8#T40; M]!,,M%7!I6=_/_MDEK57KTL.S*/7EE?'F[]O'U,[!4]^N>@]_ZWJ1#\9#]X, MZW+O'0#H=IX[T*P'<[%/:EC9 QM2EWX1U< ]ETYZIYY+3?9T/!?Q.-1_08>\ M(HJ71.D;\5%&N'?AHXQ [T7E+_9[^ESY"VXYNR6^Y%E.:[4=R2ZJCEK(4Z)- MB'A4:"/9QKAM._?5E?9'U!?/=DG*Z^MNJ'NR ZLM[$A&NBH55#BR'!$%90*S ME.U=2ZF)-\&6%#;'ZU@SS<'J11'O=D\X/J;X>G^''ZF/4'#>Y<9F91G MQM*[U_J/]_2JJ$0CK:AY5$T[:2<%:&HJ]!9AW12UA%"/T@8]O+8M?F;D@-*M M A3%GV9JJU]VGRNK),X&J#)[H9]H5L;Y0 M"NE;+*_J9H#!B7X9 '!!..W3D9ZX7^_/CF5%EN.B]T[T^[S@^^[;I/Q%%#_3 M[^\K8&8@T>3!0=:59M"UG?NEDTGW)K&($@"(B"V0K>E"W^RE7D#J;CP4F M[E>!JJ_BB>B:-RX>T#U:2_Z+=NTL!>S[ M7"O5 !JOD&KT^'$TB%U[V//)L!>1GZ#<7;* M%^Q.;HJ]*GJ0N[>)K#R+G>SS/=6LT; Z9G+XJ_]YV$1KH M&6P1B!3OQ MS6+4:PQZ,<2 ]=]'SX>_?X37-!5 AG<_?*!#2\=,44)/S)^[QHYVV651]=PN M\J]>)9:B^M=9^Y@1D82%_00;"UEC'_5:9+Q.7Z_J->216I#=Q$I,>ZE$H\1& M6YQ&"0R/X!5N&^3-P0 L],YGT0"RGUB1<3@@SV\T=$#BZ5;O M>I2E4B1]O#X_*.9\"I6Z[0:1UM^T)]F@)5.L!&AN(\#>EM5&S_21/P5TO("^ MO4/71":4D!?V\ AX,=>3YZG;*WU=Z 44ZJNP[A/H"L2,8:Z RY)($L\2C![Q M];[]"MDU[Y/J/O^$JSMZWBF,*>EU]A9=TI1E$B1H^]$C[@XQO"NZS]G[E7=S M)[\^8DZ64C6+TD0>=I8ME,A?%,H$><-XE'?8Z46FEL./3$QW??K IZO*N\0# M_^?773K;+7[!V1&7M#SNQ1>"VRQ*NP/[++[*L\>KY 7'S>T4W510.\(@6:&6 M8R#+DVQ(\KSFAF@OT88]5TWH?L,(-Q?4 LD6#7Y 8+)(E^B*.*%TB:)X,1:& M#%YIY)O:D_1H(!;(/;U1;8?^*^B$U;#'P*<96*H%8P.P5 7\Y+F1L>'/; B? M714W]9G3-N5S#+\)LH"RUQQPZC5138" 27J:8/H7;&*OJR=<\"*Z"584ZYMO MZVN+*N!T$K6@S5#;#O+8U8AC\ -7&1(&>\C58:"U930:W%W3SO\N\!SOR:H2 MT]N(1?)P9-4%"(<7SX5+N"LQ*;$"=2O535!111DL$4.;2G"9]E-N'LBJBG4S3];I[U&=->409 M95T_U.N(?FZZ@FY!3.9J#$F3B0( WBLK1Q&E'7^792FO]*)+ Q\$IDFD;** M;'ZC(F9[8+H;S&)B($>@?$4UP=Z;=_0F5 ^S_ ,PJX>U\*3C2U+2Q:\GS:NH MH!ZXF>E7=75-U!%>RG@Q+E>L<]Y2KH>M.I_[&Q4A8S>O[.JRO1:^:JHVM1!Z_)B@*>9S;6 M74-6G@'VZ'@%QOTF*,JP,LU.E '%$[C+ZGK_(<_C\CZOHE0C&7>^@U=P"W@6 M>3"LZ0:QQN!)N)J\WY#//T7A)-[*8#+%M0PC2R[4%5&,Z^(?)?'?J+JH'E^2 M=?%VK4[*]^3.%&W=%- I4=,>]'+=J@+XNV^GQL_PRITG\.C=NEMM#A9H9)-H M(%?"<2M?>C?A3EC="5"WEC/I37_F9WN@,O-3[2<7]7@XI D],!VY54JG1MG3 M9S:I4HI)6*KN@>9\8E!OQUP6'CX(PN?1A-,D'U,/2S!;URN-E$I9)\@M[)4D M)7 .^5?0*8]K2@"ZJ9V@2+FQG4 (!O[=58KO3!1@T U2!8;\JR'45GDG/0+1 M 9EZ)\X*M#'B#1,JM= ,CPL9UQXL=1L MNOT<0=<1LNN'-'F3X:%:)B< M!@NA 1;HD"7V2?\I;K_C-,7_#'/JB=I"H4N!5" BZ320/V&7FI]P,3:)O&& MF]?K#,B!<2!8/A'LP 1[I8+E4\%@U4:*1K4N2:'HYP'G*"E^C-(C?O?Z+B(S MLL-W3QA7'XK\>" KF>KT5J^[ST>=]>29/.],NB'6C[VF4G=%K"]J.L,>]D)( MYE.Y3) X>17: (:>U6J&G?=)1GZ71&E;;ODL.K!D?9V(TW+2(.IH/0XR0,^C MF>XU:LJH)8T:V@'$NDYM5&#,P#+-$9N(96KCZ8K80T7OHQ(T/6^S^.XI+RKZ M\UG^_$"ON&AO-_KE!#0'@2UR6TC&Y M[JE#6@YU>=>I6NRRES MRA<]#.E *)>FA&:(!'TE!$0T$'4S0:=0ZTR@Z5?Y+K/#L2J9!?@/92:/M!>$ M8LUR+]OJ\ [$.Z1=T'\ 9_"8R:'B&40]Q/@1*H,8/+[=N)Y:OHO*1/4XFK(G MC.,FD&(,G_Y+(JQ=*&Z:8_Z!G#(9EB3>F Q(?D[,Z'.+>;:M6J;:'[K: \J5 MP8B*SY,S(^DFATR\-XHJU'-8=)[D\7K*9#Z#DY,F\^GS LZ+LDJ>HPI?[Q>A MTXR,1W@:RC?&9].=7L,R!.ABT11WAAU)V),J!%6SP>-8UVS Z">A,RJ*UR1[ MY$_7-B$V&WTSIN0S[=-8RNDM:MXS0&U;+EQ#(2"EL\3E)%_4#I2KO4)%O\J2 M.K99_%_'*$WVE+OF3EG'CBBEPH*&I_>J3"6;7+FY.$--X>T-^N[[;[[]VP:U M1%F8J"/;W<+K",,D7@0MN@^%M49U_R$M*TA[61\[SM(T_TS/A&D!Z%M4G""B%$'C#@$)[',--.DT VX RJ@\ M--+K'HPBBE]CMT,E[.%1&+*&HW[R0R03J'I1O9:/]WEQ5N XJ:[R4OWJGKR; M1U53\*\%NY;&!G$2B-( /DXR%*QMSBHHGN?'AVI_3#NG,H2]GP[6Q@JC S3P M7=V5)'/7DDY@N[LK2?:I@VW.%512[FF,06C[O0G>;?9\$[ 'X&K6Z<'6OF;; M/QAGLY/(C0>V62O1]H"+)(_OJJBHEKF<8HF;U/BH0N_P8Y)E5!?S/;LVMY(\ M%YFRVK #:U,P&D:8QDCDDA)?_!?^+_+#0U3B__\_4$L#!!0 ( %&" MD5:5%ZDS4(H '7(" 5 86QO="TR,#(S,#$S,5]P&UL[+UK<^,Z MTB;X?2/V/YSM_7SZ^'[IF-X)^5;M&%?)K^WJ,[T;&PP6!4GLHD@W+[9U)O:_ M;X*D)$K"E029@+LGWNE3M@$03SZ)6R*1^=_^^\_#IZ35_C;[^?[_^2KL0A?'/'WY&?H$NQ]E?_]3XR,>/-/ISDLY^.SHX./YM5?!/ M5'YV!.%OZO88UC78LVPZIW>'EY^5OY5RB:A7_) MROH/2>#GI1"E_?J%6X+^].NJV*_T5[\>'OUZ?/CGCVSR)RJ#-(G($YG^4G[^ M+_GRE?SU3UFX>(UHM\O?S5,R_>N?_"C)2U$>'%:U_\_K!%A^]&=0D#;R_>E^ MW5,_R]/DUP69E/30O_[6*/U;U^]2^L,)59PK/Z(2?IX3DF>*_>#6[JM?CWX* M2CPG>1CX4;=.[C1EL,?/.?PO'6S9>'H/XW6A2JNXB9YZ>)TL7E,R)W$6OA$# MW66VUU??YWX\(]E]_#P'-N=)-(&YZ_9?19@ONV$0M3L\EFY:W^XC?:'TL_E= ME+SKSS"<5CKV\[E8+/QT.9X^A[,XG +V.!\%05+$.:RRC_#Q("1JG55MJF./ M1P'0E87EDJW4K^T*';_^1-Y(7$#E( &0M$VE/K"J=>S)?0P[@EGX(R*C+%-= MLO8K=>X% ,N35%5)MLIW_/9CFKR2%$9N1#4MGM!Q_$I'B%)/!+4[:VB0%F1R M^_$*BX"B7/;J=)U_4C()\]$L)>6< ?@>DGCV0M+%#?FA)B!9$UW9\Y>P-PU^ M @\Y">B0@'_-4G_QD/AJ@TK20L?^W9 T?(-=\QNY"V/8-H5^1$\3:7F,R$ : M3V'V\ZL?PSY46>>TV^R(X18*)4L"M7-H#@14<:K45V[=KC-HLO2C?#G^$84S M7WT"W:_5L1\/Q%<=G*NBW>>%8E%$=#$?PT8CW=HI/B29\DPA:Z7KGJ#=9K*' MO6+9Y!4(?T)1 D1UA>%5[;S>T0W]B_^AO-XURG?\]C<_+U(RGHY?J:F#;F>> MR8S.$T_D-4GI)@MFD"^$3H&O<[J+O8^G2;I0EUFW#QB:JZY(3*9A3I=E-1&S M*W;?6TR*(/_=3U/8'BP?0O]'&*F.!'[E[J>* .BHR!E/Z6JA>H[8K]>Y+XM% MF*\6+O@"U0\2*Q\7A/4[]NW.#]._^U%!OL+,#2I=?D6I5YR:7>N-NT.38RPGRQ8>SD/XY MK;Y.G!J]DK9A]O2II>#,FKV>1#6Z MI];0L*<^C>ZW;-G(*4>CF]L5^C[QZ&FG6EN]G#DT.BINP-SY0VLFW*N%>!;1 MZ+B)S_1T$M";\H5-]+';U>B>L/X@N\719%)N8+;XNR&Y'ZI=]QCXBL$]Y;HW MCT4:S&$B>$S# )2X46841?1*'J:R&&:*,!M/UR1HP#;_T3ZDL/[(>/HR)V41 M6,GO)]2J. VIFNWN&LOC2CG3WV9YN*#_^)Z1:1$]P%2?=1507_WI0W;U'I]N M$_TT!EW.K@BH;C65=Q6$4N-]H%*0>5=L&I\PB+#K/*;6,)O0OV^6VJ]^^A.&A@8X\Q_%DD*]GK_ MX; S_B<<>1=-5>S1<,6 MBL:4/NCZ,D@_#,NJ*]-:[1GN^WK K.4U6M!CP!_E1VO#1001Z_.K']/KF.HDGM%,3KA.O!OZ!>S20_)Y( MMO27I?WBB2S\D!YJQG&SYKC(J2<]?4+0@^P,]*97N76="CJT MWJ>W6.<9KG7CP]XV=,5I\G/#(M\,L7N8BH*\--ULVFA4+:-^Q!WON/3 M:[$7+P C&/1:[04'^[?Z]K,.K??#S]IXOK4VS/R4'K&>\R3X.7XM;U>^T)MX M,NG.7=LO]L/KRJA1?[/=:;=UVPBJ'0KA;EG=X(]B74D@9_HL>Z(D_2Y1V!18W._G533Z!\+PF48'*T^Z%V MPK,7ATD/N8_;Z90$5$%>""A+"A/830B_2@GLAK*7N9]_\=\('-VAGPW?H4=Z MZ4/GN.D-@<)PBH6FUG=V[3;4*/UR299;#_!M%2RSDP;GRG+#WMBO?X_3ZDK] MC[)+]5#);C^"J*#+T3VL0"G)Z)GXD< .LKU2&OVT.8ETOQM5:PK1'[8KQ-Z^ MC2B3;R1_]B-"1U]=:6W9@74#])">56&MO_6#^;JYNN1 HC/1140);_;S.[:T MJ^6PB81K"\-X_Q6AS>U1RGQAQ9@F[[U\&K7U#6"?B/@CQ\ M@__>Q[P2>EX4'3_2%\KN[B'Z[9I_!]WY:ENSR?Y>3W='TJ[I/EZA;"YPKBL? MDFS;O:3>2M(;T"*E.^MZ(_XM@8EO6LUF]S'C(G24MWDP@=['X=^1ZYC#VK=> MXGJ%TP"]<*$5'P#&%D#RD9-X0B8KB/2+:D$>R_":2;#56OF0)4FWY44;RZ"U M,FQE1H(_SY*WWR8D_ UD>$3_085Y5 H2?O#*+XQ^P*?](%^U%/D_2%2V[^V5 M\0XOSL\OSVJT?71I%:64NGIS>M0L0CMT<7#($/\HW>ZVL\*N]=L6HYLHV6E4H\D M#9/);3RY@6E7,F:VRI: C\[MITG<>S9=Q[;2=1=F<'CY!_'3._A-)B%LIW0% M^L(=RGC]9Y-V8C=IE?ZIT]8H7P%W8$J4(V!3=VH;=;>PZ\^73V064LQQ_LU? M\&9'5M$2[LF)_80).\_FZLQ.KJ[+TR<P3X_L)TT*@,W;A6V\53=>EG735RK>Y/Z&^!F+6V%4J;3USA3P)",[9^+3.9%*A*5>#:UB_9TDJWF5NE:RF'F>&'KOO M'*:LLY:\I'[I/KQ<_$@B#D=;9;R3\].+2P>V)NQ>@+P>7AT8^7,(]X5I#= M8A3GY8$#6T!NQSD$66?V6 &X_0A*#U^!)9A5M%JC'2**V7D.698:/:C/<09)V58W7U-XKCPH\JPYODGK-9U#L\OKBX/'=@HA3WGD.7=<:, MM4M1ZL=5Q%0ERG:+EVIZZL">40J 0YQUMHUJHGCQ/U:1,:O4U JS(J=.)0$' M;!]J*#@\6FH+&4TF(/"L_L\#G$(/A1PRRE?(G5GB1 @XW%EJ(*DA7,,_Q^E+ M\AZK,+TRRW(_^[_!5>C1@5? N+H[/ M3QSP05" P&'1.H/)%I3R6#-.RZ?P<:!$X$Z5ZHCKVNS) \$AT3JC"IU%Z"LZ MP:AK%JFF&@=LRLQ._3 MJ$$G"7Z6 7B:D83$CCV"BM4,5 XLW:Q>L[AR#ISR7TP34?%)(1V1GE.LDK,@B=-_ JPXSH]O'3 $T0! H<^ MZXPF-0S!W4VC1&W,/3S\YF26:/D0 M?.IG/TI41?;KS/=?*TTA49ZM?K-1F?H7WOH-_WBZ?M?_F-19%/DOQG6J>T=' MK?6^#:0ZF)F\\]L%O2.D/;6V++='AP"-H7?G!N:O]CS6KN3*=.Z4]XZ0KDL$ MM(CX8W7?T#MU)!II3'(:G07^0X-9O_D1*2.&7/MI2F-ME%%#!+0JU?>.D:ZC MY>RQV59'9>C9.]8@KB.I/)& ,H?$?E&YFVHX[54R& MGM3;L-=5W>-Z)TA7.:T7PKW>&WI0GR>Y'V&,5DZ^4/$Z**KF8<6.T3ZO2%$8 M>GV/-"+A"![FA*:GGNSF3A:S*Z[H'5LQ9A7X5GBZ M6\0[1HH^J$W<5H]-O;Q'&H6K' 7KV/8J(Y!?R3M&\@#3)E&"P=1#?"1:MW,7 M/H6S>3Z>?L^JZ47 K+">=W)\>7+ABKE/#8JI9_QH,VQCM_XUS (2P6Z!)$7V M+8D#Z6Y77MD[1C;:J_.MAL54? TPBN(TB.,AQ5=JJ5=WN/'D]*/"H!T7&DD M]Z&9/*A+UG:62?D=BVH3WA&R/;[C99H63E,A") 6XP96]-C70&T'M0".J< ):.MS3)/27T,W M0X6K'9X? M8T5I,T6\%)RIR!UHLWT#F-J)RSNQQ])EX'Q5PC$6X /G'$U#:X4Y-RFM/)$A[+J/:,BY!QR'<%6>MQU4G M2YBR8 F,TAY6*CM%?MBD\H!PV'3% -:(ABB->[%3U,.*JMJ)1R8*#HG..%Q- M)F'5]T<_A+WBM?\:P@:@ 55TE2BM[&%%:.U$M"(N3J@+5WRQGDCNAS&9W/II M#/N*;!0$Q:(HG0OA[! &H6@9EE?VSI WV:VH5\3%H=Z5IX@O*?&S(ETJ3=[[ MA;TSY+UU*VHY.#A4JINZ+BLJ8S(K_7(QG$!6*EH^S*(Y"5,R)W$6OI'J]/^0 M9/3,/YZ^^!]BUQ"=EKPS]"AS;2;W%B Y.N**A6Q?3EH'+.\,^8JR%<\<'!PJ M]>/4HOL;,,^8:@8P9E7OQ!ZW$@-6,3Y&C@IT-Y4AAEE]+"4\)WD8 *;/%7-U M'6M^H/4TBI)W*MF[)+U)BA_YM(CVP]XI.%KJM..=(;O\*#/!656UP;H=T'7; MI@.C;YR6$IR4&\M'DI8)(I2M6[P&O#-T@U9=6)?%:*A<+/X:J QSPMJ>=B/'LW1SH1F*)"M+71+IW=.#>\< MW5QFEN8&++]\6#-([3!Z![I&/8]H%WX/\_EUD>70O?3V(X@*FOB0QA2# M_YN(KQ9:M.:=(Y]]1$3P;@_;H73;%G*=9##OU-B%ZV*CG'>!?-+19W>__V[; M++ZD298]ILE4>-/?*.5=()]/]#G;[;TI:P/.[<_Z"0]517K#4:<24,D0)JWK M8>7.:\^N&B:WK0[/)(KHDA%/OOKI3T+1UBA%]RK<2MXE\D,6-$+B4$X$< ;319A'%*! MY.$;D7,NJ>E=(M\F=F%=!9LA>P/^*^657%06[E59#RN-MPEVV6CNV@,)4I!X?);TF<; -;)>N2;["E=3VL_.'M65;#9"IW M#M(R?!_#ATFFL-7:*>D='ERT'%5P19O/J,H4&-Q)MPV5U2SF=72(;LKLHA09$YQ/\K-1\'#_[$1E/M](" MKG,"2O1!W@ -O7!ZBAUAM:M2Z. TE0D(*\47?2?"E9=HJR^LZ%TB.P1T40$% M:*92#*'-!VTH%X@$V4>@"]MB5,:2!N$<^C8GV-7%;1@7 +0^XB9QO>]IQ!B& MA3#U 6<8^^GR'HY396P>>N6;E!;JU;Y:>LW?RU>]"^2)1?^@V;&AYU4LJUJL)&82G.$GCWC&\F5C(=;Y3SL4)0M#$I[_3>6 ML0AG9*X"!:PQ?(MW3Z1/)Q.)ZB:!?831@5N=#?EU/#NW#. MW"M"8BI1$1*MOQ.:EIA,1G":\&?D6['X0=+QM')V'1=YEOLQ=V>GQ(78>2D,*HX$6-^=27_,* M3P#Z,PNO)>_2.0?:-@A-Y6A"#M;0?(/ B#B#$[&A^G896G2O1WK!&U1:\@[7 M-Z4VGZD.#^QYM>C$(2MGP\"%<@N9J;425]9NTK- M[0@5(LE<^]G\+DK>_T8F,[+MY/%$@LC/LG :!I5PIM#_]IK;XDL@?.1K##R5 M;2TNM]^Z:(MD""T5"!SYL&Z9?HH%U?5Q#K9#H4@<-R#DM_J1 GWB2\H]5Q(# MAWN2IT+9K#34>[Z]OG;^+CT3G)U@A_/%TV.# G3[*5+'R,%*D70/#[!?):'I MV;8,3$5+04O5LPM104,$M4 H]D2YZWIJEN+LZZD3HCUS[LX>'AH(-MW:L7&C]5I?ME0>@GLFN(ACC9 XD%R&WCY1I1)83U M3B,;?80B^[2P'@C&EK!B#:(DE/*!N&TLW,%UDRS@:"3R'&&5!T'8$@^0SQ/' M?X2/QVTCVO4F]MU70F\MQ3N=[;(@ &3W+@$OW%T,"X/;UB5.6B?G=Z;"IGB9G*QPR-;7&9V:.&1R$9@*@;*:VE_ACZE.0*7&NZJ^^Z:AT>V MG%O5F&0#Z!SYQ 8B&_=4+PEGO[]ZME/=><'J4M)5ZO>XA)\]$5#P+,S),TG? MPH!4=R-/)$AF<=FB\- T2 ^ ,UO,7TI*-ZA83,5FP5Q9JB0#-T4* [2"6>83 M:4KC]H.D09@)WVAIMP42M&5CH;XNZ0,T%;/%+A6IIG9#.B)H#&1HRS5+%R61 M(G0\?HMH;#R1+$_#(*]35HW>_712!@UO.9EPVP-)(EN!S4TH$I"F K_8I2[5 M*#&H+Y(&09:VY 3M/KE(4!J+((.C,3?A6S@A\21KW)M0%TF!3O"J>(?'MJ0 M5&)=C*-SV)5MK\\7''I;/B0[=LJPP>B\J>@J>&&VA_!J/';*ZJ&.R5A@%D?M MDL=.&19X"$Q%8ZG,6;#8 4]%7F#1:Z3KZ6 IW3O(P ,2? MSH_T>-AL?HW=V7K'MHKR0[=KU "IYM/$K0Z8;#FOR$7/'GSJ,/OR1$4.5EC==@*OOW^(@ MC,C62?HE,3<[]/$Y( L[$+U1!>M/1H8\V-&,(3<$.AJ$);WP[XC4$3!&BR3- MPS]\R86^2G40%++';'_T<\R?RE)QW'>^@6>=8[Y. ">:L0350"S(#KE#*XM< M&F[[W;,=5V36FKT*WB%V;I2A%4,D![?=]H=,J7-V@KQ5'EIM=&73]=F %9=Q M_>?K.L=^]H.A1XIBZ?K8 #N*STW=RT8>D2J0RS7\,A3N96158;I&OO =?O.K M(A%#SQO0SDV[L6 :XJH==A6.[NJ-@,#_S=1(5S:FGEI8I%&C($@*D#=(FX1O MDE ?*M5AZ.'G@-)B554W>%BQ,];Z49)3JH\/#H\/2[KI;RI_B]O%:Y0L"7DB M.4@.>EA-D$*V-6K3P$*GE]C1"+L1W@INYP<.V-N1?9G=QV^ .DEA[M2: AKU M8#PXK0H:(#L_7[!/ 5;SVZ._I,I.;8E!D!;0N=#_$4;EJMIJ<1 U"-+$3R76 MZW(A1^_X(P7>'!CE_O M1,-I!*2&GPFM%T41(^[\J %[<5*_F37BTN(=GB/KB=FK:%WDCN>HY<"E>[;, ME".4H#%@PA:';3..4%*LIIYG(&U8KHHLC$E&'P[]"..2+.J;""*H,CZ7F3DJ M&(<"3=%IAK)P>7F$;-YORS=;>]KA[_RX WMM@AW9*HI"\*\B3,G6Y1=L\U4N M%]4;@1D:^4QM5FMTD7=^1H*M+^KB,[(J@=20#]1F]447N;%LP5;M9=8N.R;V M,H+&@ E;'A6:V1!CP!H1,LCL0)'T"#V#)*FGR]QBPP-F1&K/?J &* M[>U#)]X,BD4%??75#,8A=A3O[[MPBK5SIR35)LZ:U[^P'$]FW)10":[$JZA_ MFPK>Q?GEQ;F=;N4&=(Z]W@$RFCCKXD+_['[V$^IP_H0%1W2:KM MVMFVR4JD=NZUV^I.5U%PM,N=W&G-T?-$7FMYC*^O81PNBL67PD_AF$G(4[+THWPY_A&% M,]Z,HMN$=W)\>7*!_+3 C!JTALY1A+:NOL84@;D# X#!G,"2FB8Y*?/RPK]F MJ;]X2'R^0N@W5X=FG4!-= MQ!RM<"7D3W.%+*]F%15"6*\:,G8^PFZI#FIX.>]=W3'Y-F%^A8U2L: 8O\&T M*#K2"FK!(/E4!Q,I5(X*#.93:^Q@6SUC64U]LE>K@EH@%SOM^AW/IERH'!5P MQ\6V@9 1JE)-"Q@503J?:DU00\;=5%9N0Z!Z1FIT-32QW11<[1%WVK M*,XEX.UT"@>H\?3V(RC#U#V!THYC*@'Z_^D%^9L?58:]57!C^H=1/-G^1:.D M0*UZ^)IW>&Y/8FVM:\3>A,%125AM!V345-BV:I6CCKZ&(#- M42MM&S1F:.KB]34JQ>='*_'=Q],D750\*L0R56O!.SL]O< ^3;35%5V,',5P M*60$[ ]!^6F\8-DKJJV2,#"P'S%HI(C(VP B^)SCN2+LU57CO8>J#))\,+H3-\CHX, M%EB7KR6K;*H44PXG[9 &$,@R0H'4OC?UP_"U:U_YY\X<'QZ: [@2L_"S,:3+,Q6.*)4+POP-I5 M)+Y.[-(L%0)V;%,90^S]@@'4[J9:*9]69F'UB ?U8;7*&!15 RK.+H8=A?N] MN0FS($JR(B5*XTVI 0H,>7E4D#MG;.D@='<4/1'83]*2F,.RTVJ'QK8^'MA!S^J0R[A1J4TC(]L8V M%'#-R8IX71YSF\"?0^IA]=6EUN 2U*+!6<\''DI[G5$;0_QJ% 3RTW>YB'E# M10K+W3'"M\T.^O2(W0>%<2.MZQW"F7?HEU3L+NF-)IUF*$CDI4F5"/88:P'6 MW3%7!T.]_:#OT@==FVI[;K:*V>M'*F8,02W*Q;#)856B#^L-M)8M O1#9!=* M.3'LT=8-L;L#KWK>,0^;,^9%K;0_9%2@AP]H0M_NA,KHX-6C7 MD:V$0IFR!XX8C+L#0QPOP+UQ<7%^>72H=6;B7%EOVKY+4J&41&.A;5-U&!)D MAP:)C!F7RYV@NCN*;D@:OODTVEE]&>]']S$4*\IG@/16/K;=H;^1R6SKE9GFX&O=*LR81\/>0;?HK-KRUKY9*@3D.^CN%/(6RLYB<7<> MX*1;4A_OG,6(TZ[2F-5K@)I^STX.M$:HR@K*Z8#>VBEKI%Y*D$966T'+EE%U MU.X.G/W899U=#G=;5!\L"E5I<+#3@S/3H^1E3OZ6Q&3Y3J)HKQ=Z8T6MJ5IW MD,YCVM*6#15=T.X.F ?Z>G5( V+U086]X7;!,HK>T;"&P@>2982L4\-4'5+9 MTHDKEE".D0U_'.FR]V**> R- H;/^" 6]6)1E$[*9?0M&O,U)7,29[ #I=EU M!QPB].HB7RH,D>V"L.M=!UH=IJ-;0JK>(-% 52I#1%:5@D%^AIX:!V).#84U[JOV]:O97R;K7K64J"N08)T:XY-CXC C'W0F@\6Q[ M4/?"^JN:[H7<6L##Z; ;3T9GU-P+^=4H".0-IUS$[&&D ,O=,?+-S\OYH3Y] M)G'V3&9T'G@BKTE:/UW]0NA]X.L\#.B%V3IZPH"#:J]3"E%F.%6 LK-AA]-N M3S1WI?+:%!)V3"6QM#E[465H[@ZPU;7 %8G)-,RK[%(#.A3"(D_*+E!)UYU0 M\BD45J2T#&LM;&Y@J/\I0ZRJAA'59@ D=D8O)1;X1A--I.Z.LL4EE"@CYH:26Y-FC M31FGNV/L.BES1:9US!OJ*S7DJV3X'*7G.W0BS?U0=50)ZU%.AO7/W1(B[9O> M<%*I3D$A>^ZJ")VW:BD#='DD+19AOG*YHN^J8?-+XH&CU@AZH66ZT&H'N+L8 M_!9-WCW%K:-&0Q0H\IFL#3'J,RS(3U* SLFS>YE-F#2 68NV/F.9B321&1^Y!B7)TZ M_ZOPHW"Z+#V*JR=M58QLDKYU7^NR-&\H(ORT44+XP9/T@S^>U"L#:Y<&]H\2 M("O1CJ?B7JDM9QU;I)"1=I?:O&R/0S/ '1ZA2F$3/T?XQ($#MU41_W:ZM*S^ M5R-0HJ0!"@SY8">5.GOIT\+7UP@;[("? :Q)R8RZ!HBJ@5Q.D.W0+7E70,7) MO^L(VX]IF*15SJ)U4.BPB@H]FORSR,HSTPW)@C0L(0HMI7I-4?DA^ZZTU(J6 M2#DI,AS1E.\9;#INLSQ<^.)DO-L%*79D,T)+EIDX.%&G'>&PSO&SF[),?9)7 MJ4\EA7P?TG:VUX#'5@17^ M0R,_(+"@T5A>.JSS*E&9()NQ6],MP<3F63N/'1+/K,#T%4Z1]89;J<[X@QSY ML:W11@$6QU:CG=\.+6TAO8L :=)]ZPW,9%%2KE]UY$73'LW2]>_3 M\TJF-V'V MFF1^-)[2N*4/X1N95-'[->P$+9JC@G332-@!+4=M7+$E"C)%[/XLW89HMT5% MZ*:-L2U4CK:X8G 4P%[]J8N6;+=!1>;FD447(D!Q>%;VP2)=EQ=OT76N7A@5Z%#P-6+!R$B#LFNF!IO_30& MB62/)"V#,Z@S+:E)Q>/F/8,:, [OKI@>U^[!XRDK.K5T>5>J3T7EYCV##CR. M3Y&V51))$YY)- 5H10HH2>TLK3X+*-3VSDZ/#R_=G MTX''TP$3(Q($T@1G" M:OQ:^RW?EV_EX*!RN<2;@5Z)",WK1\-U5XN?Y#)_80N']-P9:,NI0Q: M0%.6;7*TP=]@>SHIQ:ZT=S/[)9J\ 'F8*C#)6;][$87;;TLV,H$C4)B3\HYD MU]"Y%DKVZ*?Y>,I@0$\5#7V+,H!\C6E &Z0R0H&C/&WGP+6_=A3N@E@9*H<3]'N;SZR++DP5)54)6 MJ;5 CR8#I^@+,W\V2\EL%0*LZJCR]E:I/H6%/+/K$<"Q/FA@=3>FP.[$,OAH M$]SX:P6QTFJG3 IGW\Z_Q3%3N34*&?GBJ U%';;S3/R?X_R8B'#?%30B^&A! M0S+_47))SU"Y(V_)S.N=0<'T=8(<8NFHGH^&9/A58_UT53-' [>6 M=WAX,&Q.E%7JT=_67X2 MI%MVQ8^4$CCP:P$CA\/&D&]:ITIA-NYK6JQ7LD8H0.3W#7+QR^UX2B#='5=5 M@O31+"7E!3R]Q4OBV0M)%S?DQ_ +%_VHUGZ070%H.<*ZGU[+36\X[5>C()!? ME FE*QL[7$2?XP _GGZE>;O*2:%Z+K M6%[2-/ARF/W\ZL?^C*"<#C;]V^[6W\AD5L;?A3^5+&G.Q*U;I8P/&RVV.4LQ MNOW%#V.:$?T^?@:=*%EJN+P_DK2\(8X#[3G>R+>HN)#=0;N3+5\]3,K*W0U: M]9AN\#FB^JS"L-\NZ)T<7YX<'^N,93]*RECKQP>'QX=E'^AO&IIPY4>4TNK\1& MPV4H;^4X-:I7KRZH@RH00]LRM.<\](DR(=M:O$Y56&]0EQJT:[=621+Y;;^F M2K0':G[MY3,29S!AI;N8 ??T-$[@7RIL*';+@C[Y^,3 M/#,U7XA5 (*U*+5MU_HM4U$@!VM@G"R62W!7I77GVV6X>'Z0\6.O/,SHC?2!7]PD;I]WMQ(CHW^.0>D MU;OYK+:MJ9]1NC=.98R\\@VBMAWEX_9+,JD8Z&^S49'/DY0^!/T.JW':D$T9 MQ.%J>?M!TB#,R&,:!N2)CG C.MKYXY0CY"<-F#IL2GZ?Y?G;1L[;3("LPP#( M*&53Y4EM_N9['.:=9V"CGZ6\(#MG#Z?7?4C.W8=VZQA\*-[;];YM8"- M4RQ#0]6M*S)-4K+I(OPGR\, =*J.JM[*J;M%RU04R-LM.5&R\=H%^6?9S-.9 M*HGI9+>2!\B@=F&](C&9AFU\A;1;I5)%WOITUZ>VJ#_+IOQV.B5!OK;8 ?@G M6%SI(^LX"*-P8]W24R;]9JEC-HC=3K^ZP?X]3M=!H0!_/0=G3TD4P=K^[J=M0F[I-DIEBNP*UUV+ M6H+N*WUK_P>7;]1G (#7+@5)G#V3&3T4/I%7^N0VGL$X^D*26>J_SL. NL]N M0O(,?=+9ZYK\F,.K L2=89UQ=OO4$.G5LOZCIBU#IT4*'?E,(V%%:H!H =?M M@\SV=@B&*[T]?H9#6YDJGHJB_CL((R>+C,9JJ061O237,*R3*)R4;H-JF3I- M?XVR@'SP::5T_8GBLYR&ZD@^)?);6'U2@+,*#935C]@:V:NNELW59)02O\W^ MUO1'*2?()ZF.TD.'Y.I\&D/2/GX=;M7 MH9)?OUH#0-CYL/'/-LHGE+7>R%9KBH)%7DZT6)&-7BW4[GJ"K;.6?(7Y!LX= MU3(Y](!<]Z+A^*HP#$75@)G+80/>K'O3,'+44IV,8]B6%&D*J\B5GX79]SCY M03.#4$'?QZ]%OF-=4QB@?7R."@WY/88"I^RAVZ,\W!W>S\5BX:=+.*!M-LB, MQ 2325B!:YS;;DCNA]& DP _88)@%(BR+.B%0.0]M5.28#EC8"116H38(">DI2SLZV?.Q,E"WC]W\\%+P MT9MDX8=Q&VW8U 8A(7M%*S.IJ0B[&-UVGWOPX\G]XC5-WJI-]%>R^$%2 ??L M"AXT;"G=NWRQZ1;!0KW>XRSP5P5(H[I5*5_PS9-(C4>-VH >.]I7.U*U,?9U M[S;,&/[J@QACDBZ;$I(.9$$M$(JMD[?::)9B8Q,^4()RSI"F[E %M+@)%!E/ MGI-I_@X2$P]G>4U C7Q5UV4HJ^)CLZJ=AMSD,,[2O#&$X:?-\(4?O-(AG[/W MWOH[R :)0!.[:P84-E>HV<15N.(.Q)T2'EHB8(:L.60T>\JF S7)MX2.K_Y' MN"@60D*VRL <@4U)4^+[I#!ZR[$YH*;FF4 *=*5J2HO^[WE\()J M#)+P4E\-C=-GDKZ%@6C5814%X2 %JS>U /%1<=A$->:HL4GO#&LX&==L(RSO MH=V=B#GA\L>#P"%Q($,,9T\_"M,?21J3NN_B;3RS,,PW2.-.0>:,O;H !(IXS"N@HO#.JK9I=NT M?D7B8 YSXT_]N7VK*@PFI'OQGB=X!DJ.%J :=#IIP0JB_E2_4Q7D@^P2K,:@ M*OLL=!SV4>U'.AZH?D2RVO/Y&Y'?G3#+PQA"?K>FQA6;9P$DCJL#JA%*QT-K M\D]8QLH[O[LD_4;>&W-@FL3PSZ .62:>[;7:\4Q M5A1(DX-= (W#L"M^3MO(OOD+^1&>5Z42"7;P1#Y3*M0RT' (QG5S@EEJ$699 MDBZ_);G$"X)5UKNX.#@Z1]Y^2T7/,*,*P7"HTK:H1<,?L\KJ,,[%Q MGGEH&\&TF>=,WE]20N+W))E4??\>BPP5DAH52.1W\,I,,*9M!6@<_K0M4L./ MW)?4GVP2<"Z5O ZX=6@ZO[.#SV"K4(#(X5S;*F4)Y]*)6E"K%@KR)*W F0;9 MN\@X=&N;J(:GNXZ,4<%!G(EX[W;\K,Y?9GTYD?EN\(Z>^8C2<-D#VX',:17^H!A+^1:'(?UU/6E1__K&7!'>+"2@#6 M?E=0-6XE&#F$NN(MQGW&^#TCTR)Z"*>L@"H:M;VC0_N]!H2:H V6HQ(#&=)X MQE&24E\:?U;&B2U=WVOOF)?D)@(A#0)HX(FHGJFT5O+B*X55C*A0=6K8#9U&H!;/XU! M!!ELK,ILF*,%%;-H>3'1/DC:?O.AVHID3APK'=^()^H M>%5*]ZE3Q\T=RB YS&M;.]&8?TR3@)!)F0Z$^L!)@@1OEZV<+SX)UWQT'))= M<02DA_:,GMI)-HYO/ZA@BC";5[LVJN$"RJ5UOVN\VT_YP,H^!? MH.IEPH5L+;S'(@WF /8Q#0/Z.'!39A25>DF36)2Y*\;338J,H5,T7!592'F MH\"/,*ZR4RHD:1!5\X[/C@8=CYL4/ZMN-0FY6C9^XF5U:-L48$7V*9(SP1Z9 M[9"ZG>>!@53B*\JI <) #@+=CCZV*@A!NIW+@06-_C,E"%S MZF0S4+F=N8$!'=R ]Y7[?.SY'CJUE@]Y*Q&-ACA6T^77;^62- MR7AP#UV-/PQ[W&K\ :8"9#NU#3,F3RZ=$Q5=5CH;DQF]S7-&:U>CERFL;Z2' M_:OLB\#'OY=!0$T@QG(OT0=F%ER)KZ^YQ].7.5G)HBFEW)1'1TW69Y MN*#_6+V0?"/9Y[@MOS@8=-*X"^,P)^7#A#UIKV;1[-%/\\T]0Z/?L@MT ZV# M1*R^4[_@AH$V!OX_U^SU/>8%\@6K,48U;]XON%>P_[EY+^^H+^RS!&R8:WWS M?L$]N+MR\RX8,%?+K_X_D_0Z\C-9.@F-5D!HR$>5:@N[5Y^)HI9Z9CU*H,6]CN7:V89"N% M$E9#=\XX(2$)S>5$#XSE#U0J<@T0UJOE@KS1,*@#BF@-W? .KP5K@T(\(5.^ MV-9V'='K3LVF0.S(5ZX][T+:"<3M2]9*I)%(I(?2_8>X>CWJL%-AM2)7M/M0 M16WHEA+K77D-2##V?B?A;)[#V'LCJ3\C2I'PNC0+U"!;TDTJ4W=)F+J79-R# M(QG1ZT!QU*.ECMBPCBCU22SBY>RPSIE@PMV@(T@W)Q!NI*/ MI4;I-7EM#=-K=(:,T]KL<^;WT0SZ2'TZ?P_S^8@NH%]]D%%,7YB7VX/F"BK. M -.BJ5HL%KX!Y+#'F/0[P39D:3:E#6K3H.CXWZ:9>D;%##]O8/[OAMR0];A' M19!$I.;7J$%B1J!O38L:Q7M 49\>J5-:'W\:IQ\-=OUJ.ZZUERDA?K=CJ_!1*WD7J%2O1(45G7I8 M56&A_AS6D-%D$E80&M:C3V/VN+C0\A!P.LILA=?F5W%K1F3W$SMHS3#L8 M()\:VC/8QM& >U!PP PQA*.!?0%(MLGKYFC 3X7\[^QH@)4'MP5[)AT-^+EP M^WP,R//P%6)_8%^1+X0"&K5,K'&&F!F,5 "[.QYGX-.NA@(Z]5R M0=X3*A&GQ?DN.F??I'TA,4E]&N%E-%G Z9-NE&DJOCH!FM2BK%2_EA/RS8,B ME6P]T,3I[.NTK\2G5B@JH/OXMQE4H M8>SI-="9>H?5%Z.K6\Q1GJ>55Z0VMX(F*CD<(C_S-,2R$L[.L16MF:OI!1)- M?2=4"/7*M8B07XKHJT(;A*;B%R+8\/S(CP/R/"=$]=#.JU+?*B&/?>/F6RE: M#OD.^ *QL,DMM]Q*M4BPWX9)"5,G>A<7AVJTAT#?DG@GYN]2O)1S*]08L=V* M%3A@+-P*J#C,.6!40W(7/O]DEM=6 N!HC0-&.607X7/DWP??R,?^2LF MU_5JQ)A1+TPRR<#%8=(!G[(^DMM7)P%D-Y(!7(P9B#F*X( );*7E+TGMA[D" M3+(O:9*)E$%6M?:WL3F-[)I -OGJ"#D*X,IS,,:SC*W@/N6KW.LDRS73$'(: MJ>6&;1'OH!EML')T1-MHU3:=:A]:<@V3:@@XJN!@J1]G%1!13&N=9FKIV9S8 M3U]3%-!R=,65J.>L(%0D#2AU,UB:_Y[D83R[CZ%W)-O$]-;;>"@T6,O3OH9XM!;5BT" L(&0N1;RB-3C[ A:K3;)"1!RZ!LJ; MR*&KD?!X/R[2MA\ECT:-)FIA.+AE:H^40[LK\:16>< %\^RJ2.U6Z^ .B8^$ MPYXK:0=K:W/]4DW X7;!VA?&P7$JP\/A$S=T=-W9+X4/Q_6<$'J<7X1YN7\; M+>CN?.,H*;DO46JC$H>%N2#4IN%V4#G,=P^9-.A(%H"6CVY!9>_PY(#^/_=4 MH@U&CBYH&\#:&DL5YX$*0;FIJ!#<%*36ZU$\V2CYZH4+F92[$]4IHF7SM1@= M/!OW(P6.,G6W@O4?BZU.K/!$@F06ES+<3>*6 6Q_-DO)C-XY7"T?TY#^_0M) M9JG_.@^#KW[Z$_:_@P=M:_0+NKU).B>/VR:IZ1T='0TZLW/Z(PO1)JH&&)"O MOY2$S)[(Y< ,15PSN9)G:=[@&G[:\ P_>.O($YN!XT<<+VYA>1 LH>^G)YM M6A7@& JD-B2?9+8+A^O,+2P/ D!R^E7@A4&D&(>AF&@&B,Q(\.=9\O9;N62G MRXK+^H<-E?4OO._/#-XV?P1P2'?$"C+?)FFWTQ8&,Y<,K=LB35[YSH&[10 F MDIE"FQMVUPT%#1M\S%R/!&/F>N0='2.=$%J/F56G+0R^+1DSHRSTA2-F4P @ M(AWR6XV7W8[W%?>ZR[']&A!5\<&>DR*?CQ8D!6!B]V91'4"*9)K3ID@1BZ&P M6$99&^=S:.ZZ'/LAD;SD8A8&;$@7E>UX$H P%,T*R3;*.9*L[4'ZI^B-*>GH M"/DR6O>\I8?,5-0K+*MX!>H.I':=Q*5I@4;O706 NOT(HF(2QC-Z20O_-WGQ M/T1F.;8S-L"-A4\BV% M]CJ^9@FDR*H0E%](GOG\;!I*GJQ M=Q[;.0JWA=S&WGG,'VT6'TCJD3).GTGZ%@:\@!6\H@ ;V2E?3LK^686/Q#T# M9XTEHYOZ"DTF-'!RRX, $.TS?$JX]/$@H-HV.6>8O_GIY!V$L.JZ^!##+NT= MG2 ::B1"9YQB1"A0K9TL#<+@5H$"T ^IRP>H]JU^1Q4<\"\:0\ M"TLH814&;(AG_A;,\$%8:.:TYX<'%Z?D9LB^ADC#9PXD' MQ]FDD-=S/YZ1^[A^%@HSP6V6AS ^R-52(2&,2O5:2LAK+(\Y-L]ZN)S-#,F' MJ9001J5Z+25D>YT>G[HZP4*+E2^R!YWX2O)Y,JE_)I,R/^*JU$H$TD0479JM MI8IL(]3C7U6'VDC!0B^O-GN',B+S>/J<)\%/R3K#K5,+!?EMD][BH@#&V=22 M34CR]6.O<"T![+C5GU(Y.4L8!>L']-BA^Y3&I$R M!';E=I1P1F/;CZ=;<(1W.-SR-7Y$'V@1)_L,*@#!2M3(R]Y-TB1[]0.RZJ\D M0S>[> T/\;Y-0?(,([44#E:R17-;&Q6[]'[A>IK"3J/:;C/#0(&68['[-H9A M*UWG+.(_S=>I[AV=V&(285#'V=\HXS+E,6;6^4C3&_#\M4"D?K!KK"OD]6%R3DS#*O"2ALGDB= 3+.Q5N,?Q+HU2:9^=H&>VT-OL&4)L*M.BV4,!5[T?DGCV M0M(%=;^; SSZ;^X10*N5VM3AS.K?":*IQ(R&74/S/"K!CZ=K-)$?<@GF5JB M'CFSGJNB,96?L2?:DNU^[YTXY3S*6JA%88LU3I=8=7BF,C0.,2UGFZ6H"M^6 MW<\SBT]T,W*.A6;(,^WU!E5N1'O!#LV:@LZ.!4%BJ*3 MEOX8*U-L6X+9:J(-V<)'KF;T9 .67F]+G9@T6P+A(<=9UV9:6V'XN.V)&-C* M-%A?;*QV3_Q'GI(:W@EVVH16[''L@R*,-C[1O07-IJZW+R28QTF4S)9B]QM> M>4"(;,PUP*("0AN?]L(>*$_#'P64+S?C]$I9S"*_!J!$/LB9XE&&T>TWP"^I M/R$+/_TIGW=WB];&#N2=FL%)EP_0[>>^C#C_DKTZIP8(#]N\;F1?+H2'&FBQ M%ZXK^XM\URVM"P)"BK2MQ)PZV0Q4J.$;.0ORUS#*DU=RG:2O296,6+P<\\K# M6+ O'2"+!,;R*\:$&WN1EX.FF,WHK+1^%+_9 MX"YM?R%8PJIZT: ^'8E[M= MD? .@*UTD'U)DW_Z<4GKZ/593#:K+$"S<-)5XY*/!]=#E>?9,@-(5+^HQ^6( M7G)\]4$V,2E?D,+6HB$!R"[+@G*WVM/)Z.TI0^,B[S M8(DWV,SR,#*0HWB8V5X+P)ER8T7+F;W&E%69S?S-;^#X&&=^()X<6K8$@PYY M01>0RM:"5@AQ_5QY(2*3F"S?2125^O]8I,'D.5EQ?USYUXDN:9"WU MH:P*\D6VS*FSJ*T%#82X?J]]:L H"(I%4;I *;Z)T6\,9&BOM;ZKE@@Q=W:\ MO:ST)J[2&9C:60C@P*&)A+,Z1YNN$\@:GS$WW"3W(UPW7#MBM-XO7OTPK5Y& M[/9P'2UW[9PI=ZMMU9YWN3K#0VA4/ M5N>$M'MNVWLE*ETE5)NHI87L4Z+'*ULW]!&[[<=KQLF@$@;2;4'[Q4$"!BL8 MK<,N!97LD"\$)+2:<2U8(\4*@FN78P$5QP7V6^S6'!IP,%@+P/'4[>8>=E02 M03I*ME\4I'!,>00/OR[T^Y"C$I"%CP*VV%,GG8/.E)>QJ0G?@I"%5E-E43.05X'GN.A<)M&BGVTHN.=L"+(!LFBTXUZ%5161L&](4%* MX)1Q'SDLK$!8?;QM^KS'2\.;U+F]7ZAA4RLYT2& 3]>5V# MUS%_]\V;AX+IHF6+=6!AFW8/RG-)9\BFO(O;7BYR]X:K$?*-Y/!#LFB.B_OX M94ZJX; ]1/@[QU;-56*RZE91;8+IC+>WJ+W#^P,^%XN%GR['TW683=:D.[1_ MH,ACM\AI3,;]3BJX"79I%G8>Y[:L (QN?@-%>'DGT1OYFL3YO*7SF4+#( =[ M?<$56=1>+93E\FGC>C(D\ _BIR_OB3%-J]L#0=KK4CZ@@FV)X]/& >4!AR^+ M@@RW;-$[.;8W).30NK41B-L!0_6AWR6%Z-Z\78,@2GN]< ?6K8T\4$.38J@6 ME#6K6E 61&FO4^_0JK661U\14X8]4=6FHE,Q#4\D[.+HT8 M.E9?((LDIDV7VK"ZT^,;-(35O)-SY%V 5'),JX4"J+[.'X..B>MD\9K$U ^( M7@"L?_TI1L7AL!>-J[X\^>]??6 U]"/J7/5Y M2LQN50!1('O\=&66 2YLO'R(]SV/&MST[K2U!NB<'/'MR>*)Q I'7AK'@TZ(A9Y]"4 M)@_<*N@='AV>GIT@GS,4Q/SQ S@9 X4I#Z;6Z0NU:1MCY_CB\L5G6@N5L MD!,N2J5GZ@JU:QDA^Q=HD:FI#RRLS@8NV<^,K#*S/VQ\M(X.STZQ+V3U!KH( MA:'#R_ \/OCQA+Z-A/_<+U[3Y*UZA"D@DU,#%D(+DW6O^&$S*H2"FI3/P(M! MD%48SZAULXE-9F 0U@/!(%N.]#E6 .1VTKXZKT:Z;*XU,IKYE4 DR#8E?8YE M:-R.]''MOX9P7@[_(!-Z.U9 -YZ3:?X.PI31+*L*XL'.X:=-MAHFMQ/W0 M,L+%%4$TMARME.E6060J71^.Z;@1J_R&0(^#L'8$>8U(24^\Y9?/%8A +4Q] M L2-G65"6X',8N\<) 3;@,W%)S9HBZJ!9)"]M@U.*VL\QO('6F3LML/CK&?[ M]L6P?C:=[-NGR&=F17&JV[=/^4_D[#>&K &5<6K'T^<\"7Y*K-K<.K4\;#DP M[W D890/QED+=A.2/*[J7N%: K:-SP(#^R8V6R8*-Z380B78,UN< )0)UX;70Z3I M_HU(HR!("S*I%Y=-L)B=WP]O/?*7=$:E][EE5^@+'@6[$;\6C-F3H4VPDR+( M?R]C7.?+NC_E"2VE8J=:YU5Q^?VO1$JGS= M=(&0,,FIY9V=GA^<(,?NZ4"D#);;KHTKD%1'X:2U",L-@?+6B%T/1(ILW^^V M,Q*AD2@-S2TU6&0T+]A!F[???ZI^ @\SER=FA MFTID7@BF,J(-:[B\AFZ%^3K-&WW@D\2S%Y(N;LB/_#F8DTD1D?&T^=LR\#=- M/[IX]>,ER/ Z@4_&&;7PQED2A1/JK7GE1R X\CPG)!_>\$G[J16-BEW!.ST: MUD&NDB]\O%#QDF.4AAXCFS%%DN1="G%@N&VMK,;6G1^44XLL/?E>81 !LAF$ MRPOGJH<#P>U 4MNHY,YPC.(@!F3751XU*D0V,:":+#FF#KHL/21^?%.09_*: MEXX=+_,PS9Z5[ M4'"EXM0 ^2([L6LNVD(<;EM$MZ%=^VFZK/)8%4*+B:@:B 7Y(D/(EPK%+$!N MFT)OZCY61W5RG61Y)GZ@QZD!PD!V=FW%K@!+5XLG]@/,IME!;NMDE/;0X^:T MH)2+HZMMTR8ZOR5QH,7HI@(( ]GJV)'472BF;(<(X>A5#8A/I,Q2/GE,PS@( M7_WHT5^6KI_K!)/CN%ES7.19#KM.^(.[QL.387TE#1@/L6/*B22I83SDAXO[ MMS$>GEA@!F;RHFX\/.&:&/ZMC(H)\ M3.#+6 :7;>[6QC!JTUV.%S-6=)(0ZW37#-S=]7/R_2TK7CB;S6^T0:=+S> M.M['&EE\.[7KG9[:>GSD!]4U@-B0X0_-4TI+!/+\O&V: T':>D@UI#I;0 V9 M$!W2&$GFW78-@C"MNO3O26LV4%WWR=3&+LFIVZH]$"6R@\$06K-!:LC'TR&E M$6?+;=4>B-*JJ\J>E&:-U)21U0JM450&[^ST^,S:*TLUFM<8' XR*;:2VQ%I MTIC5>QT2S!FK-W;V3I$D-:S>_*R=KEB]Z>0PGFK9OGE50!Q6+6\-CCASGA"( MVW9P%K8'.H.F4INXK"J(!_FF0TR<.MG[J&RTF%_Y\<_Q=+0@:1CX8K,YHZAW MBIU$04WR##LZ%XV%QO0LS1O#$G[:#$GXP7ORXQDO ]W6WT$8R'0I3J*,7EMH M#E>AA3ND=DH 2*2["X:L.60T>VJA+ZF$CJ]A'"Z*A9"0K3(P'6!3TI3X/BF, MWEKH^BFCQ?^0T](L T"13L"JM.SWUNVHB'_WTY#.U$]^+DMTNEL49&25N4*Z M;6<#,/4*'9\_Z09]OS"( -E!@DV*G,!F_WMSRAS,6CA)XOL8/O^CW+E"E\F$ M@GRXOQH_28-#*]6'RV*JJ",61MQZ+\CT%\_NBOB278+,(,\?"// M[_XK!2LE7Z$V-'R ;SO38UT'%H5_;X()V6]#9@10[Y+_F.LR#P"'2E3"+ M1CQ(L6/X\[A18;*)@<.E'0^.]5Q(SZU\''RZ-W=R.\_APA5WPR?RED1O-'C- MEB"D*Z.P'D@&V>=+E58-.!RBW7P%+%D']PO#DF.5!ZAT'>1!X-#HSB/?)JQO M_D)^,.55 7E8Y6.WX4B%T5T<'%Y=,14]%S\R\J\"@-V^4?6&3\F2"+)KE#OW M,ZM<;J5C50:%PVVG9!AHM$K'*[=.)0_L7#<2KI09WL'$N=CO%#=P&([-9Q2\ M.+\\MLM;33J$5>!P*'8@R6L_&05+N=B95FZ+-RW&=[!Q.'<@]VL925DUA>!^ MX5("V$$WU#AB\RN Q"$5*_NKY*)T#?\Y(+&?AHG XX-9ML+MQI9*#H)#'E9> M5QEY-83O=4?N0[!>JL2!YC_(ERV=@M]\<#OI/=\KS#273)"4C MT*A)J57)RYSL/'V0>(RJ-E#+ ,G=2L0)@[T6J#C,#F35$0^Q<1?P^%P]YV>8)IC%*W!N7%@DH/@,-2_ M"4.-'/&LQRQ<8T,Z#,DE+F=H%P>'H_XM$AR.GDF0Q)/U5D=K\Z=2MT:.Y':F MP@B#0SU@'$K_#8-S.7:;)\3!8=45=YEM;'=^0#3CJ&^J>*=8$[ 242K<[H+A MD.N*B\Q#XTFD@-!F,WU9( H,P2I>Q-2[= M8U($A<.I0R&E&"^4RQRV>3GW$/)(TH#R-!/&!%)OI13=A56+K?9X5H7(T0Z' M8DJ3.G_PI_R9>:ZL%KILSWA)W!W9!^2#%R7O-KFY6:8OI2 MA!.:G -=4=;!]KNJ"K^A4I"7MN91T5,6!90<==$V8TW(%+YDE;)L3:72[;YB M"^4E[J%5+M5FUIH=>!R]<"5@S[:$KOPLS)ZAX_YD'#??W!T*%$*UB4ID5EV' MMS@2*N#CJ(2VK:[;5,&]3=IR25];\1NX^!=,TJJ5#*R*M2[D6!L7AUMMHQW: MMG(;[.I\116XA'N7I.L7L_27RN->VE(E0O Y67IGNF"4UT''5P)]3^8YH$A$RR.Q#>*J@I%52F8%&4UBUO M12X/W=,"#60<#7#%!MD,9/L["6?SG$Q&H(W^C#0GQ3'\ZB5*$E#*QRC*U194*MPPTR+G].%/PEY20 M^#U))M5$]3V&[HEG7GZ-"JI55Y ,'AB3K@(DU_/L]1(TX@C[O;G6[*L"QO6T M>+T%CCC"?H^NPIX6[SO87,]MM\&GX/J]7[B2@TMG6 $&YU/.F73[+H6"?)@5 M<*6RFV*@,14FVA**ZWLJ:IY6/P0U*U6"03[L=J29BML1S<1C*F"T)40WKY1*<4V4W,?5&ZD$AWQ,[J@(2OA,19^V1#%N M2) 2/R-WT$KX1F*2J<_XC+K>X<'%Z<6I+0>Q=GH@Q.5XQ.LO<,K('I(L(]DX MOOW(PWA6A-FRV_ZO1V7_]&)C.@:T0][,HDX)IW M]ZU;]4[73Z6LE4 F3X/#1BEVMZ@:B 7]P;^,-!G9/%2H&9H-^*C UN>Z M@&[&P;)Y!EK!E<;_56P!A(6>1UA&)<^;10.@A9F@N^XSZ Z9;I"OEO6T^42B MDKML'KZV6![D#99;]@/W-AGMU@X->;CNFL' )UU7N'4JJ5@SJ;0BE*TENGFH]) M2N7PC6@;CPQ\LIH +#PK:2I4B]V/":FYG7.]3#MRG2R@LW,29Z68*&(JG8WH M;C^"J)B0"2V8Q.7-575CL;JYJ&.-3_Y99'E%W10 O?@? GWN^],50PY:@Y3T M>C#I87L3\<+RPE[FT0\GU%TBC$M:QU.:59L?.IE;H\**[KEK6%-40?>6N7 M_>=RRCN]'/;IJ6674Y?HSS4Z4F?\+GO+# MW[GC%&G6)GEV@![8KCV5NM;($BSJ_9=@0[HRKO$S6/**>F>'R"],)"+G["V9 M,#[?A51GKX1+&^\,^IC"MR$;NCQ"UP2#7@F7%MXQ;I/6QBOADGM3Z$HZ@N&\ M$L[L,4KQJ.SFE7#&MQNY$E_LRH^HD^SSG!#5U\*\*B!1:_@V./F+X;I]N\/" M)IWV^95 ),B7@&*RU ENXG'[XL/2V^)+]&C%0QWU]61BZA;"PFNVK6/4^M1< MWLML[B?K(1M/VM^I:7\'UG'W[)J[BJ-_>]923KU=HR#.AYS8$>,I%>PI5PFCH=M4:WB76FJ$]6JY(/O#*A&GQ?DN.D-WJ-JLX#%V3#L_T8TI>_7!29[^F1\+*C%9>".:C+"-Y)KTD56^DEABR6XP*HVQ= M:(/4[4M3\U&6*\%8?113FO^5,!JZ,QU^8N@G['(E%^3[,"7BM#C?16?H&G5X MUJ^3+!]/G_V(R&?]O;(U?N3[)46*.-XP?$R.WU8^DRBBEMYX\M5/?Q(:GZY> MQ:1$RZK6,D*^H^G$NSI$QZ\$GX ;D.LF!35UT,1IZLYJ M>(5X+GYDE:WK]@W^A_J/2K;YG!HTS^CI^2!5Z-F"_4803JS&1C,K?&:BM-LBO5-(/GQ](E, MBWA"8;_X'Q66:S^^(M>1'R[(9!S_5^%'I>/%[U">JP8=FJSEA'3::TTJ0S>, M"(&C+ .9^3@:\P)_S>9)--GN-0!>B0[^>0VG78"<0IDTYU_3M6FK%H_5=SUJ M.M(-/4G\;M?4S]49Q"5>\$1MOZE?) -WA;J>5%UW;;.>AI M5[$"TVG+DW-EQT;D>G!2>O4XGH[2U(_KO)GBZW=F^5(:Q\@!R3@$L=D4PW ] M+F@#%_47_P8P-K]Y@7]E?FF\DSM<:K9421 Y1J&86[8^M,5IZ/6;X:#V?TMB MLGR' WOY.N"Q@$VUGQ' ]1 &]-0UFJ6D1"9^):?93"449$?KMD0R]D-MX1MZ M=HZPGTFL:26$\?QO71TE@8Y%-=3V36!21VP]@M73:[.$7V@%8:9MR>&WJS9E;\W.&Q5Z8& M@GG(84F5*_S=7CO[:FSC8JT05G&_<*6FR'$UVRU0^Q@,/0(SO!U]])RI9I;5_>K-'%Q6#J-9>I&>YK&%,7H=HT4O=[8R'A^EF)JWF' M1T?P?[;L^)0X4X9DZB66X0'VI?#A9),3,F$BX6X@9/5*F9W88M=1HE(9$MHC M*E5CO "*;8/0XDT)!>]^DRM4W?;J^[!N"FXX1GU6BF% M<>K4=J4E0%-OBUZ3+*0N/,/>W#[0-+.9D>O:SD?.NB_R7)C;!2D3)V=G.*=C M_1O;DW/D@Q='>JKWLV7_K;R?S=*\P1W\M.$-?MA >0Y([,,9DF,$Y):MT",_ M@.<0LLV>'(*5=[$R FL@W^/LE03ETRVN(5%8OI("TN(DYX;!I10)\HUI*SZ? MZ 6B8!"N_UZBO+#%7B4;>/O=MO+J4H4<[D7V3HD**=+,R)8YAY>=_KI^YSB: M_+/(\O+X<9>DW\@[;&*3(J;/"![3)(9_!O6EO?BB6:L=[^3\]/#(%EN(:#AV M@V?HYA+;"6U209 Z);&*5[+ =CYIQ1Y;$X0@#=V5XGD@)#%]2IJ6!-&LH5?+ M*Q('\X6?RCQ-9%6]DXNCXU-;C#0J8UX9D:$K6HM87\&4>Z%(JE8R0@X'J$RD MJAYP,"+?\MIP8W]R;HO_DEM>9W$L[F.9F,H#_^ MC#P1JKBK/]([\4,!U;I->2G5EY/EMRRE:$U2E.7SQ,RA4_09KX4X81& M);='8>BS#+ICHMF@ZW@3;16&T50E2EO. T841H32U!4W2BJSROC[',S)I(A@ M)]P,H+^*@=^X W@B98ZWEV1;6IE3=P/K5X1=+M%V!"![:<8I7O4'^5J,(R+& ME9@,A977 *TGS28?'%Q=G6-%\^U>2+8B&3#B6:\EH"ATTJ"I; M[=7"_(S;$PY.0S8>RY7&@)Y43[HMNX(UHAEK9(9L1'F2^Y%ENO ]GM3.IV12 MQ9X8+>A/;16#UUXE2_M<$5MJB11F5^O39:4R,9E1CUALL^(:M[[34B41ERP@ M,B#]O=P9S"&[>'V-2E.K'UW[V?PN2MY=]5-:QS>QWT\)*P:$1'J2*Y/M_G\: M/Z4.5U_G]GDWG'-=+@48D%V2.$\?Z(3TZ(>3NR2MUM3L/@ZB B:Y^_AE3KZ" M$A=IB6C_5D3V3L)$VY7X+(ST5[.ZK0;F8;ON\;2]O MB"(HK5/+ 3/]FE%65 MK= >]/Z\HOK?"8V"H%@4Y7NS\AG:=;* ]NK4VH 1(7L;BI@ MD$VY#C"W+S8;2+^ 4.C6Z!O)5Y:FOY')#/:2J:8RJ+3D75Z08 -RY!W^VN9W0IVL6F. M8(GC3&MT ;PBTR0E3R2@3R_#:5B]Y:'KXGCZXG^(S'7M6P718K]JZ:XQG?$; MNM]$FC1VP=V!C!66TCH(297M34'+3'X&Q(Y]C.VN=N8%TCFJ8DWL>@^B0KH[EM;>*SQY0 .@6IT%9Y=UA#?=^[.,=_ MD-!!,7&$U3F^([KCCP!EQ]6W,;RMWH-W7F:W@9J*X(CD/MA]%XX=J[.G7;C! MG(;5-OPVWAKO_=^!/L]!@%NP[$C-5?=%?I.Y71 X&3AHU5JS2@6Y6I:!8M0O M+?=J>6?8>9)9$I49(C@P'+^7I&/CB;P6:3"GO@]I,DO]A>Q2DEL)1((=STK& M%X=F"22WKR'9Z*2WD:)J(!9LLY.$,AVBFYCMVP)1 M(EL"!80QSKGM,:)>(AIDG_MLJ6.+("5D&TC_FM!$VM<]XD"GF2M8NB;T6 YG M\MJ_PH83#U1D/:*#@K.S_#]K_E:.MP@FH6\/>V3H[P. G M)C9;:4J];LM.7BTW9>J.C][]=*)QONKV#9 .LH^1"7:EIS<30G+[K%>A@0_( M\E8VRP%P:RX+C7#(<4/9Q_P)CGRM9+4113QYC/SXF[\@:D=%PY_SSDZ1S40, MK1"<*GN![_9I]';Q&B5+0AK;,:FW&[>.=X:>KKHWFMEJ)1&%V^ZS3P36[S" M!;Z$]ST.\^SI^;M4/X3U0##8!LB!=41!'&Y[T.X U-6/M2!L,%?BZ453#&X[ MT<(QOSSAEAGVZ%E?JA&<&B ,[ OZ@75"* A4+UJ.B6Q'B4O47+HE-8N6,Y#,A9JS9 M;V-^E";W82_OR=!5)5,+!(0[7?:2A?L_DK=N8%#< M0K!D2E4?D2J(.+3B^H4T,-S2A.$=9UMI&R *9-]U?7(507'X'<7SO(O M[]#U)?RNY33 M( Z?VE8KM N-/*PB%E)P+_X'#:]4R"*!"6J!6*UY?-3C^58J 8Y>N/.FFXE/ M>OH5U@/)(,>(D]*FQ783%<=#!]62);%HKB.I/<..Q8=93V#"9I;U3DX.+B^M M"?O7DQ5;#)W#N[99:YA;BQ6$[W'V2H)P&I*)T%S-+5_A1_+5E+/"8%&*A,.D MMK'+$),F_>MX>O^@$N6I<^,PL.QYP=/?EL"4H#AZZ(J;76LQ?"OHSKJF*!L5 M^3Q):1B)/G23]RTXJ2/[GYO2(L,Z*A881V5=\?YK+97Z4<^XR+/Y6E1;M7*@$ O&M@9=RREYH#*KFW^D3Q&])_@^2/Y$@ MF<5T&]9\8JSRG*7/[WMGY]B.C;VJ_(!"Y*B[*Y<+O4FJ6A3ODK3^%2UWB*'W MS(X =Y]Z:X,A3AG$6!G_WHX*(M+Z_ MCP(GV$ZL_>]J>I0S;7C=W-FJ"Y0R53Q/F@\<-C;E# MPV'1 /9?_?0GR1]3$/_*[>K&SWM9#A0^"[S\YSZHD^PX.HW[RN )J$S?ZGCT MU976]Q@ZQO7ZXSD_:C<$0OF4]L NTN"HB#.WAQ35?985K-A_7.CB1*NM6BP? M4F,G7>MYONHH&8ZJ??I;OYWK^S<_C.CA]"Y)RWNF 5PL=C]94?*I#<6]BXZC MS:X$3]D)"7'[064DVNFQ*U3Q(SZU)DF <_1 ^U:LZ;F(%3R6_=L:\>!!9#FT MRH/$BBMZ9Y>7P^]1JK,F71#E0XU=P3L_L'-[L257P=:!@\CM6*JFYM'S SLG M405R18A08Z?J/G/GDZ=4SSL].CL^L/-N1D"C'C9#84@M/,6F_W<*7*$86ASAIIWVWUW[?,#.V_^!M!+KC@F4A'F1;OQ&>IS&&%\#&NS> M,/^:'=9K4>M9(KCJZ) ES72N1CR*'= MML!ACR&'7#.B]ET;,^^X[7]$QT[_VWOR+1$9"JM#-.6@N:X6BP6?KH< M3_;+''&?YFA>"V/ZW ,;T1^;)\V;;C M5 RRV9KNGJC0)+'T>_@:D(!M_S2K3SIKE@').>[7T5XL^T*1!OSOX6M @I4& M3@.:95R1Q3(TY"EM]NTU[>0+%"&2Y,D[Y;QS._,E&Z!I6RL$Z$TY11OG\RXI M4@4Z-\4 CY56KQ[9W 7?U<&A/S+#-Y6QN2D&>*PTZO1)Y@YX0]X!5FT9[$D@ M<8[^4!QO/ZLO*$.W^E;I8LNA_)"\D[3Z5[@(]2T?9CX+M%BY==%7K0'VKTS9 M&;K&_PPJ_?WU%4.E=SX+M%BY?[-2I9FR,W1E_QE4>A7OI&$REP=!'*@'0):5 M>ULK%5TF1E,W]U8IO3,NW4=VWD[VJLB=!?8YKM]_&!K@^P-;=-M[169A'$/9 M*Q^:"UH$*\?I)C!OY]-$DT/%*EF;\@BP*KQ_2X$V@L#5SI>6 M-HZA5K+EC!FG\H0.-@D]$6K3A3]?)W'I#5'XT0M)%T?6+$G<'GKGQW;ZE=@X MDKJ*F3.HG(E%W,=I;G]V&OI8OM\#8 O[2L"]8SE/C!RE__11D;??VU"Q]'XL MW_L6,(#MJV7UL9PC,([*.G7ANK?FM4HPI;B^#90H3+4WP**5/E[];FH&$"EG M8'2__;4S<.)35F2C>/*4^6AQ$VDJE"C)BI2,I\V./Y&(]IJF \KVN,X4G/&[ M->R=GYP,.Z>YY:Q_@GRM8X+=WIWY3\S%7T1::2LT\ &)&_Y6.0".?;MMED.V MHC P?T;7=Q59;4013^@IZIN_:.O[WNUS0 /RW0-#*UIN[5O#M])O?3O$? GA M<=6=\E??XS"G>Y'M@O2W$F_:SBU[A\>7EY2&-K/DN-G?*YA0E9_ M+Z<)5+7?[@+0]0GN'#'4GB7'KD\ZG(WO+)56'10-6??W>@&T?8*;2@SUYXBR MZPN0SSL"K-SQG]IN7K%4^YF"-/42Q,5PZNH2V[GZ+7>/-S#8[_PP_;L?%;T$ MO3/8/>#Z$SQ\11TTBC(V]4SEW^((;>>PTNPC\(Y]1^GHV&HEZ,_P0F6 LYV= M0TNSC\#X)WCSBW_05Q3T9WC(TN>YD49'MW-]ICOC-EM3^46\&%G ).8R$6U?:,@4F2#]W!JM 79;1?H M%NAO/T"F"7U.XZ?+ZLG$ ME)=TDON1%9N2QS1Y"S/X (S'S[8I.1MT%K@N4JK9ZR[=?M ]-.SW8C(-D=3H[PCTVH_VX,M5A5<3A(/L/MN56*&ZB&&[ MO;^H(3X#8_2UQ@-\I(UFB.M[YQ?(#J:]ZH<*>-0G4,9FCFI?W6;FX-0$X2#[ M8/8[#.V> 8*G%#WT>PNM4.K0 >R M4;WE-K4S9K?3EZS@U_LN_1E&K0$8<\@6L913@NYT<0R+ ]IL7$ YV MU*)^=4.(VUCV")SMKKXV\*7AIC55B,>4!SON=<83"9(X"*.P;'GE9P%_6M]M MU*!_#_/YRYR,%DD1Y_02I,C)Y&HY>GV-EC!\X$]T72U #9>[V[(G6&]?$BC! M=.+8_= GN#VY.#C &:G;;'+4=[2R]ZX)VV)*!;.)[X"4D"UC4@HELX(Y*;A] M[<(1R/6<^K[=QZNU$@J,LHSD&756J[B.HN2=9M70USF-QKVST^.3"XL-)?JZ MU@:]V]M4*GXT9VSEJ6SI*CR;_++*\=)PN%UA8 M7T?%A'E*:=V6=W%Q<(S]>+$]^2W!=KVKP8[VP '_+:$GI2+(PQ\1J;=J7XD? MT:CPV M5PU!9,-9C_,-%V_7NYJ.4XZ>4GR)DA_4R)'#2DJ5_B%YIVAJDZ"F2H@;JU;G MSZ,0BFA=C[C%00^_N(:^A[GRD^-Y[NW4K3I3#T?\#@ MR,-/\3SZXO!TT)%WW7ATOB]=A9?0*O4!E/#706QVZ^069!7OZMW MH4U+)6RUZDUIULI6W,?G@ ;L-_!]*)X9L;B=1%%!+D^UBQG(9!0$:>%'63-N M$C6=T)A30GNBR<^ V)&WN4-HHZ8X/L=[:CUY_.[3Z*SYJ[:=4Y +2:/GH$%,^Y'T]H_O>U9?^!P-9._^2N MWF3E'.FJ8AA#;^PM=:^:\CVFSRQFY)V!&PAS+P[&+&=;Q1G1W6 6A@$QP&A,:>H/)X(F\D9B;P M:-,,C"%DUPK#7GYR3CF073< M?69_.TS=0K1."[0"Z/BGNZ=K '/<*V8/VI]>VU#B21/]H&AKPY64CC#&]1-#@!6;F MT2'L FM'ECRZ,.W]^LV29,NRZZZ2LT1W1$#"S9 :EVGID*$.F]-H.NA8W,/\+8H6 M__A! '"K@Y';G);Z9^UFI%$W6-C-) $K#4O;$)RFYHR#CY'#O;X7TFB/H^J%VI\..3M5M8( VN&+[AB;%!U8'"Z;7U:' MY)30TEQ4D14<.'V"C[]#5<;&:0'JOD=L60%12W\@6DF@]9)@GVX>%%'"Q>&] M*Y?4B+UXM8-8C0\.,6NCWONKKY_+?Z6&E]-R.IM%J3E(T!Z4V\+M+$<)B8HC M1PTLA_AN>S&U-WJE/9Q.KFY*/A,NA_[N")6UMU+(;>2H1]'J>,##S6D;S1V( MG^Q0^#1G0K#0.N4.%^9):9.QAM2_,]0?>=MX16*EB_J\'I^ M9TG&9EX+8%MGOT][_7RI_'_M!72K^OC&2:6<_)@'&558O:/BNR2A8;0I >"? M18'A8G#2*5(]LU=2 MX<.<]#:E;VE"?$8ZEOK4GL1_2"OC@]_2J( W [QB1/ M),D"&@6Z!9/F(G#3_'7AV6F4^/D\I]\>M*J?#2Y=EO34;CP&X+M]C8F6'Y MP:_N_95?L&_0[)I\&Y#@LB2<=AML;HNF0A;8;@:+:ZA+E_7C#-90EUPOHG;< MH5A#3<(%VAYEM%CX!8J[\"V*5_D7?((]1W\P/&E_R65D:9+1"QT7!"]=?W#6 MN^J?73H!T)MHY?E*=W@<%"F,X8HS@,V3*KD'B"PMG4]/+^ @2>K/QS3A,]Y\ M)ZM7<N;*!X''$"&T) #DJI)7&Z1RQ\JDB%#]6@]8U$[[&W7M+X M F<,%CX_&PSZPP&R]T5I"%:#86FU::F+RE@D[X=@N,.N\/D"/E+75".&0:84 MC27YKF9D)F3^VWOT\65>#!T%G^6'BL[R%[/Q X.[ZH\%-"0'@)K1ZT0Q7MV2 MP)4=5I)T'1>4T)_VNA=\FMU,6!VI^$L!!VD[8<+$X7M;DJ$Z_6*DC/$]+PE) M[^DW4)N+MP^\(KDQAL@Y>5H;""D22])1;M JW43P"Q4&0=Y&2-E2)_D E2WA M)VV>N>7S;+;!++QZG9\H+S<[/!KTK[/-12IU3!XPM&:?6B>/V/95B M)5XD=[0.'SI,'F*SI:]DB\O*PUPJ0>UDHK@[=J5R-%FH=X8EQ*''"8-/=7A. M"B;MWK90BKPMQ;[$E H+%8"QCJDUYE,16\=5DG8SS[T?DCOX4;3 /7ZXF*JZ MM+058+"EA73Z56V1'^Q_D.I&-$!)U=K\,//#]U()5IQ&H%[)K#]$#@$+6&33 MK@O.FF02^JF2EHZ@]H?(04[M)J",JN.Z2/PTK*+A[S*1"R&6/$&YE(\WRFV3 MU@I614YQUVXKC=%V7";)!'^N/U_EK%AJ0V6M8%575AEMMJ$:6ES]HQ8$.%O7 M\*=.9V1EA.;3D@) 6PI''R1^C5H4W>5#@<'2+Q9<108PWP-D7&5AK:[,/-;0 M?A(1I)T)7DYV0Q]U>KOB"#8>/11!VI)+:GL$8<,Q'CW4JBNLU)6)Q I2:Y)+ M.*-&Z7*=>'$(@R4T][67QC[-M!<,$/Q"L/YR)=]3=2"0@6FLJ.3DAL3@^$+O MZJ)_CIP?:&LOL0-C33?)Z4G?^K4MYQ>#P;#O2EZAY3G_"*0MB233.?_7L;I" M#P%;DL76Z&/'$JWI-[5_[.H!<,6 JPH>E.ER,/M2[97P?10N]E/G]HYDN7%. MZ^A]Y8>T>$5F@TLMQ97F[SY?0@,,P/Z'K[1GT>M-^4?I,2[]V@ QMG=!R 4G M &H*M"T)EQ,'NJ^S!(:]9-M5$TE2I[ <& 8Y]\^834ETG(^VVQH0)1YIRF?M M.0#N2O"!SPN'T&,].(P-(TCNMJ[6\"[YOIR].W$) F* $[L+;@23U((EDYRX8Z&K#GC7B4? M3*$XF!;;E69YBE0&;>E@&%+;>,AH*W]\*X#F^[ARSA&T"'XAZ"[8L15EXMC$ MR[!9.G%F==3>OO,X2])H!357U^G<1G'A-'KRD[]X0[AJ>; =D:@(;L&,"V= M:4/JU]MKN 2]>/L(P,5.\FO89^M(+)U:8_@_W?8U/9#TV0OR1*.RT"ZO !8X M;WY*LPN@H4^\^7)7W7:!U&F7U%7O9W-)76$[)(1<6'1)7=E3/CVA),88.FX4 M^(L<4CY\"?0PV \#=&QOA"E?=?IE$!WT-&FS*U3*X#T.\)'V3#)*5 CTO)83A%[2!8"<5")2(/5<133.Q12\A"%)3HIK]PR M8!!$=0X39B50.N[0:B?*T\-V7=B9<#70=MMW91CEZ6''#N2\*$5Y>MP8 JXW MRG8,H8>=HGML=MT80H^;>WLB?U+K ;F>&SD2$I+$[V_)Y2E2 M&;0MC22DQO%$/DB8D?Q*ABC,735_^NERZPG?765$,TWA'\W_$[05@]K BMCN M#&6NV6W%&+0ME2:L2 ()89,8P+ Y6JS\T*>./BJQ(#],+BD)UL&.&3=L$DH M;0D[87M'BA/-]^SK[ 5/@Q4<XFV(4'NODNE,,#'7O49,JN+T98T%%)_ MKH:G[2+E4/7HFH#A*G$DDDQ^P)0%./W0BS>Y':$7S.GR)@J"O:LM!2-"B]\* MK&"[Y!J.*:T;QYJ"591Z 5:3I7>A(VMR.2H U.I&:)&LJ'&"VQ*K6 M^?U['QB+#9(JK2!KSP'X3J0F"185QW"LB48==EFWTY.>L]4*1C0HG"Y)S'+7 M=#L)J?_3)2'U'=O7U;G@>/Q,@?ZD24A];*^=*5\J.2P5Q)\X":GO8!)27S,) MJ?\K":G*W1DXF834UT]"&OQ*0JIG[F!>$63"K 3*KR0D1OH'UH5? Y)3 M$2Y&*VJ:_^6_%S"J4ASLU(D\(#[?ZB@[G@PT]3;Y(O$E&LW_SOR8P((#=N_I M9AIX(9W4)O#;-7U$T";4*P&;.>9BUFT9NEA;RRCJ2&SHF01DGI+%K1]Z(?2H MH#:C5J5',?&Z'2X:GB.%B\H\UCPA80(_W_@=9;%5G52-' M)A6#'1P+V]<9D@61S#%W+YZTS=M@<#C^(0$_/#-ZJ M/P(XQ%"@Q.9UD@Y?VL$HD:1K33*Z$.0ZN@X? 9A(*V%M;MBO[F"L1\+0*/$] M(3_5 [/A&9([WXB=PQ=W)P"C-YZ-1X+Q;#P"<$B.0N/Q;/O2+D94QH0>>J.' MG9ZC+%V.8($$H,2N>E$90(H4ZM2F1Q&+B\&5/-ERG#6<]"\@0TTGT M6>)CZ'9@17.?HA)L,:T2;.],CH*M[9L=FW0\/N/ (7'L*Z2;\2]L4_J&Z'CH MB!Y;RF)J=6G@[_!1P(\< FRC(;!1MA82:M_E/UFM@VA#MD>5:$PC<>/&HVF4 M !OT[?(_O1#7Q]2!;YN.&_9M26U,JEX>,;/YG'>;31 MBS?[#XU6= DD#,PVJ1CL@-P_57CB!6N;(V_+>=]^ERTSQ/[TXM@+T\V][[WZ M@9]N1O/4_X#_[T+>$Z?OP[47@=4\I2:(:-*44D]6* YL#D\;0*\;=S2?QQE, M+(&7)/Z;#ZVRF!^487%KF W/D3-,U>W/"9WK +74(=?Y=G",D53,"5 M_>Z2)!/>=*Q6 1@,.7^NG9;!QNE@T*UQD]@FE6@WA6U!, WR#KZ=)E#'US1, M-RRH#\D[O5_;%?+;F2N0DS!.-U?8.U)6S!63<.'( LZ-?=<)UFSG%\.KKU=: MZ5,O&8SL=-2(R9S0#3UMG;#W7T1A2.U,R/.G**"VM MO5#NVX$-WCR/Z]#:'M_H[4]N="3Z)M3/]#N\7PS?G5.HT(.$Y6#\.ZW[HF9> M^FJR;$)V@=GP*_)F1L&L[)E)!,C!%, FW%YO7N#K)*=?!:7 C,CG $1D*=)[ M"*?;^X]C@\"728^Z"DJ!+9$WGU+&5/OQ 29WD@*-TL.S]3KP:>3\ *94KD!2 M$HR#G.LK98Y-N!(N!_,.FXW@UR2<+U=>_)?^,%XK"ET).4!@92QG8'(PD;$1 MY5N$^J/Z05$P#W+P7HU 5?)9Z-S)E#0C/TD?W^AEJO!5Y?*O!$9Z+XCY?XD=: M*LDX.690 8BM'$AM)GEIZ^5[2A+5:T\5:+!VJHJ&9@R1/!0=3R0\&F7N%;*; M^85@AD%6%;"P-SE TW%=B2-XU:4-YSH<[Q4#:R)+A\LX4V3Z"%.'-2+&T6KE MIX7.7+@HKD-XA_4?=:8[$7;9:9'>$R\AR6U&-2V^^Z&_RE;;[(*;C"@$8C1K MF@TO3JL?/LWB^1+>[/$U\-]E,C['#]/)93C$%FHR,C(GA4 L=N!FF-D8)*[ M\ $Z[\L_)/@@WZ$?+H791&HUE 9##N*TVB8DN-N*]K0_,M]Z?OR'%V1D3Y8P MJZ;T6Q<&5ER4I$VRF5$,E"A^B](F\%4H^=^%. MRV>GPY",TMWWG7R(K[Y9*S5%5&PVW*G8G!C#]>;:"\"ZY'E)2/HMCK(U)402 M95SCW.NVUE_@R"6I)23 .\KRN3J&T"? !=CLT M7PZU>R,IH[](/?P:M.=AK/*;H+247H+6?O>%Y]^._?=B/P3YJ:+E"D M.+N==,#<6!YCEJ:?:-4#AD-V\>L0+&DBZH!1\Q?LM92[<)VE26ZD"^E$(R@U M.S\[0XX!&) H:0U1ZM7J@>AH)BA4@'MC,AG5>RPS6Y)6D9H30ZK M?7?XUO-]YU-+%@R&B_]D7N"_T87]-@\-?OD$7QM_D,2.(UN2>21Y&[X;6[TP MD+>+G&,!J39(/%>V=AT4%J*\L9;MCQ.O3*!VV[M=(0Z"Z!\ZCNUW-H639FH5 M4%LA[25->66/S%IPN^WZ%D.5[B15BE,[(8>_M @U:1,UI-T^OK;#=QO%8WA7 M'Q8IB?P*95$Q:A=D'X(&?6S^%? Y>(+-TLI!M#4TJH=:##%3N_E4T01UMX^] MB7M2N4\RGC+*\F"I"\1K $R9-9DZZH@M.:A1Q=?$>,=++WXGBY>(GAZCM[;] M6),P,6\QG/JH/1$/'9RR!8DMT&U'MF3>)E27AWIHNRJHO1!O43AEBSD" MW=3AC:WO=K))"?$"!Z1)R=YU#^HJ;U_H*[]Z"?G7_P%02P,$% @ 48*1 M5AA&T%VOB0( N3P@ \ !D-#$U-#$U9#$P:RYH=&WLO6ESVTB6*/I](N8_ MX*JGY[HB2)FD9,M+E6_06ESJDB6U)'=UOR\.$$B**(-(%@!*8OWZ=Y;,1(($ M%TDDQ04=,RZ1Q))YSLFS+S__OX=NZ-R). ED],M.?;>VXXC(DWX0W?ZRTT_; MU7<[SO_[]-__]7,GA0OAXBCYX(8R_66GDZ:]#Z]?NTD:RVI7^+N>[+YNU!I[ MM?I>?4==&@;1#W/I_?W][D,K#G=E? M7UO9>X\\M-Q'Z?_:C;U8 MAN)U=K&^W9/]*(T'Q8M3/^86Z/7C&(A@W!WJU]PMXL'K%%^.O^0NC=S 2XJO MI9]R%R>!5WPI_)"_,.W%8ZZ$7W*7]I/JK>OVS-5M-VD1'-4/N8L?P@EX^O>9 M167]-)Z 'OAUZ/W5I-_KA:(KHG3L4O :6LZ?>V:C<3KQ3O7[Z%V%E^8)\V'< M!NI([G"DQ+\_7YUEEZ?%UV>7ODYC-TK:,NZZ*3 8?%NM6FM4ZPW[E$T"\3"' M@)=6 ;.Y.S2F)[VW_J9:>UJO_W\FO^& M+[LB=1U/1BGA(!4/Z6N\\:/C==PX$>DOWVY.D'7B6ZKBSWYP]\O.(5]>O1GT MQ,YK?,IK_8Z6] =.D@Y"\ YD=N%1P'G^= $,O&15$Y"]W:'U_R07HGV+SN7 MM<;W6OT[DL"-A#_VZ.^]G4]M-TS$SZ]SCQS_AB/I]>D%0>*YX27\*OT3^"Z9 M\6TG_YGY5<<18&!P""^+W? T\L7#;V(PXVMJ]+]W]?VW1:]K2YE&,A5. $SV MY/Q[X\W[]P=,I1]"%X6AB*K?KG<^?1:W012!>'2"R&G3EAU\0051']V*Q$FE M%\H>8L@1#SV@AB#MPQ6X?GQM"J\=P.7PP4V=I ^W>3+!9<0 MC8C8O;_KW'3@H=8OGML+4C<,_A(^OJ\?I@HFN*[(BP4<6OSHB[; )]![W 3. M1H)[^I_Z;L/I!F$(:]XEA!@,?**/%EW'^ @0.2+Y]#/R@P\)26Q MT-R_D,* M)^J7G23H E?<4=]U8J0&5%6J6BG9?4A *+Y6#]&&9E;)G@\HP/UC 06W M!%&P76 *W=9CP02WB'![( 1,]K$0@EN\?KAN!^[U$+NCCXGLQ_2)3)(/2MJ1 MI!HG[9Q/CKI:D,@T'P,?OV@'($>(BXI"3>KP]+>\P!R^&9[WNO#Y/1+_YB.8 M2'%Z!!+J$RX15;]:7=^9_9:MU=?7[L&%H*YE;_'5E:^'WO,Z!Y1"?B\C MIK$RL&$#,E60L7>K?WG^;E>'$JS=[LUQMX;^:Q;]UU=FUSGZKSV"_NMSI'\# MH[H%H]4Y!SD8U1\!H\:\><2[[[7]U8)-GD>\J];VY\\C5N>T6+NMSY-'&+P" M_:\>CH=EI(WE:?1O7_M\^C_XOE=;+=CDZ?^@NE>;'_WO?Z\W5EE&[E?KC;GM MMEY3N%W1TUZOS16W>]\;C56FY+UJ8WZX-9R\MHJ[K2U"V\M9.]\OTHZ(DT,* M98"Q]E5T6_ Y3J]3X(?H^/HBY&WL]CH!6(7-AR!9!IP4 Q>WN #UV8?W/?3" MP M27J3C!_ S!]]@P1\FK1A-X@^%6_WY=>'#,YAFJU@?JVT,KI7SMQGYU[*? M=IKDPG4W&>63=KQ-F&\FP:;B&7_/MK=-2#UL;APR54C]PV%SFQ!YW$=GZ0:? M3WN#VX38;]<;ATY]0K]=;Q,BKT5\%W@"] A2(LU1O8PE!H\O8GW!*J-US&)) M42K^Z T#Y[";"/Y3='D"3@MGT;=($0U#&F'SS+?)%?)U*[\=%#W^_#-TH M^3PX?A"Q%R0 5( V/7]EZ4/E.GY8S'Z)Q(8!O'7$=2+[<4E;BZ.M#+[;1UK! M74^9WG,HHT2&@4]@/@4;+T&0?5?:PZG"J4<_ MY^A2&X2?^TD0B2313UY]"INR$)%S\CV1$JW.5 JD_2B_45*/[F1J1O:_ 5. MBD=113PI5T'RX_/@LXB\3M>-?Q![.NPGJ>Q:3L*O[A\RUM\R"U,^F7CD85/> MA/5/*TM:FE5,@Y#%58H!_0Q>-F$-%NP,QYV,AF?RU%&\F[!TCD2VZF0MX7!\ MOXE=7S0]"E4DE^[ ;86:B\UVAM?]>+&F,!X*Y0';V -V!?HA&,2I\,EB;MZ[ ML7\9JT)"^NI;%* &.70A?FL?$;IQ+<3-\$K9_'\V&+:):(!+]+M8\25\I?IU M>['H(*3OQ&GDP5$J-+&._^QC33%<+:/U,K'&K-S0U*P V5(JN<$> 5PAV/3_ M &8[U@K?!A*9 (VMHH\PE/?8UN4$I#*PV2 ]DTE.[_J7&_893/K2A%FPB.]$ MLA;29N8M&#J9 )5MHHY#&?2=#"3LVSL7K<)X4W?IV8$ M;GCI!OYI=,A=+[9,2DP"PC91PYD;^:>@1,D[8;F/F0PNN5? -[J),C3*GI MBF73?W4?@FZ_:UC&>@0X9]B912S%,'JFD6P#BHUF"Y#;1(&?^T&(O?D #6?8 M8:1+][]=N%_I$@AN;K^MAGU&AF:)VQRF[!]W.V%&R'P/7 M2P0Z^G)N4_A\[G97']U#"R4%;LH.MPG9A^<;5T)NFKB>;Q,B;^[E34?V$S?R MFY%_A&$3Y[-J@L>LO< #,(KF;2Q&>A0A*"_:S3A&-6S%U('P># M;2*/+R(2/("BZ7>#*$BH!\*=.,9IPDG.?\-EQ4:Q.I/ (GGU'L#F- $I]BL3JH/SG 5X?1+=7@@N.DT[0X[9#,?Q\B!.G M(V] $[.!/U_!J@\E-M[PTFGOP+8<*T]L3P..2849A?DSPA23UF0!TT189T/0 M-IV!SV[T Z2*/96'Z?,LB$#<<+GTB>L%(6R0J)RZ,3R.>8(>=B?#.R"+_//L MVT??M-*GH'"YF1]MPG;G0.ZS\?M11,WAU>/(PA1-C-+3-AVGL9D)Y1&8SQ%X M1C+%!E+;N'R%DMH62&W;6MKP!4S(Z%Y*GX'\+1IJ47TD6FFF?A$97KH#(!?O MQV4L4^%1Y_ 8G=7=,YGWNFT",;(';OJ.YZ+O#H-:OW\\DK:)5,]DY,N(-/P6 M*21M4/5]U/3/3C]?7-F4]R\W#K O(_XX.;FP9*KSU6*'(6]7@L^"OU*+6('# ML@4:R#)*@#?T(&[>83D1/CI13_J1GQP#-#!I3ES?NSV$R<2CLCD'8M6)=@8< M;1/)/H>_ET1;9.&E6+G$9J!@9PM^,D#;JP MNS6IC9EQ UE@;C;HS('T'X$T.P)>3 ?;=!0N8]%S U\%1A,];YW3 E*&H$W# MG]T0>X=?=X18GXR@"8O.^I?,"H=MHHZY,XF5M&7>)X&Z$UXED*&\'IL>9GL Q9+[KR;I-#RY,@O70IL:N MFBO047A;NY?W?B'(%+;MA*@:3#8 M)GIXB3C#2I-0Z MBL43$%S2_]/I?Z4)MR25Y=8V/BGG!#1+6(T/[XE\TOKIBB&W5_/LXF;HAY6G MOKG6^CU/$UAT@A;7)A?BAWZ:!<7ET9K[T2J/1YE$]B3Z/ )]+TD#[Y ;H8TJ ML3?N0[.?=F2\#I0V=LDFZZMHN]N$[Z:(9=)S/:$=7;S7)$[9)::^7=V.K%Q4 M4K!45O2*M[=-&-8[I\8BH[[/)WKP5Y(6YN/JG0BHC:2<9G(1&8IIK&)*PP:3 MV\R1A9G7L\H-SX((J!HN9VJW*5C_,@\*/D(?5-#JIS(V_92>2L0WL?S#C4*W M)<)F[WK='2./HU6BF/' 7+Q/KPCXZTF2Q[ K#!METV""BG4(DXS:\Z4DWRZ'+&Q%3Q/VH+ZY%+Z4E MWW2"F#K-CW2?/P%0K;%K=[Q3]ZE@6'ND-_NW0,XGLA^GG:*M7HL[L<[9+S.A M_!% 6$^$/W;2[G:13CB?5L_JGL4^L=M_AGDMTKCJ9>D:2M%49S+2.UG"M&M).', MA+BQ>UU/U.D:@8OVB1O$_W+#OC!_' 6)%TH\%SG+2?\,^GIV:CZ[2<#LQ/Q^ M&O7Z:7(&@CS<&_, \^>O@#(W]CH#NGQE*<18,;-N8>2&4:#,PZB:C!)K'8]! M=TG0J\NJ2LP72"$WC@9VN&Z_N%,*E-.,?#^GBZ&X1TA:SCF$$F7-3A.;U/ R/+RWZ+-HR%J8X MZT;>=,38(KPCD;I!F)0U22M>DS3UY9S4F6'3;'%6:EC'X[& ^O]Y)1RM]+E8 M9B'US(M:EZRBO36BYIO8]04*R(TDXZ=1S#!,YD"ZJ]^88#GT6]88K7?>\9K4 M&"V0@LL:HR?RN,<542SHA#RYLFF52;*L,2IKC%:(',L:H\V0]6M68[0.%+UY M-49K1K2/KWE:9;HL:XQ6M<9H.4@O:XQ6IL9H@0A?8H!'@W6-:6:%(CHY2MWH M^,TBV5UVI(^#VTXJ1(3J93HXI6 O,//+,$^P^/G<[:[^ *.AA3*Y/&*[ZXG0 MLF1R&>D[4Y>PHO5KJT1X90K@5I1,+M)Q4)9,KBOJRI+)LF1R^853ZT30ZT*( M6X_YLF1R#4HFEV-"DS-L2^SGR7M=3U1>"4Q=\(!2KU/IY>H=FO=N[)L*!PL. M)T%[B[PFTW8[!ZTB!^E0ODW4S*6_A/\M\D5, MJM!%C^;0@A*6?!X83# 'HZ22 MQ5%)!M]U)I*A++222.9,)&N>WE9&^U^B6<="70EE%'V9C726DP=?]ETI^ZZL M0=^511Z&\XTS6(TOX7P]47)TO'$H2=)>_.'H>#WQ,100^18%:7)U_6VFJ-6F M)?O.*PV@.S'D[DXPO14QUB; ?-JVVDN86A_MGD_T8!*TGM3TE*E_26AF7 M?T*,L=L+Y4 (RS4TEMI6FES&X6KL!M<37X_5@-829T]48589;S?N ^>/))0A M>")CW+L24E;5Y$4;6!E8UW ]F+RB':QN2RF[?G#LLIEM3]K\FN*SH# 8OLMQ M&]VP:E-%\",VOIY(WI*><&4/MB^PA^A>2I_9% BWP;AB>UR_Y^ M+6 5OJGG']NW8>B'E:?4%6K,L)16V\7XH9]F07%Y2-:5);\(R2WDE*TRI1V! M^9*D@7?(,2N;7HQMH_)IUH!FQB[9R/FB[:XGYIJ^3WW9W! L2Q'<1L;>W [S M>MK^UQ.K5HH+E7)?R8$;IH,K-\VE^PU?MA:.KPF+YJZ"T_:^&2C5F23--(V) M@K<2N1.@L!EHQJ)GE#*;CMUQEXSN?SWQ.N]9(2N-YW+ 1CY%DQK;C_;DM=&\ MW4->9@+4>M+ N8P.^W$,2SD+W-:(.?W9#3GM0HCT3'*"^<*BZ8"/W?-Z MHE!ID)?N@%+*C[ _TCE[L6,'(T:M7%I]M>.3AF5Z9H=FOPN&YE MPK7&]QKAL'8C#3[KWR_2CH@3=G@'(NO6NUD%'H3(PJW.&WN H3@]@I4@_FK5 M&@[=-8\ROV40]/6U]3RN]2_SQ/6AP/JQL!GYU[(/%KH=G]I,E$_:\39AONS_ MLH%(+?LL;0@BRYYF&XK8LG_@AB#R6L1W@8<9OJ1$FJ.J^HA_"O]67+KQ.'-\ M&VAE%K!L*<6 -A(E(:?/^W^ >![KM]D&0ID C:VBCQ!.")97G( >1Y7(>'IL MJL!IJ PF?6G"0EO$=R)9"_UDYBT8.ID E6VBCG*(_98A/&M0<.D&_FETZ/:" M(>_;%DB)24#8)FIX;%QH);%?QE9F0_9-3 &MP4@?Z\T_\ 5;WR;, URZ(/.V M#^\C&]\FK*L.1,[B=J81[\U\,*FEP9WL+LU"7I-6K5I&%"TZ6W"^A6V MJ8J$?^S&$0 KV:X#7[S[S<9_W<)_HZRL6R2NZX_ =6/QN"XKZY966;=BF"\K MZS80J65EW88@LJRLVU#$EI5U&X+(LK)NXS%<5M9M'$[+RKK-QW%965=6UFTR MN9:5=5M26;=JA%I6UFT)ILO*NN?PLJD5HPZRCJI M+4-X62?UHG52JT8-95G^JI?EKQC%E)5U6X3LLKYJ*?55*X;ULIYR:?64*X;Y MLK)N*95U*X;ULK)NR95U*X;_2WA"?-SMA7(@!'&^RWX,AR$1EZ&;RSC#S^=N M=_7/_=!"53[9]&UN$]I_A>,PN!=A2,/#-2R:D7\6> !/8<;/Y\0 \,^+=C.. MD57BCRM/"N-6S&FICX/!-I''%Q$)KDAL^MT@"A(*X-Z)XX<>0L8F"@Z]&(:[ M-O/9)Z];7S43(+:),G)^$)L.CN#9=P2;TPB@U">K63M0/@_P>I"P5X*#,DDG MZ'%J5@P_'_;C6$3>X!3>'XLDO8)5@XD.L/;2:>_ G(*5)[:G <>D<(S"?#S) M/6M-%C"--3P;@K;I#'QVHQ\@5>PR;:;/,] E+]H<4CIQO2"$#1*54\3Z<2?ETN:&GG32I^"<>#1=%X USG0^6R,?A1#HUO5 MA#D>2(NB3_;N3 ?TO$DT@/V[<'F#>F6]J=8R&*M?ED%T8WGBII+>-,Y8$N S M"1 HK_Y&2V7S=\G]%DX%+\1]YR.@WU;K;V82T$/7/D^!?!JI;AW/?&F"703/ M7F>R??>]MD^V#I"M^=N4X=E.P%PT]B2(@E2#YZ%4@E8%.^JM?U9K0_[VD50"5408EDAIKC3!XQTEG3R MR4[Z& N@;:(4$[W\/4@[35 7Y%?7ZP K/I$Q0;'I_=D/$DJ%SM&/;G5A_;[R MM#)^S21AG@"+;2*5);G$QQ_" M9QRG[WI5:VC6+)8$9WM]'G=&S$Q&^D(]4'F$+L%J>Q13>[:+:^BH/M_'6BI* M*ZHH+0CI.=5'1QOW2N2O%O*?+,KWYACXJ]=T,!I(Y<"0RN,%]!H+V154;1\E MYN9"?O6:15+3R.]@[N2W!^2W_WVOAG\?E.2W9>2W]PCR.P V6=VKS<='\.9[ MK:&C*IK[E0' %8JGK&( \$VUUI@UDC(W3HDZGTE'8>T(N*278GHY4#12 M8RG/?Y>,;M4J7VHD+FLST#+Y%_:3OAA?Q:=2. MQ9]]V!UV5%EY*IB\;E5X96]WT8R@_HB!JV_GR @R1&?J?HGH!2+ZX!&(GI^R MO/>]T=!>+?/W8Q']_3(6/3?P57E*HD=Q,9M,.3TCYR=U0^RT>-T18GV*=B8L MVC09F!D.[8&QDTPOF M63G-V,GGY M5B99S+;^+A^(>U[,UB YB]F6"%\%A-M\8!CED_C \+5SXP,@%HP>AJI^5\47T@[TE>?A4]I5OJJXR0-ND#7 MN3CYR!/T56O2D77R_?':(+2'@O7P?7D[PE--=7GZZ2SY9=3$*QEZ)YU7" M\][B\%P."ES108'+07\Y<&%1;?>7@[]RNM*RIRLMBRV7+?(7W2)_.9@LAYLL M.['''[0B-NEX'I6GFR5_%DUQ:'[U(:+TD:+Q"' MI6Z\5-UX@9@LK=<7M%X7B-?2J[3>'+:A>E09^EGU MT,\B#WH9X5V="._"\%PO\;Q*>%Y@2FC)SE>?G2\0_:7-M02;:X'X*WTA+^@+ M62A;+KV52_16+A"39>Q@2;+9,MZW>O&^Y>"[]&2NHB=S.;@O/9DO[\E< M&*8;I>F[!J;OPFI5&J7INPRE;('X*TW?%S1]%XC7TO1=JNF[0$R6IN^23-]% M#^]+T?7G3]YF8[H-]1FA&0^W[M^LC"RM=;B[S M*4CD?J-^\ %^U4_1/YG'XG.*GYETL)5GP6/5SNGG)SRW!]>-?2K^^(1G_D>X M<<$S^VG\ 7]ZRN[_;*=CGH@_/>&)@(7O@-3OUP@XZ]%^< >D;S[B3>?]+C8I MDO&343KZ!/SV2$2R&T2%3YX9J_F'O![:Q%0PJ*9(!;!54Q/IYRGP#1X^Q%;[ M?*<=R^Z5:">_[)RX7OK]X,W!0?WM^_<[3BK5U^??&V_>OS]H[+R>[>Z#6FW, MW:_I]D3V8T\D_+$C7!^XPL^O 0R??H9_G"0=A,#]\,16W3"XC3XXGL#6[1]W M"\VWT31!\=^_)0M-./3M>-;X.H&@>WG?2#X_93:;[#"]17^6>& M8&%4.X)OJ?>RIZ2R]\&I65^T9)K*KOJN)6/8A/JNZLE0QA^<^+;UJE9Q\/]^ M&KY$K;W>>QC^A1;RP:%&7!\_TJZ""-D[ONH!ESL"J=RB]V99=&/IB[:7*U) M9A6;0X$=QUKT MYA30TCP_,H$Q=T;NQ>V5#=*W.#DG<^U6O5 MWTCISAZH$%?$/$JV4;*-Y;.-;2&U__ZOGU.W%0H@@S#LN;X/3_ME!PQG_*R> M3I_5.ABM]!;'XPDU1!B&ONJUVM^?I6\IPH&GAFXO@:_U7^:GW*:+@(Z;BO6* M>^ZMJ+9BX?Z JY+ AR>Z=Y+($*_SA^SX?5C]G8C3P'-#?40 KNH]_ 49]B]' MQ0I_TSAR,XKZ;G@E>C).9^/,@(RXZZ:_[ 2PU41X(&%DV'+#4*8M^8!$]/Y@ M_^W'$=[]_+T\_PGJW]3/8_4)J!QUX2S8>LBSW@AQ$&Z# =$\/__6/'.NCB\O MKFZ?BRJF_>>7_Y%R<.#>_'CN6D6@,Q.;A M#?Y2 "C9#*F-(4/3A_6'--SGBC- M1O\=@Y#RK7-^*]Q9XG9#WSHEYK!M' Z+CX($,S+!S 8].>I3GN;R DK'E'YY M N\^IU?/:);6JO6]1JU6QI7*N-(JQY7FQDX:(ZKV:O*39^O9C2?IV5/8RY6X M#1)4XM)S^&5&%M.$.^2YO',KSFGD[:Z8TVM#Y/1Z=?S@>BEAW9%M)S;8 M=MS$27K"PR(%WPDB)T@3Q^NX,3S^I])15LJ*59(5VT)JC_7)9K3UH/+I%^FE M?;<()ZWU_.S78=?L&UCS3H%_3^^IP'/+I##IKOUWYJ'D%1I=E@;0$&A&@3*K MIWF:/[*PK&*I#N;'B;3)J@66F,8]9;=2+=LACAB.!X?2?T+DCWS2"3ZF%\L[ M?!G&_:XZ\##G- G=R"\V>1[G(L[H9FZ<[;%>Z76C@B4;Q#?NPZDJK_2(M!YG M';^IUO;J[QKU-[-02]YO_#0.<;!P#C$W5?I@>X(6!T_2IHF+.3)V)!;4.W_T MXR#Q X_]E) S!7_KTYWKW:O M=YWC;B^4 S@V>?;MG,O=0GR,9[LJ[MA+A]FG770YEU![AAO0<^'FZ)>=QLY" MW[;2NNCRG3;KS[V>Y+>9H@,U?3\62:+^ZB"_!* .9^V*&WS&XP*@"*F$C&:6"K=IK6'1MP/AP\(!,U MWC)![?F0S@*;__NW=XWZPAT9Z5R.B@/'(>RCE]UQ@3$ ST*N,'>' MUJOQ=1'(/N'-CV"9^[61"H>?U!$:]Y8S"0?H$C?^*%?9N\:[ZG[MB9DDVT9N M+Z,67@,7CX,T@&=S:%?$PG=Z_3CI8XPWE0Y<@48V4TB]\:KU$PH"S-QL>@"F M,OI61M^F1=_V]HNC;X\/N>TU%A#'LQ[Z4KX3M4BG2%JLHD\EEPY =C4G PSE M$^B3X_#1J;9"Z?W85@O\)DA#RJ$1KM=QO-!-DG4T0TL:W60:C5T46C^WXM>? MK@==6%I)HJ5K>LY$AGFBC%?9YO\B1U1_/7@=-[H5*^H[+GG*X]&M;0I77508_WLUWFW?SG:/3N_3US:R(ED4=\Y$ 4\&N M0;P_[!:=JAW.PBOF3(=+.>NGD8^)<<)I#1RO([P?N+$?3L"GV2K@"A+'=>Y% M&%9_@(T<.8EP$SCF/OR0]#&XY2:.+]I!Q/5=5_U0./N@["F^8/$48!&[XTK# M_R.2_)?4!&9L(?GD3('?8;6_X6*OU5I/::DS:CKGWN 'M#TO,=-PP-_=F$V1+J GAP 2WFR,_B MAEIK1Y+$GZFID ^_1K=T:2\6GJ"<@7K#H4:$B?,*G@>JNY/TO8Z3="16T>I^ M.&G'38=W<>\FHV>(;E8;^0G8=^0[KQK6;EM@!1_*(>T![-X"7^(X( ?VQC-"0#@>. *-ZX)RB@NEZE-!UY*:N<\), M.7<8LF?87!KU @:N4@[FGOYR)6[[/*&*WW-=O5$I)*_PBP.%V\9>8]?H)P$5 MH_>H&'W!9X_!8DZ32'YZZC&QL(!(4*=F58[)YAX0TH1#6(-P7,^# Q+C*$1" M)JK!4>&W\Z=SP%S5>I.B/7IR]$B:0N'K-6 M?:6V-^8.XWJC56THR"K1; MNBHY4L\[06?(ZYCT+7[&7Q!36^%HQYQ>J9KP+GV;+[#9&3KCQ8= +5[3=K:"]6\'S[]F M*T0G&BE3A#\J(V/C$3U9[!&$/O<3N#B9T0?WU'%6)???T+>M-???^/._%8S^ M6'F0^-7L1BK9?,;F-7R^$&0.&2:+G>2RK'RQ5?8\OU ,M#W! 8QERC.&YS%4 M1 $B4(HQ3I]*IY^P\Q@ SQ/B"B9VR)C>%0[PY?ZT2P2XG^X+L@(24[ M^7^5.BUW< 0WSK$TJT0NO+Z M.T 4Z.5WX;78D06)!-"(O:%AE2#T,?A8QGWJ=>.FWB7C)L9 $]"]W:A:GIY5)[(:AHO>NHF<=@K/0TE&L)8@"!E<&10UXBV\$$LP^0'(&#U).1; _\)! M$C!;BS"G%_A6B;$3I*:*$&2;F*,!/E'=DWFYCVC#0X2X\<6(G.\0@R>^0 M,,P2E+RVJ7/N$59.R6CLUW;KM:-J'H!L$-$4)1@D'1&&6B=S7A5D MURXCV@T\9WQ^2D%FY$CNY,S9+->XWR?;'1_:P8/P >5A(L9*KGP&R_I2TPT@ MQKV]!8I!DNI298YSAP5U$P[_G=1)%EB>APPG'3@ <^(;BTE.::-(@26JS@6@ MYCG_Z(<#1L!>K>(@2BN4(>7V0*%_" "= D3*_RA:.:'T)ECN,+%S6BEQW0\0+^Y1O\\?W;]=$.G",/7A0FG)< =K:@OVQJBOK= MJB]I$!I>NO/IW7YE;V^O8K4GTFO[Y#!/EBQ%O5 F".<>$)S07YZ[B>_^F2^E MXM\ )#AA>M>Y&=65HP6P6\0+4X+"B:*'I .2*1F?S[+R9^)EM+HFB>+?DJ6+JRAB+SWO]<;B@7FR9NQ:%/X MZ?G)S#1^4-FOU2IOWHZ2N WOQ^'%U>7'5O#D^CYZ+^06"*?.J>GIR8]63WRROA- M3N H+T %K%5_4Y+AGAB8MC?],M>QS'4!'&7_SKU/\RC =2R&U,\K0O5HP7<8?/BLX+3 MD3:$=Z?8YPK0".)3?\;RDKWWC6?F,&X15G*4/"I?GQC0?T["&^!^94[1JF)M MVGEYQ(#;WV78=O[7[<+2#W40]G+W<&32;8F21QPD;$--(^Q+J#V/D#4@9R3F MSS))951QOC9?(N/#4EKV5\P8V5]41YE/JH;S,/$;C"+!.?"P3>3 M!=O8>O#ES&+GO_\+6%DO;_<2].JB.PR\&GYEF1(MT9:Q^."&]^X@V<$87P\9 M8\<8*0S9O[VG_WU4>-J#Y3(\T63><5[C,G@=Q>Y!YI1Y:/ #WNV^"2*;J8:B MG7Y4B\:_/[#UKKZ)F4[P*[1[G,)]%Q -?95Q@WKV61E@P_;7B#>P8#?-ZYNK MB_.+?S4KZ)K;)>"][(I.+JZ^.C]C5G&17XI%F'8SX56?5F#--\W/9\?.Q8ES M>'%^0W[.H359+\2C/[3$D15FYP:>DO,:V5ZB82^2>M?GBZNCXZOJX<796?/R M^OB#_F/R-H=ADIV-C\KI5%/K_% SM$LG]V=R"C@%KH-W?S=N!6>2JJ+T)KZI MH6\J?.+;.3QR\M^D6#@Y+\>HWX+<%L[,$'V'*)UAO1G>1_;_HM>/WF4G_M,= MP&;Y,.@'YGL7UW=K-=.]^&\U^M_',>_,'?[AX[?SZ=+%?LUT])^T;^7%TK0[ M-R37:U.Q# =^QV8+3IX1.(7,RA8D"$84?[:$K^HO'\'5 (K-JQOG%!G,XHCG M^60VK^<_\LH"'F !=Q3-2J=XB[\4O,KZV3XX,U^Z/WY92Z/:TU0H_VA]=_X4 MLT('XV?7Z<1HG_XME=Y^_0W\W_9P$6N@N2'<^)ZJ8PWBCK?;1AU?MX^ZMS;^?0MB@5H M?9A>?)VZ;<[KP<3E32+51F.S:+6Q?:0*.M9E+'NX9E'2Y@K3YM[VT>:;G4]G MXM8-,6?,$]1/L$8>[N2HP(7A)2R3A\Y MH=WYBO7[F-<>^0Z/V' N^['7<1.N!3GF8K.LZ?U&"97]S=)^WF[?,7B'3>,3 M$=]A%^V2,E>5,@^VCS+?(X,>:82"ZGD_20+5/:5I=0HX,5T8#F7D<]L=O ;H MNQ]R&XB+'K:QQ#*GDMA7F-BW,!I2K^U\^B=VF@BPE\8:,^C.^ M79+Y"I/Y-JH<-+&>^@0R9Z88C;]IGN^-(]4MS,:H[^]\NJ!V8:<1]W$!&VZC MB/3]AA'IX182Z9N=3YFT1W>R&], Q1,9"UB_\X]^'"1^H-HA4@.LRUC<80N5 MTRCIJ3Z))5F74<Z M.2WJXX>Z2Y;S!9O2HD6Y44;D?FVSE)[Z-M:7'.Q\RLCWT&K.7%+J"E/J%J9) MU]_M?%)I& /GXCX"+ML)>M2O$_;A!I'S640"V"]Z[?AWXL)9$%)%$\PI3M1@U+7H+("WK J[-(C',BA HRBO@.%.F2)9?.E#5UIORK]*64OI1' M"X,M3.1NU-$"[02M0"68%&2>.-=>1_C]<+,TF4UK@K"%Z=<-8#7O:1]UFYOWDNBPW;NQ7SV3\@?& M9JWDQ/%K>3MF*39/,#,]9F4'./4HR+(9AF82%HV]F,HCD)/HH$K&+;KN@+K7 MHAN@K;8?JNU;T_@PJTV-0^P*-U+#._ CF%IW&(7(BIB<,_C/+:_["L]#EP:$ MPO7U]^_?[#HGXU^# T!P7FY^/B/L-Y4Q'FRG[>*LQU8_=6*74C[T5$;9C_7D M"$<\8+BXD!= MK"YHU#ZV1!C G4F%/M<_ZN_Y92-?X[#5R!_YNA>ZT#M@<_NH^"$/S'>XY"8#DW!BA!-M/.-U .@$2:M >3*""79 M M7F?"!15%ISPY$0<]6M!'#-F8P8OOL(.*$P?)#_C8QTN1$'D2*"Q5$HK;KHJ$ M);)+@]R NF$92"LM,9!X'2*?D]4JZE>B:Q%+"8QT$ >-JTDF0XCF MF243MJPVJP\\T[H^%B&@#AUSJ:RH9>C+$RY53#MS9Q \"U@14ZXIE6-W:-K5 M) 8GB6Y)W1^X:$>V0LT,<#PJS:?#,];#\6[97&N:T#F)LLP3T1T#Z_0L^1#$(?@'1[]-1B6N*(+W MN&'?3?6L4)MG(X&@9)L?T]Z=WAJVL;\D8FB:5&H M;J8Y^8;1G^GO#T$*^_5V/NTZND6>8[ISSO+<[.JE*C%%J/K"DNTIN'J6$O,M M"FG\N#Z VC#X'$$O4')8"*DF_!=9RX,8!CY1<+CJ M,_LB <*HP'_O1"A[%9PFWT<9@BP3E^QCD7L ,@<^.JU8NJ C8;$#LEI,0@2) MF YPAF=D"MMA:RY(T#_[09*559HAS%LSX!S7OT,Q#4)/>)T(K*?;@&F&7HGWH'((_Z%7_D5_^)KW\N( WUT0%T$O M% ZS9Y3# %T0FEVJDTNHSA\UA<)UP>.DWP#O.X!$X,&^O8[HHNJ*?P(% V1CFA_=Z^"9Y&^[_2CPM%9D4,#B3$J? MUM("E,5@:%:THFKA#J *.HWK_7!O=8T)MBI(D*[ILQ75[%CV;SL$>GD/Q\X%EH'((,CV00+G##<=$M+"SSYL&>>F7@O046[5:K,)>:48U>6I8E0_ MT:YN1)(JUPP-PODJ7$PA)L^EON6&?OJJ[V--Y_)4OU.3;3)\ADFCX1.J(!@J M1M5#C3;!QM:^4@&1%?^S'W@_SERPA7Z&2T9=[ =O1D>QD9,--G" T\KAKD\5 MYR:6?[C10[NR09'2^HMT)I'1V=FA., M"#+G&2>8]W#;MLP-\8SDY;8^ZZX'2E@B42)- V(C7WGSS[3%A<.&_ZC'_$H;0*O@M6S.V4DXUME:-BCO0LO29B%-/:U9.?/ M>P?CY_4^RP:>Y+(>08UCX^+=T#B2A7F^"PRRNEY\&7Y8H?##4?ZP66;_DL,0 M6C^\N,-$);APR<$',!1#96T8KRW(>3+@656Y"Q+L/O*7\NL-66;:RAPV+MG6 MFJ"#5HJU(_-K3D5525RD#"2"@@"W,;--;=3=AK*%+MSELW$0>4;K&ZM#YQ3A MO#;+.AI;3OV$78BLMDE,/J:+T7 4,7%J%]5U94&2FS66=VA>J35DMF%%P8;^ M!!O1^T%_T:/I+WPP*0N$%AGVS3-=ARPV-X[= 9X/ $T?33JM,EM27J+#'+6 M.W1UI'2Y']RB2\TA#J3T$0K" A+RBDF(1\'>75YYJ4R7&%,O\"F1%?!?9E<'%E.] SATA<,>?T6'&16#Z@2@A74:S2NOG&G5[N+8&&@%E ]:T[T( M0]:>"-+&\1(RL:0N*]KM4#P$.#@KL_AUM((\3"GZ3>P BK;F;(4PB'ZP.2*! MG.#M6N, K0!. *("4(ZTHLBD@K24XB%C=;!#L1.D9Z ]X<8<2J&08)!9_KO. MA(.0UR"9NHV&++4"K5H/:RW:#1.9>6%L ANF$J.RDC_(@$I#/L]->MC= /0A M9$ M)EU1W&V,$4HXJ^"&1$2CW#@*:U&0PJ>"-3Y1R0XF(^3:,3K*')08\"TM@\)L MH?3450I(0KD:X>W"58!*!*CX<:(C.[1B=1FHF@JIZ&Y6SD%?>0M]VTG(W!4I M2?83O3S93WO]-',73A @[\8($%OK:3Q6@$P+2XSQ(4T-.BQ$8;C(&WF&J, & M$.ID)Q_&";Y*7O*!9:DH%B5W!9]K/8^P#.\(!^.,:>8C5#\?*);#W!YN(4+U M4: B=7:,Y]&#\QXA\P ;U)3VP,7 L3-R1N>TM+($8J%?A0%=P^1('2$O)CR MN:%Y!-.I!I-B LF(9-6B\OER#G:+0@[^,R+@F'R046BF%^1)*1/^F=30WO&* MY;*GO!Z4 M_(!M>KP#E;KLO"J%Y&_%+(TF)@!69 M%*YW0H=FY1:<]-FV])1,;[;UL5R8*.F"AH[!HX+H3U?XY&'5+ZD $E%# M$_U4W=^#4]JUOV#;*QJP.HA0QGN"W"YA"[(#:=059O.V>;8[ M;.05!!>==A\L 1UF0(R[A4H\[UDK_^2^O:4+,+>(-'L%!L1[%\!%44%TJ,9! MJX6LG4UU](]B_+.7!GB5G1U%1TGVXPR3F0P@A1V5.]3),;@).T2.0_>,$CY> M 71M&IB2X[>*,GY?53_I*ZR \U?X7BB77,OB PTB4#,GHH3G^/&7B4%HFZ M5H"Q6#9&Z$33L0=Z"D7FM0:0D[=-YTO-+@GUKC7-(X/2[@IX6\S/A44FFJ_$ M@FT/(QJ?^K+,.Y'FPMAHHNAV3>3LQL:[.5EOG"-DT8&@@[MFP7.]4?NWD?PH MMOM!2,YR.HF8M,8@9&9* 1Q NO-;X,;R_S@]L&GQ ,.KI>+O!&RM]!%C:?=C MY J5F6D/UR0RXG,PN"V,J:^T7<DT'V^?O.V]KZ*F:.@K0M?RQWCNK/N159, M6M.(4RF3LB*Z"\ (IZ:[)$%UT(?48D1RD+EZ@='' PE6$-CL;;#N_H(G() , M8(0;$V\#J-7?,W6-[',6P.W5:C9IX'/:09RDTV]^P[Q/WTUR4 5-E<.AUY&I M#E;;2JQ67?/GWM&)[T5.%3R0:QR):I21J.5&HO#AEH:A=3PC8G*^CEG.R;LW MF4: Q!CACME+H6PA7U39C85\Y0^1%JDFLXN!O9IM(,URQUMS1R+8[ $%EX"# M.Y_Z!.(>F0<#E+)(>B!ONV+(CIQQ!]?5_7K&6_Y]C,OI1\&??6%<'H76]I"Y M;VM9%@-PY?LMET%;C[DRU(.@ FI;:@F4-9IWHYD1]50 M*"W3U6]FH:>;1O704HJ,#J[AD\$D;VLU]E\?F".HY4XEPT($ZDJ,_FA3?1)P ME8'1'CCN><>9W;,X ON)48"4?9^W2V?=[YD!/!)+Y,8Q*%B*PV2^D-R."3=M MY=JC[*W1&%86NMIU/G-=C\6B.& YTPKWJA>7F5Z9*0[H>P%:_A',PK?F%4(T MIM*(>HN!)Z5:4O0MR>@V\R]$%'@U![(--UF>'\M]!&9S2\(_F ?<0X.+/ %T M_3TZD;#P[$.#Q8'8UJGRB;0]X#!)JGX)U47B&[M'=0 _Z]B^T+JBA M[:[3S/,'.VZJT8@D4>154Z&I_8H*(RE(S. G]0-1]?IIQ19)(;"^2%=-HI&\ M0-;354$'Y?'HHI=5F[QM*5.6% #,2/G>AG7)9?/_S/=D11^&\OP)==H/D//L M$_Z-,\@$2H;].,1[RS6O(P .:G(A!4!\*J# M#L73).0F<@HDF&(']A,0$:P+RQ\PD$Q!*VH:308@ZR-*:)''C;\QCCI+NZ3T M<4O:D_@3OL5!7(I9*_*UP%6$T^53:SZREX@P3!X=\Q=Y8M4!?W/E:,8K\RC. M)W:57:)*'XE:\0R!]GY+;6AO M,+CP>PQR)GY.W8]QOUB42.91=C*2++^, J]=5"[<>& C4:5QZ/1HV(H7N^V4 M(Z'(N?'XP/6]@*<<$^1)B^&D0?6ZQ&T+I@S)Q-P MK0JG)H(1DPYZ_ H/.X]0?Q!Z=E5KBD.U02IA2.?+X0HX#TVE?:1*PJ@ G][9 MKG/\ -0=\KL88SK+3*$K&'1'" ,,M2XE*8%2#[@^6?7]PTOU[G&UG@@M#\ TD884",/Y/O'^Z& M8X6[U'TRZ-==IJQKT$B\SG,HZUA7O27T*&%Q.P 7'*" 8P*:G#*B(4ZEO[T3 M< 94ZA2L,\)T4Q.]T]6SM'_S0F">F 7.WHN14T6/+UY^VVH6AQ*3,%N,1Q'UT3$\A"8!%57%H9IUA8VJ! MB9!?^F&;^6$ERQ5.-*O[;S[G7)8D9/U] #,9FPW_I#9*'.9H)= M5_1 =UKI&6O!3E// V2*^A5,W &IS:>X O9.(".E5@&OK"8'V97F$5D18*\? M)WWEBM'2 L-L![G:0DP+> ()QC(!$KL">I]D^GU2E577#17H:&U?+,,4S"6 M=_,5(#A+0V:R&5];?GSML4<[JY0PAVB(:U&<+K/Y*@0)>, Y9.]1^5+8MF1'6+R=("<%+1^?&8A8%C 4Q,S M_!L+M]@()S !49G0Q@ ,)678@SKDMEB1R&J$W[R D^THBWY(@J"G$25,^ L3U683M42VBYALV&(A*B/8N2! M@,;6A_8I09LE\T6XB>F/X.:H=;3JU<&7DQ?VSDTX_1"-O:?Y)I]7EGQC\A:6 M79!,12*8&IZKHR.7XK1J9$X$I5@K(.=5_2?F&"SH*=9*5O*KAOK!6&7:/E&_ M[ZG? 0' 00;D4[:2HO65Z&C6[@\0R:J83-W$=196S5LJJ<::$KQ9Q+W:UPND M@C7[T93-J15TJ3V-8_8^(/.,7(#8V36#B4>69RQ4-K:(/&-ED4^P*F_A-5I*7\(1$V*_-+[(?\N'!RG9;3"K+ ]59UG5*P^SV;% M'_G9OM+44N=J@P=6>9QJ1?6[X#9B.JJ""GF(5-]G&"!5#E3'6N,#57(IY\JT M.\>0BP?E3P"'THTK=AH_%^3 W:%,$FT1F.TGXVLX+2V_@FS.L!;L0!NI>GH@'H%I13ES# .[ MD>EP55"2KI]$=2#.*ZT.J0[*@0Z5 \@RK&7>(6TBXK<_52CWR$!R"-7D_0]I M)Z@6(LTATZ/VF1JO+W#VOXX$9ZYU.LCRS[_MJ^(4IG8^KDZ(N!=V8!E3!G:= M*_<^2SO)%Z AE+.B4_?.!<2B4DYAI-$LD@0(S%,'N>[+7RW M[7W TSB#1@H0[4@@X$J636(2P-0HM^$FG:")!+'7#X!$,3W,R=ZO&AW$D14Z MU[T, %58"W%GRUC5EL4(US;UO%#/&YBL654@E1!XB M\BEKQ-/6"7 ZCZGTY4L)S]6RO6TQUCC#%4Q8'K4&U+!,Y^D8U,LV3Q#KEON M@!/:Q7KZ7@+$=,J$98>BFA5-J$[C504Z_7IJ_!:JROF")&F!,9 MTMITVW+UK$=MU]--SOAFNU4;9RVATPL0B@H^DB;ZS)0T5GQ 2;_L^=Q%0#GZ MU$7ZUBYYUY!.6]CKSDTH2974!/16 YU3YHC2T"(JXA-QW._I?$/>N;W%K'8] M'MZ6$F!X>MIMK0]D8OIW;#!.Q[>KK#[5TK[/O37,V ##^K#KO5H\'0,K4$X5 MX%/75;!3!AZ.@?2HS(_5%X]"!G"C"9W^B:$)Q#]:XMRTUS1-Z8'MFG5*H3@5 M5Z3KYK[Z3"16O)#<4*/Y'$JK4Z\S1AZ&0#* X-0#M3AA A-AT!:6EY.#9BHE MB2[BH IWUL^8A,4:7D0&JWY-2@-7-;34ZV/9(EC9C%8LR6ZMK+INH367-?4U M5?C*^T%)!?G&Q=PMPPX_9=63&=&0$]H^R"/I*N0_KK^IV8K^&H>.]LO0T1Q" M1\\E>2WA[CE"[^K2B5"-D8AFJ/PFG2"S\I1XRC2UQ]2P[9BI91;"RL* MTFK!!;]'8)NDU#]C:.56R8I)A%1\?+37.U!410-'1H:]\BKH6*J..55@\3V) MJ6':\UV9(1;Q NE9UDAO/?/'2!AC@5J@I@PMV%F@50#;.-&=".\%-2P4RO5 M:A^UDBYX!.B6=T&<]H6ENO30!,%4%-O#IYT@L>CU=;:U1U"!6S.DM.Y'OE&PG#IC4 %I5A4\26VR(U*.0 MZDMD_]E-\4SV96N@\I%5%(;$(MA2"66\9FG7,W:_URX%3L:U5"-^>JYO8L49V@[@I4 M:6_W5E#"?9"EY:H>2Q9,,U.+WC@*53:8F!183!&G.H23[P,[.^P )"K.D8C8 MYW="W0TKSA=,]HV %K^ZZ,U'G_U7T&\\67&N815N3^JN*-;^?X-??*JC1QU? M68Z<^2^ZO5 .]%1J7ZCA*+GB"TK74R.61GW50/B8F*Q4GUJ-\3PCA9#-J!5+ MTQ8TKV-IM>IM38='\JK5$@_.N7383,W:%+D\W%NE=-9K?V?3/3:<$[/^8AP% MU1=<#&88T#Q[WQ8W2\$7HH[\S M@XIDS"/&W+@*/**K9XNI]GXQ#?BS#%:_;[R_;70PX/G#^BJA;B]H%)OS=7"_ MS8E;5+PU*]RQK&JTP[#-1B!]YQ5B+7-LDN.-?DF05)C.NVOD:]WQ7V5T< 4G)4J9L(AA>)?D-S&I0W>EE%*(:^CEJZ7A ,3$0 MC',1:YC0L#\I?Z )GO=*6W40@55QK*L&T-3Q7"K58Q4ZF:UOP=0+J"4/EO]R M\D@^\<)P*.5G4E,H]"&'\_(/V 3H0ZH]?IW:V^[1TK#/+94+_\_>F]UW? $< MWE#WZO^?QL'0USA-B\*9=#A?@(5]01D1J9D@>-9>R#]!^DR6I%M4!7H/)S8& MGL.%93[K)BP<]<)')TWV>MSK#=UK_ &G!2;#LPAM[UW%BK"9Q'+&DO8/&Q>4 M)[T?O2 U281Y[E6D M.XNFHF>5F!N#)&2[(=0SXC#JSN_ M($'X?53V)O%1T)YK]R+GMVOPJZH8EY$ MO4\84JK )5(UP]H0LQI]_(DQ3H)RTB.)1'4M'IG;81]CKZDNPP#[0_E^$^/U M[Q.!@.7%H6=+*WV9/$65_X02CN(=,J5F$A3ORGZRR%]5T=]G&8V%/V:C=E+W M05F?2B'32N6WW>M=>S P56,\L*\=79FJHL5T2+\^/C0=TF,]7(@D[)V++5G) M2:!BY_0^A19$:K[W9[^SJ["R+96R8Q6_H#W<,ZJ>1]K[&JX M3I<+8K%^Z('^Y&07JG"PJX[TD"1;%E2L4B:>5*2F&5 6GN7^M (9606L"NK? MBQ:6EF.7>M#RTTY%U52I$(H+!H@^<*H\A9^'V70@/^'<)MAFE*XV??^LKB^6 MQ9S%"ZQ*^@C#]FTL+F+[Q1,]TIXX/T+'#%YZ#IN.TRG%GVB2VE90, T1H!-$ MR#5F3"R^DDA]1#Y8PPR5=FR/YBVZAY/05'0P.S!FE9P0H=+*\NPR3S>%=%F< M%\*I.M8MIFYVZ SQZ1*1%P_4(<%TSU@GK- L6V: S/,X\=5O5ZD#8+Z:3KW8)L4Z M8&UL8H&%9C3T3+5+I>)H.FE#29MXLCO8LXN#=$J%#")ETUJ",S=7.\_:.",G MS=KD#MU*SCDR6-FI@%:?H!@PVISFK=AL/5%#S2)AS30;+J(T^R?F)E7XVP*6 M"7P;.(6A;WWO M"YADQ\:WN&1:;1* BLU;+!/B=?G.WOM];J%'QKYQA=JR=;]FNTA]7\\6S"RN MT9P].X04F"&,:%/O.A=LHA6^M?'^#2PO\UT,>:\/#O"'XSZ*UHI3K]GN8O[4 M3 *7!>(]%@$HS_!+N$DCX_ZTH$>MO+*!)ZT!MM7%)D.8@8U$CY3+CCOZ#21 MR!X%G!EPJSO!Z(S,C^@.!'7/T7.3LU?!WK7#G/-TF.'8NI ]1(.S4Z:\[@5T MR.NLK3*;GH4S&*E1U"UVHT*'>Z+9AV5-JF"?3ES^(09Y6%%/+?0WW@5^G\O" MV8"1NHV'"4?&,LR2@K%V3O83M.(X7YW2FH*$,BQ":48/Y5^H+7CE$AT9/BVB M6_VVI!_?B8$J[Z)7Z*&9RH'>DGI0 '<^B059EF1O*+ $Z#OT*&5-1MS&BK6Z MC$?2WU'"JJYJV41<%5 ?J^8^=M])NUF*%3WU)#& VUPQIS',P5:+@;HIEH$B MTMJFR9G+ 6KU!OX< LM#Y_/+M/E1SC5?B!Y[:<#:4350G(]UAZF?U#K-)>\" M,FG.NN20.!>BF%$SA ^>*H'L6WWM"Y2[+=7L@7W0O&N6Y!T7^WUTY#U*$MT, MB@QPPB?C,L&\;RP6T&$O"ZD\;88?:<_G;FL"R!+D/@Q30 :OMYG5,-:(R!D- MH"%SK9]ZU.>+JZ/CJ^KAQ=E9\_+Z^(/^8[*0'\98BSS/'VHYI=P#.["'1FQT M^\M.C3^CXUI]YK48/=^R"0(J,_C@WLG 5Y?Y>:7]S=^S3:5^X25[?_]84 GH MT)^_[.#!H,G;C<;;\<^H%SZCX,WV4_4CBNZT<.CDT>:,5[QFQ,&0"0/J#W=@ M0K&!W2$H92)&'W38%T!3>GJ,AX?+. M*3,P$S/ZW ]"TI&N06%7U.[\"U_"G(O@!/_$^ ^27DG))24_CI)O1#*@S GEL[Z#E$R^NO-42!]@P>/ MV4U9E:,AE;Q!U;TU9S@$Y'SQN6,MMRGN@-Z1D%)[JWNLY7P=)B+%-0E=S.R+ M2R(OB7Q>>HO+-E8JANA=AX9(!_=C2AU#8KZ57&RJV?5?(I;4=4''CJBFDZ?/ MY ;#ZLQ!"@1F<]Y4) UNUQ534VE[*9$D20D% 0^Y4K4D5.-C]#J*2O0#U;;1 MV!MZGRV!H71ESZML1&7$*"8P5/AS,_("]M]07!%=I3[;T1$LM!-0 5C :7TT MDB:ZE3S79]B6SUG,.4N:J_?<;BYTC@;T71:Y-:/>?-'EV+F5GDEW8_JM_0[% MQ5 ^^ZZJE5)6^>H9V$?484#S\=.(LMU>;*3NL,M?6I8KRYD\<6 GO^@6*#.R M<.+GMA3H+:E&M>9'L,MINL2=,"%_(MW&1XQNZL+-+,*I?K0+PU0MI0P#3Y61 M 97'?<5$5"DNN_$_YET^E!#((AN MP'7EMX(*V?FD:P"CDS,=Z'-= &XU,4_X.;!AB!\8)M<5ZB292KZ-1:13FM.9/'"82L43N512(15E1^9N !0P>^DVLM@<>#1!/)!C59C?+C MR)$79]V2HHMK.E'KA^O MBV$,RC+'4X_:DI;C.AV9H$4=MNN0EF5"#0#.9F M<'9"E15M4Z9O!VFR_%Y^#@DAI=KH5MZ49$CUVKFT06K_SG=1<3ZHUSBP6&G: ML1ZNP\_ C-,6B@SEK381"UPIZ=?A@-.0=+93K*-KCH![9!/)OH4A2W_$$S!7WT,F MUS,W!*_S0\W(7=(Z?@:+4_TQ["P I8#-TN'?AZQXWKE^I[Z);WG\ QKY!^37 M]-8\GDSEF;PESLR@(^4P[[U0.H]^!0-3X[J^6T/],@%SP'?^5J/_#3M']-X* M2BMFUGOJ>5[P[K&LH$@9/7=Q3G"O"-2%.]!$/=;/,R=(%1FP.:[6M$;0K=K2 M7Q2CERH+*^]-RH[YW(X)>S=!QMV"^1WY565=>)X Y778-SD/CY]M2" ZT/RQ M)5!5?_DH,?0%%%0[B]_#9\NIZ&%CK*^[SB48X&[LN2M"8K47)S'EF;TPZ+F!+NR)T_K'KG+LI=8U8*-' %F>AF#?O7X!B5@,C>;IULM[B=JN2:\XC M#3PT6RFHGF@F:C4C5UPTK]Z5O+/0PR"[SJ$;A^%J<,PW+R^42?9^41XS;OT4 M*R[:U+T';:/A)8+07^-=WC>IXT['59X;*H<8IY?F'3_8.@6V?2):<5:70649 M]?U=9^@%?\B HXC9[4'D7(M>*J@/%-S4P%=G+RV *:\K2QNS=1WL;N#V>I(; MU,YVG]3%'+S2QGM:_!YUGY#D/<5EZU(FM>[*\-84W,CQJFI4\#$UO-_4BO#N MB!CP>5J[1Y!^%3[W$6KZ=P&.CZPX9V>'%0I6\#<#G#;?-=V+J!+$5VW:OKI) MXGJ=?B+2-)<9G\TY]&3X3VXWW& @7UGZ(#]7EKQC*\4<76.A"H(=JT6=HGH!BJ70>4Y9,UYDUS? M*!LR9^C7#J,AP+Q RS<-"S)8ALCS24K\\/'CZC(\*KG*J$:#J/C=S%3,"\R0 M98CTTHW3B-][O7NX:^A3D:=5T&:E95)A<(@=X!35MC,Z42D$UB%YMSN\#N1$ MW&<+CT1N,G3_H7&SU_S L9QF%"$("MTJ&A1 M8.9J$N^A.F/0?6/@D?E#]_?M]]:#:"QX\;A4 >^?W: MI8HL]?:6$%$6GQQ.DF9AU9'A%]Z2?\8G0S @??ZXSW8@A MV7PJ/XKD1FC]6?4"M>:-Z?XN:.'VN"L'"HB H] JZDP#9VO[E:'G9ALQB0CT MF!<([A]*[O5RG%**T0O,*:+6 K[L(7]U';V>0Y7IF[44"SAQV*6(/$_TTI'V M2A:CSU4P#K$^6S_"^\?9@KJ_TN'Q139->)R:8BX^,1>K,EQX6=##_,JLRY-: MILY6$2)-[/D*7*]#&93JJ9X"AR#TJ!>@=*;:3S8+3D%+8RK=K[W%B^VFC.J%Q5XR*T^^I=CR"1O'% M9@[@*=6_XE1%H9/(9*PG!LI6RJUN57&X:MM4F9:0[+RZO[_?=:D^%@X90'\7 M5+>?U.8JULBDCG")!A2,]6H2Q68.C4W)C?I04U4_95^ 6NKUN=9>8^5W02G; MW (-FX.$,N&N&2Y^BN@G01=63 )I8[3^&(:\',@ ] AV>7%0F M$A>]0#="5@EVE"##8YC,X%QN12UYW !U_;#S9?+ ?Q)C>@9G*&!433.LY@63 MYVB.T0]A3<[)PVD,#=(ES2C"7+@KP1,)(\POFV'63+U6_57IPDSH] T==;6;":QH!D[Z3IKT/KU\CL23"V[V5=XL6_3M.X(/^*;W] M^AOXO^^-J0DRF5BI-[6(F'++5!9]A0TW3E2#^WP3V"F/?J&ZDGR.(?4+T?WY MDXZ>M83--[!+SL!,'V3!K!._X4ZC^U7,D',B.?TP3%Q5TQ+L\>7%H_HJ5DVE MZK)4<<+@3QR=:283:SW%3&C=A46,= /*[X@; (-!W@+C\1Z;+E*'/-W)B: